Shopify MCP Server
Servidor MCP de Shopify para interactuar con datos de tiendas Shopify a través de GraphQL, incluyendo productos, pedidos, clientes y flujos de trabajo de comercio electrónico.
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.
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 avanzada y filtrado 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
-
get-products- Obtener todos los productos o buscar por título
- Entradas:
searchTitle(cadena opcional): Filtrar productos por títulolimit(número): Número máximo de productos a devolver
- Devuelve: Detalles de productos formateados, incluyendo título, descripción, identificador y variantes
-
get-products-by-collection- Obtener productos de una colección específica
- Entradas:
collectionId(cadena): ID de la colección de la que obtener productoslimit(número opcional, predeterminado: 10): Número máximo de productos a devolver
- Devuelve: Detalles de productos formateados de la colección especificada
-
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
-
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
-
get-customers- Obtener clientes de Shopify con soporte de paginación
- Entradas:
limit(número opcional): Número máximo de clientes a devolvernext(cadena opcional): Cursor de la siguiente página
- Devuelve: Datos de clientes en formato JSON
-
tag-customer- Añadir etiquetas a un cliente
- Entradas:
customerId(cadena): ID del cliente a etiquetartags(matriz de cadenas): Etiquetas a añadir al cliente
- Devuelve: Mensaje de éxito o fracaso
-
get-orders- Obtener pedidos con filtrado y ordenación avanzados
- Entradas:
first(número opcional): Límite de pedidos a devolverafter(cadena opcional): Cursor de la siguiente páginaquery(cadena opcional): Filtrar pedidos usando sintaxis de consultasortKey(enumeración opcional): Campo para 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
-
get-order- Obtener un solo pedido por ID
- Entradas:
orderId(cadena): ID del pedido a recuperar
- Devuelve: Información detallada del pedido
-
create-discount- Crear un código de descuento básico
- Entradas:
title(cadena): Título del descuentocode(cadena): Código de descuento que los clientes ingresaránvalueType(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 ISOendsAt(cadena opcional): Fecha de finalización opcional en formato ISOappliesOncePerCustomer(booleano): Si el descuento puede usarse solo una vez por cliente
- Devuelve: Detalles del descuento creado
-
create-draft-order- Crear un pedido borrador
- Entradas:
lineItems(matriz): Matriz de artículos con variantId y cantidademail(cadena): Correo electrónico del clienteshippingAddress(objeto): Detalles de la dirección de envíonote(cadena opcional): Nota opcional para el pedido
- Devuelve: Detalles del pedido borrador creado
-
complete-draft-order- Completar un pedido borrador
- Entradas:
draftOrderId(cadena): ID del pedido borrador a completarvariantId(cadena): ID de la variante en el pedido borrador
- Devuelve: Detalles del pedido completado
-
get-collections- Obtener todas las colecciones
- Entradas:
limit(número opcional, predeterminado: 10): Número máximo de colecciones a devolvername(cadena opcional): Filtrar colecciones por nombre
- Devuelve: Detalles de las colecciones
-
get-shop- Obtener detalles de la tienda
- Entradas: Ninguna
- Devuelve: Información básica de la tienda
-
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
-
manage-webhook- Suscribir, 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 webhooktopic(enumeración): Tema del webhook al que suscribirsewebhookId(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:
- Desde tu administrador de Shopify, ve a Configuración > Aplicaciones y canales de venta
- Haz clic en Desarrollar aplicaciones (es posible que necesites habilitar la vista previa para desarrolladores primero)
- Haz clic en Crear una aplicación
- Establece un nombre para tu aplicación (por ejemplo, "Shopify MCP Server")
- Haz clic en Configurar alcances de API Admin
- Selecciona los siguientes alcances:
read_products,write_productsread_customers,write_customersread_orders,write_orders
- Haz clic en Guardar
- Haz clic en Instalar aplicación
- Haz clic en Instalar para dar acceso a la aplicación a los datos de tu tienda
- Después de la instalación, verás tu Token de acceso a la API Admin
- Copia este token: lo necesitarás para la configuración
Nota: Almacena 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. Más detalles sobre cómo crear una aplicación de Shopify se pueden encontrar aquí.
Uso con Claude Desktop
Añade 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
- Clona el repositorio
- Instala las dependencias:
npm install
- Crea un archivo
.env:
SHOPIFY_ACCESS_TOKEN=your_access_token
MYSHOPIFY_DOMAIN=your-store.myshopify.com
- Compila el proyecto:
npm run build
- 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! Lee primero nuestras Pautas de Contribución.
Licencia
MIT
Comunidad
Hecho con ❤️ usando el Protocolo de Contexto de Modelo