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.
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
-
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
-
update-product-price- Actualizar precios de productos por su ID
- Entradas:
productId(cadena): ID del producto a actualizarprice(cadena): Nuevo precio para el producto
- Devuelve: Respuesta de la actualización
-
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- Agregar etiquetas a un cliente
- Entradas:
customerId(cadena): ID del cliente a etiquetartags(matriz de cadenas): Etiquetas a agregar al cliente
- Devuelve: Mensaje de éxito o fracaso
-
get-orders- Obtener pedidos con filtrado y ordenamiento avanzado
- 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 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
-
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- 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 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 la 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: 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
- 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! Por favor, lee nuestras Pautas de Contribución primero.
Licencia
MIT
Comunidad
Construido con ❤️ usando el Protocolo de Contexto de Modelo