Shopify MCP Server

Interactúa con los datos de tu tienda Shopify usando la API GraphQL.

Documentación

Servidor MCP de Shopify

Servidor MCP para la API de Shopify, que permite la interacción con los datos de la tienda a través de la API GraphQL. Este servidor proporciona herramientas para gestionar productos, clientes, pedidos y más.

Shopify Server MCP server

Características

  • Gestión de Productos: Buscar y recuperar información de productos
  • Gestión de Clientes: Cargar datos de clientes y gestionar etiquetas de clientes
  • Gestión de Pedidos: Consulta y filtrado avanzado de pedidos
  • Integración GraphQL: Integración directa con la API GraphQL Admin de Shopify
  • Manejo Integral de Errores: Mensajes de error claros para problemas de API y autenticación

Herramientas

  1. get-products

    • Obtener todos los productos o buscar por título
    • Entradas:
      • searchTitle (cadena opcional): Filtrar productos por título
      • limit (número): Número máximo de productos a devolver
    • Devuelve: Detalles de productos formateados, incluyendo título, descripción, identificador y variantes
  2. get-products-by-collection

    • Obtener productos de una colección específica
    • Entradas:
      • collectionId (cadena): ID de la colección de la que obtener productos
      • limit (número opcional, predeterminado: 10): Número máximo de productos a devolver
    • Devuelve: Detalles de productos formateados de la colección especificada
  3. get-products-by-ids

    • Obtener productos por sus IDs
    • Entradas:
      • productIds (matriz de cadenas): Matriz de IDs de productos a recuperar
    • Devuelve: Detalles de productos formateados para los productos especificados
  4. update-product-price

    • Actualizar precios de productos por su ID
    • Entradas:
      • productId (cadena): ID del producto a actualizar
      • price (cadena): Nuevo precio para el producto
    • Devuelve: Respuesta de la actualización
  5. get-variants-by-ids

    • Obtener variantes de productos por sus IDs
    • Entradas:
      • variantIds (matriz de cadenas): Matriz de IDs de variantes a recuperar
    • Devuelve: Información detallada de variantes, incluyendo detalles del producto
  6. get-customers

    • Obtener clientes de Shopify con soporte de paginación
    • Entradas:
      • limit (número opcional): Número máximo de clientes a devolver
      • next (cadena opcional): Cursor de la siguiente página
    • Devuelve: Datos de clientes en formato JSON
  7. tag-customer

    • Agregar etiquetas a un cliente
    • Entradas:
      • customerId (cadena): ID del cliente a etiquetar
      • tags (matriz de cadenas): Etiquetas a agregar al cliente
    • Devuelve: Mensaje de éxito o fracaso
  8. get-orders

    • Obtener pedidos con filtrado y ordenamiento avanzado
    • Entradas:
      • first (número opcional): Límite de pedidos a devolver
      • after (cadena opcional): Cursor de la siguiente página
      • query (cadena opcional): Filtrar pedidos usando sintaxis de consulta
      • sortKey (enumeración opcional): Campo por el que ordenar ('PROCESSED_AT', 'TOTAL_PRICE', 'ID', 'CREATED_AT', 'UPDATED_AT', 'ORDER_NUMBER')
      • reverse (booleano opcional): Invertir el orden de clasificación
    • Devuelve: Detalles de pedidos formateados
  9. get-order

    • Obtener un solo pedido por ID
    • Entradas:
      • orderId (cadena): ID del pedido a recuperar
    • Devuelve: Información detallada del pedido
  10. create-discount

    • Crear un código de descuento básico
    • Entradas:
      • title (cadena): Título del descuento
      • code (cadena): Código de descuento que los clientes ingresarán
      • valueType (enumeración): Tipo de descuento ('percentage' o 'fixed_amount')
      • value (número): Valor del descuento (porcentaje como decimal o monto fijo)
      • startsAt (cadena): Fecha de inicio en formato ISO
      • endsAt (cadena opcional): Fecha de finalización opcional en formato ISO
      • appliesOncePerCustomer (booleano): Si el descuento puede usarse solo una vez por cliente
    • Devuelve: Detalles del descuento creado
  11. create-draft-order

    • Crear un pedido borrador
    • Entradas:
      • lineItems (matriz): Matriz de artículos con variantId y cantidad
      • email (cadena): Correo electrónico del cliente
      • shippingAddress (objeto): Detalles de la dirección de envío
      • note (cadena opcional): Nota opcional para el pedido
    • Devuelve: Detalles del pedido borrador creado
  12. complete-draft-order

    • Completar un pedido borrador
    • Entradas:
      • draftOrderId (cadena): ID del pedido borrador a completar
      • variantId (cadena): ID de la variante en el pedido borrador
    • Devuelve: Detalles del pedido completado
  13. get-collections

    • Obtener todas las colecciones
    • Entradas:
      • limit (número opcional, predeterminado: 10): Número máximo de colecciones a devolver
      • name (cadena opcional): Filtrar colecciones por nombre
    • Devuelve: Detalles de las colecciones
  14. get-shop

    • Obtener detalles de la tienda
    • Entradas: Ninguna
    • Devuelve: Información básica de la tienda
  15. get-shop-details

    • Obtener detalles extendidos de la tienda, incluyendo países de envío
    • Entradas: Ninguna
    • Devuelve: Información extendida de la tienda, incluyendo países de envío
  16. manage-webhook

    • Suscribirse, buscar o cancelar suscripción de webhooks
    • Entradas:
      • action (enumeración): Acción a realizar ('subscribe', 'find', 'unsubscribe')
      • callbackUrl (cadena): URL de devolución de llamada del webhook
      • topic (enumeración): Tema del webhook al que suscribirse
      • webhookId (cadena opcional): ID del webhook (requerido para cancelar suscripción)
    • Devuelve: Detalles del webhook o mensaje de éxito

