Saltar al contenido
Volver al blog
integration-guide11 min

Shopify MCP vs WooCommerce MCP: Comparación para Desarrolladores

Comparación detallada de los conectores MCP de Shopify y WooCommerce — autenticación, mecanismos de sincronización, modelos de datos y patrones de arquitectura para comercio agéntico.

Resumen ejecutivo

Comparación lado a lado de los conectores MCP de Shopify y WooCommerce en AgenticMCPStores. Cubre arquitectura (servicio Node.js vs plugin WordPress), autenticación (OAuth 2.0 vs HTTP Basic), data fetching (GraphQL vs REST), modos de sync (full vs incremental), cobertura de tests y proceso de setup.

Publicado

2026-04-06

11 min

Autoría

AgenticMCPStores Engineering

Core Protocol Team

Categoría

integration-guide

ShopifyWooCommerceMCPintegracióne-commerceconectorGraphQLREST APIOAuthcomparación

AgenticMCPStores conecta agentes IA con tiendas e-commerce a través de dos conectores principales: Shopify (OAuth 2.0 + GraphQL) y WooCommerce (REST API + plugin WordPress). Ambos logran el mismo objetivo — permitir que los agentes busquen productos, creen carritos y procesen checkouts — pero sus arquitecturas son fundamentalmente diferentes. Este post los compara de forma directa desde la perspectiva del desarrollador.

Visión General de la Arquitectura

El conector Shopify es un servicio Node.js/TypeScript que corre dentro de la API principal (~1,630 líneas entre servicio, rutas y tests). Se comunica con la API Admin GraphQL de Shopify desde el lado del servidor. El conector WooCommerce es un plugin WordPress/PHP independiente (~41,000 líneas) que corre dentro de la instalación WordPress del merchant y se comunica con la API de AgenticMCPStores.
Esta diferencia arquitectónica es fundamental: Shopify es server-pull (nuestra API obtiene datos de Shopify), mientras que WooCommerce es client-push (el plugin WordPress envía datos a nuestra API). Esto afecta todo, desde la autenticación hasta la sincronización y el debugging.

Autenticación

Shopify: OAuth 2.0 con Auto-Refresh

Shopify usa OAuth 2.0 con verificación de estado estilo PKCE. El flujo: el merchant ingresa el dominio de la tienda → redirect OAuth → pantalla de consentimiento → código de autorización → intercambio de token. Los tokens se almacenan en una tabla ShopifyTokenStore encriptada con refresh preventivo automático (5 minutos antes de expirar). Scopes: read_products, read_inventory, write_checkouts.
// Refresh de token con backoff exponencial (shopify-oauth.service.ts)
for (let attempt = 0; attempt < 3; attempt++) {
  const delay = 2000 * Math.pow(2, attempt); // 2s, 4s, 8s
  const result = await refreshToken(store.refreshToken);
  if (result.ok) return result;
  await sleep(delay);
}
// Fallo permanente (401/403): activar flag needsReauth
La verificación HMAC usa comparación timing-safe para prevenir ataques de temporización. Si un refresh de token falla permanentemente (401/403), la tienda se marca con needsReauth en lugar de fallar silenciosamente.

WooCommerce: HTTP Basic Auth

WooCommerce usa Consumer Key + Consumer Secret estáticos vía HTTP Basic Auth. Las credenciales se generan en el panel de administración de WordPress y se almacenan en opciones de WordPress. Sin expiración de token, sin mecanismo de refresh — las credenciales persisten hasta rotación manual. HTTPS es obligatorio en producción (requisito de la API de WooCommerce).

Trade-off clave: el OAuth de Shopify agrega complejidad (refresh de token, flujos de reauth, almacenamiento encriptado) pero provee rotación automática de credenciales y permisos con scope. Las claves estáticas de WooCommerce son más simples pero requieren rotación manual y otorgan acceso completo a la API.

Idea clave

Obtención de Datos

Shopify: GraphQL Admin API (2024-10)

