Shopify MCP Server
Interactúa con los datos de la tienda Shopify, como productos, clientes y pedidos, utilizando la API GraphQL.
GitHub
3
Prueba este MCPPatrocinadoDocumentación
Shopify MCP Server
Servidor MCP para la API de Shopify, que permite la interacción con los datos de la tienda (productos, clientes, pedidos, etc.) mediante GraphQL.
Características
Proporciona herramientas para la gestión de productos, clientes y pedidos, integración directa con GraphQL y manejo claro de errores.
Requisitos previos
- Node.js (v16+)
- Shopify Custom App Access Token
Instalación
git clone https://github.com/pashpashpash/shopify-mcp-server.git
cd shopify-mcp-server
npm install
npm run build
Configuración de Shopify
- Crear aplicación personalizada: En el administrador de Shopify > Configuración > Aplicaciones y canales de venta > Desarrollar aplicaciones > Crear una aplicación.
- Configurar alcances: Otorga permisos de
read/writeparaproducts,customersyorders. - Instalar la aplicación y obtener el token: Instala la aplicación y copia el token de acceso a la API de administración.
- Crea el archivo
.enven la raíz del proyecto:SHOPIFY_ACCESS_TOKEN=your_access_token MYSHOPIFY_DOMAIN=your-store.myshopify.com - Configura Claude Desktop (
claude_desktop_config.json):- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
Nota: Usa la ruta correcta al repositorio clonado y guarda tu token de forma segura.{ "mcpServers": { "shopify": { "command": "node", "args": ["path/to/shopify-mcp-server/dist/index.js"], "env": { "SHOPIFY_ACCESS_TOKEN": "your_access_token", "MYSHOPIFY_DOMAIN": "your-store.myshopify.com" } } } } - macOS:
Herramientas disponibles
Gestión de productos
findProducts: Obtener todos los productos o buscar por título.searchTitle(cadena opcional): Filtrar por título.limit(número): Máximo de productos.
listProductsInCollection: Obtener productos de una colección.collectionId(cadena): ID de la colección.limit(número opcional, predeterminado: 10): Máximo de productos.
getProductsByIds: Obtener productos por IDs.productIds(matriz de cadenas): IDs de productos.
getVariantsByIds: Obtener variantes por IDs.variantIds(matriz de cadenas): IDs de variantes.
Gestión de clientes
listCustomers: Obtener clientes con paginación.limit(número opcional): Máximo de clientes.next(cadena opcional): Cursor de la siguiente página.
addCustomerTags: Agregar etiquetas a un cliente.customerId(cadena): ID del cliente.tags(matriz de cadenas): Etiquetas a agregar.
Gestión de pedidos
findOrders: Obtener pedidos con filtrado/ordenamiento avanzado.first(número opcional): Límite de pedidos.after(cadena opcional): Cursor de la siguiente página.query(cadena opcional): Consulta de filtro.sortKey(enum opcional): Campo de ordenamiento.reverse(booleano opcional): Orden inverso.
getOrderById: Obtener un pedido individual por ID.orderId(cadena): ID del pedido.
createDraftOrder: Crear un pedido borrador.lineItems(matriz): Artículos (variantId, cantidad).email(cadena): Correo electrónico del cliente.shippingAddress(objeto): Detalles de envío.note(cadena opcional): Nota del pedido.
completeDraftOrder: Completar un pedido borrador.draftOrderId(cadena): ID del pedido borrador.variantId(cadena): ID de la variante.
Gestión de descuentos
createDiscountCode: Crear un código de descuento básico.title(cadena): Título del descuento.code(cadena): Código de descuento.valueType(enum): 'percentage' o 'fixed_amount'.value(número): Valor del descuento.startsAt(cadena): Fecha de inicio (ISO).endsAt(cadena opcional): Fecha de fin (ISO).appliesOncePerCustomer(booleano): Limitar un uso por cliente.
Gestión de colecciones
listCollections: Obtener todas las colecciones.limit(número opcional, predeterminado: 10): Máximo de colecciones.name(cadena opcional): Filtrar por nombre.
Información de la tienda
getShopDetails: Obtener detalles básicos de la tienda (Sin entradas).getExtendedShopDetails: Obtener detalles ampliados de la tienda (Sin entradas).
Gestión de webhooks
manageWebhooks: Gestionar webhooks.action(enum): 'subscribe', 'find', 'unsubscribe'.callbackUrl(cadena): URL del webhook.topic(enum): Tema del webhook.webhookId(cadena opcional): Requerido para cancelar la suscripción.
Herramientas de depuración
debugGetVariantMetafield: Obtener variante y metafield desize_chart_json.variantId(cadena): GID de la variante.
Herramientas para desarrolladores
introspect_admin_schema: Inspeccionar el esquema GraphQL de la API de administración.query(cadena): Término de filtro.filter(matriz opcional): Filtrar por 'types', 'queries', 'mutations', 'all'.
search_dev_docs: Buscar en la documentación de shopify.dev.prompt(cadena): Consulta de búsqueda.
Depuración
Revisa los registros MCP de Claude Desktop:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
Problemas comunes:
- Autenticación: Verifica el token, el formato del dominio y los alcances de la API.
- Errores de API: Verifica los límites de velocidad, los formatos de entrada y los campos obligatorios.
Desarrollo
npm install
npm run build
npm test
Dependencias
- @modelcontextprotocol/sdk
- graphql-request
- zod
Licencia
MIT
Nota: Bifurcación del repositorio original shopify-mcp-server