Configuración

Token de Acceso de Shopify

Para usar este servidor MCP, necesitarás crear una aplicación personalizada en tu tienda de Shopify:

  1. Desde tu administrador de Shopify, ve a Configuración > Aplicaciones y canales de venta
  2. Haz clic en Desarrollar aplicaciones (es posible que necesites habilitar la vista previa para desarrolladores primero)
  3. Haz clic en Crear una aplicación
  4. Establece un nombre para tu aplicación (por ejemplo, "Shopify MCP Server")
  5. Haz clic en Configurar alcances de la API Admin
  6. Selecciona los siguientes alcances:
    • read_products, write_products
    • read_customers, write_customers
    • read_orders, write_orders
  7. Haz clic en Guardar
  8. Haz clic en Instalar aplicación
  9. Haz clic en Instalar para dar acceso a la aplicación a los datos de tu tienda
  10. Después de la instalación, verás tu Token de acceso a la API Admin
  11. Copia este token: lo necesitarás para la configuración

Nota: Guarda tu token de acceso de forma segura. Proporciona acceso a los datos de tu tienda y nunca debe compartirse ni enviarse al control de versiones. Puedes encontrar más detalles sobre cómo crear una aplicación de Shopify aquí.

Uso con Claude Desktop

Agrega a tu claude_desktop_config.json:

{
  "mcpServers": {
    "shopify": {
      "command": "npx",
      "args": ["-y", "shopify-mcp-server"],
      "env": {
        "SHOPIFY_ACCESS_TOKEN": "<YOUR_ACCESS_TOKEN>",
        "MYSHOPIFY_DOMAIN": "<YOUR_SHOP>.myshopify.com"
      }
    }
  }
}

Desarrollo

  1. Clona el repositorio
  2. Instala las dependencias:
npm install
  1. Crea un archivo .env:
SHOPIFY_ACCESS_TOKEN=your_access_token
MYSHOPIFY_DOMAIN=your-store.myshopify.com
  1. Compila el proyecto:
npm run build
  1. Ejecuta las pruebas:
npm test

Dependencias

  • @modelcontextprotocol/sdk - Implementación del protocolo MCP
  • graphql-request - Cliente GraphQL para la API de Shopify
  • zod - Validación de tipos en tiempo de ejecución

Contribuciones

¡Las contribuciones son bienvenidas! Por favor, lee nuestras Pautas de Contribución primero.

Licencia

MIT

Comunidad


Construido con ❤️ usando el Protocolo de Contexto de Modelo