Una sola consulta GraphQL obtiene productos con todos los datos relacionados en una solicitud — título, descripción, variantes (hasta 100), imágenes (hasta 20), precios, inventario e info del vendor. Paginación basada en cursor vía endCursor, 100 productos por página, ordenados por UPDATED_AT descendente.
query {
  products(first: 100, after: $cursor, sortKey: UPDATED_AT) {
    edges {
      node {
        id title descriptionHtml handle vendor productType tags status
        priceRangeV2 { minVariantPrice { amount currencyCode } }
        variants(first: 100) {
          edges { node { id title price sku inventoryQuantity availableForSale } }
        }
        images(first: 20) { edges { node { url altText } } }
      }
    }
    pageInfo { hasNextPage endCursor }
  }
}

WooCommerce: REST API v3

WooCommerce requiere múltiples llamadas REST — una para productos, una separada para categorías. Paginación basada en offset (page + per_page), configurable de 20 a 100 productos por página. Los datos del producto incluyen: id, name, sku, price, regular_price, sale_price, stock_status, stock_quantity, description, short_description, categories, images y permalink.
// Llamadas REST API de WooCommerce (class-catalog-sync.php)
GET /wp-json/wc/v3/products?page=1&per_page=100
GET /wp-json/wc/v3/products/categories

// Cada producto incluye datos de variantes inline (sin consulta separada)
// Las categorías requieren un join entre product.categories[] y categorías obtenidas

Mecanismos de Sincronización

Aquí es donde las arquitecturas divergen más significativamente:

  • 1
    Shopify: Solo sync completo — paginación por cursor a través de todo el catálogo, normaliza cada producto, persiste con flag de completitud. Sin sync incremental (podría usar filtro por updatedAt pero no está implementado). Webhooks planeados pero aún no activos.
  • 2
    WooCommerce: Completo + Incremental — sync completo inicial en lotes paginados (100 productos), luego actualizaciones en tiempo real vía hooks de WordPress (on_product_save, on_stock_change, on_product_delete). Los cambios se envían a /api/v1/plugin/catalog/sync inmediatamente.

El sync incremental de WooCommerce significa que el catálogo se mantiene más fresco con menor costo de API. Shopify requiere un re-sync completo para capturar cambios — funciona bien para catálogos pequeños, pero es ineficiente para tiendas con 10,000+ productos.

Rate Limiting

Shopify maneja el rate limiting automáticamente a nivel de la API GraphQL — el SDK respeta headers Retry-After y hace backoff de forma transparente. WooCommerce implementa lógica de reintento manual: 3 intentos con delays de 2 segundos en respuestas 429/503. Errores no reintentables (400, 401, 403) fallan inmediatamente.

Integración con Herramientas MCP

Ambos conectores alimentan la misma capa de herramientas MCP — search_products, get_product_details, create_cart — así que los agentes usan una interfaz idéntica sin importar la plataforma subyacente. La diferencia clave es el descubrimiento: Shopify tiene una herramienta dedicada search_global_products vía ShopifyCatalogService que busca en todas las tiendas Shopify conectadas. Los productos WooCommerce se descubren a través de la capa estándar NLWeb/búsqueda de productos después del sync.

Cobertura de Tests

  • 1
    Shopify: ~1,015 líneas de tests en 2 archivos. Cubre intercambio de token OAuth, verificación HMAC, validación de estado, parsing de callback, flujos de onboarding vs reauth, estado del token y métricas de salud.
  • 2
    WooCommerce: ~200+ líneas de tests E2E con Playwright. Cubre activación del plugin, UI de settings, API REST del carrito, validación de API key, firmas de webhook de billing y enforcement del dominio del merchant.

Proceso de Setup

Setup Shopify (3 pasos)

  • 1
    El merchant ingresa el dominio de la tienda en el dashboard de AgenticMCPStores
  • 2
    Redirect OAuth → pantalla de consentimiento de Shopify → autorizar
  • 3
    Intercambio de token + creación de tienda + auto-sync (automático)

Setup WooCommerce (5 pasos)

  • 1
    Instalar el plugin AgenticMCPStores desde el admin de WordPress
  • 2
    Generar Consumer Key + Consumer Secret en los settings de WooCommerce
  • 3
    Ingresar la API key en la página de settings del plugin
  • 4
    Probar la conexión para verificar acceso a la API
  • 5
    Disparar sync completo inicial (actualizaciones incrementales comienzan automáticamente)

Tabla Comparativa

AspectoShopifyWooCommerce
ArquitecturaServicio Node.js en API principalPlugin WordPress independiente
AuthOAuth 2.0 con auto-refreshHTTP Basic Auth estático
API de datosGraphQL (consulta única)REST (múltiples llamadas)
PaginaciónBasada en cursorBasada en offset
SyncSolo completoCompleto + Incremental (hooks)
Codebase~1,630 líneas~41,000 líneas
Tests~1,015 líneas (unit)~200 líneas (E2E)
Rate LimitingAutomático (gestionado por API)Reintento manual (3 intentos)
Token StorageTabla DB encriptadaOpciones WordPress
Pasos de Setup3 (flujo OAuth)5 (instalación manual del plugin)

Cuándo Usar Cuál

  • 1
    Elige Shopify si quieres el onboarding más simple (OAuth de 3 clics), gestión automática de tokens y eficiencia GraphQL. Ideal para merchants que ya están en Shopify y quieren conectividad con agentes sin mantenimiento.
  • 2
    Elige WooCommerce si necesitas sync incremental en tiempo real (sin lag de re-sync completo), ejecutas tu propia infraestructura WordPress, o quieres control total sobre el código del plugin. Ideal para merchants self-hosted que valoran la soberanía de datos.

Limitaciones Conocidas

  • 1
    Shopify: Variantes limitadas a 100 por producto (hardcoded en GraphQL). Sin sync incremental aún. Webhooks planeados pero no activos. La búsqueda global de productos requiere credenciales separadas de la Storefront API.
  • 2
    WooCommerce: Sin registro automático de webhooks (estrategia de dedup diseñada pero no implementada). Mínimo WooCommerce 3.5+. HTTPS obligatorio. El cart bridge es grande (~9,800 líneas) — área de superficie potencial para mantenimiento.

Qué Viene

Estamos trabajando en mejoras al conector Odoo (sync JSON-RPC con soporte de listas de precios — ver nuestra guía de integración Odoo) y evaluando PrestaShop como cuarto conector de plataforma. Si estás construyendo un conector para otra plataforma e-commerce, consulta nuestro quickstart para desarrolladores para los contratos de API.

Preguntas frecuentes

¿Puedo conectar tiendas Shopify y WooCommerce a AgenticMCPStores?

Sí. Cada tienda se conecta independientemente con sus propias credenciales y proceso de sync. Los agentes IA interactúan con todas las tiendas a través de la misma interfaz de herramientas MCP — no necesitan saber qué plataforma respalda cada tienda.

¿Qué conector tiene mejor sync en tiempo real?

WooCommerce, por un margen significativo. Su sync incremental basado en hooks de WordPress envía cambios inmediatamente al guardar un producto, cambiar stock o eliminar un producto. Shopify actualmente requiere un re-sync completo del catálogo para capturar actualizaciones.

¿El conector Shopify se ve afectado por los rate limits de la API de Shopify?

El rate limiting se maneja automáticamente por la API GraphQL de Shopify. El SDK respeta los headers Retry-After y hace backoff de forma transparente. No necesitas implementar throttling personalizado.

¿El plugin WooCommerce funciona con cualquier theme de WordPress?

Sí. El plugin es independiente del theme — opera a través de la capa API de WooCommerce, no a través de overrides de templates. Requiere WooCommerce 3.5+ y HTTPS en producción.

¿Cómo saben los agentes qué plataforma usa una tienda?

No lo saben, y no necesitan saberlo. Ambos conectores normalizan los datos de productos al mismo formato interno. Las herramientas MCP como search_products y create_cart funcionan idénticamente sin importar si la tienda corre en Shopify, WooCommerce u Odoo.

Fuentes y referencias

Artículos relacionados

integration-guide

Odoo + MCP en 15 Minutos: Conecta tu ERP a Agentes IA

Conecta tu instancia Odoo 16, 17 o 18 a agentes IA en menos de 15 minutos. Un conector JSON-RPC, cero cambios en Odoo. Tus productos, niveles de stock y listas de precios se vuelven descubribles y comprables por Claude, GPT y otros agentes IA vía MCP.

Shopify MCP vs WooCommerce MCP — Comparación de Conectores | AgenticMCPStores | AgenticMCPStores