Servidor MCP de Shopify
Servidor MCP para la API de Shopify, que permite interactuar con los datos de la tienda a través de la API GraphQL. Este servidor proporciona herramientas para la gestión de productos, clientes, pedidos, etc.
Características
- Gestión deproductos: Búsqueda y recuperación de información de productos
- Gestión de clientes: Cargar datos de clientes y gestionar etiquetas de clientes
- Gestión depedidos: Consulta y filtrado avanzado de pedidos
- Integración GraphQL: Integración directa con la API GraphQL Admin de Shopify
- Gestión integral de errores: Mensajes de error claros para problemas de API y autenticación
Herramientas
obtener-productos- 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 del producto formateados, incluidos el título, la descripción, el identificador y las variantes
obtener-productos-por-colección- Obtener productos de una colección específica
- Entradas
collectionId(cadena): ID de la colección de la que se obtienen los productoslimit(número opcional, por defecto: 10): Número máximo de productos a devolver
- Devuelve: Detalles formateados de los productos de la colección especificada
obtener-productos-por-id- Obtener productos por su ID
- Entradas
productIds(matriz de cadenas): Matriz de IDs de productos a recuperar
- Devuelve: Detalles formateados de los productos especificados
actualizar-precio-producto- Actualiza los precios de los productos para su ID
- Entradas
productId(cadena): ID del producto a actualizarprice(cadena): Nuevo precio del producto
- Devuelve: Respuesta de la actualización
obtener-variantes-por-id- Obtener variantes de productos por sus IDs
- Entradas
variantIds(matriz de cadenas): Matriz de IDs de variantes a recuperar
- Devuelve: Información detallada de la variante incluyendo detalles del producto
obtener-clientes- 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 página siguiente
- Devuelve: Datos del cliente en formato JSON
etiqueta-cliente- Añadir etiquetas a un cliente
- Entradas
customerId(cadena): ID del cliente a etiquetartags(array de cadenas): Etiquetas a añadir al cliente
- Devuelve: Mensaje de éxito o fracaso
obtener-pedidos- Obtener pedidos con filtrado y ordenación avanzados
- Entradas
first(número opcional): Límite de órdenes a devolverafter(cadena opcional): Cursor de la página siguientequery(cadena opcional): Filtrar órdenes utilizando la sintaxis de la consultasortKey(enum opcional): Campo para ordenar por ('PROCESSED_AT', 'TOTAL_PRICE', 'ID', 'CREATED_AT', 'UPDATED_AT', 'ORDER_NUMBER')reverse(booleano opcional): Orden de clasificación inverso
- Devuelve: Detalles del pedido formateados
obtener-orden- Obtener un único pedido por ID
- Entradas
orderId(cadena): ID de la orden a recuperar
- Devuelve: Información detallada del pedido
crear-descuento
- Crear un código de descuento básico
- Entradas
title(cadena): Título del descuentocode(cadena): Código de descuento que introducirán los clientesvalueType(enum): Tipo de descuento ('porcentaje' o 'importe_fijo')value(número): Valor del descuento (porcentaje como decimal o importe fijo)startsAt(cadena): Fecha de inicio en formato ISOendsAt(cadena opcional): Fecha final opcional en formato ISOappliesOncePerCustomer(booleano): Si el descuento sólo puede utilizarse una vez por cliente
- Devuelve: Detalles del descuento creado
crear-borrador-pedido- Crear un borrador de pedido
- Entradas
lineItems(array): Matriz de artículos con variantId y cantidademail(cadena): Email del clienteshippingAddress(objeto): Datos de la dirección de envíonote(cadena opcional): Nota opcional para el pedido
- Devoluciones: Detalles del borrador de pedido creado
completar-orden-borrador- Completar una orden de giro
- Entradas
draftOrderId(cadena): ID del borrador de orden a completarvariantId(cadena): ID de la variante en el proyecto de orden
- Devuelve: Detalles del pedido completado
obtener-colecciones- Obtener todas las colecciones
- Entradas
limit(número opcional, por defecto: 10): Número máximo de colecciones a devolvername(cadena opcional): Filtrar colecciones por nombre
- Devuelve: Detalles de la colección
obtener-tienda- Obtener detalles de la tienda
- Entradas: Ninguno
- Devuelve: Información básica de la tienda
obtener-detalles-de-la-tienda- Obtiene información ampliada de la tienda, incluidos los países de envío
- Introduce: Ninguno
- Devuelve: Información ampliada de la tienda, incluidos los países de envío
gestionar-webhook- Suscribir, encontrar o desuscribir webhooks
- Entradas
acción(enum): Acción a realizar ('subscribe', 'find', 'unsubscribe')callbackUrl(cadena): URL de devolución de llamada del webhooktopic(enum): Tema del webhook al que suscribirsewebhookId(cadena opcional): ID del webhook (necesario para darse de baja)
- Devuelve: Detalles del webhook o mensaje de éxito
Configurar
Token de acceso a Shopify
Para utilizar este servidor MCP, tendrás que crear una aplicación personalizada en tu tienda Shopify:
- Desde el administrador de Shopify, ve a Configuración > Aplicaciones y canales de venta
- Haz clic en Desarrollar aplicaciones (es posible que primero tengas que activar la vista previa para desarrolladores)
- Haz clic en Crear una aplicación
- Establece un nombre para tu aplicación (por ejemplo, "Shopify MCP Server")
- Haz clic en Configurar ámbitos de la API de administración
- Seleccione los siguientes ámbitos
read_products,write_productsread_customers,write_customersread_orders,write_orders
- Haga clic en Guardar
- Haga clic en Instalar aplicación
- Haz clic en Instalar para dar acceso a la aplicación a los datos de tu tienda
- Tras la instalación, verás tu código de acceso a la API de administración
- Cópialo, lo necesitarás para la configuración
Nota: Guarda tu token de acceso de forma segura. Proporciona acceso a los datos de su tienda y nunca debe ser compartida o comprometida con el control de versiones. Más detalles sobre cómo crear una aplicación Shopify se puede 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": "<SU_ACCESS_TOKEN>", "MYSHOPIFY_DOMAIN": "<TU_TIENDA>.myshopify.com" } } }
Desarrollo
- Clonar el repositorio
- Instala las dependencias:
npm install
- Crear un archivo
.env
SHOPIFY_ACCESS_TOKEN=tu_acceso_token MYSHOPIFY_DOMAIN=tu_tienda.myshopify.com
- Construye 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
Contribución
¡Las contribuciones son bienvenidas! Por favor, lea primero nuestras Directrices de Contribución.
Licencia
MIT
Comunidad
Construido con ❤️ utilizando el Protocolo de Contexto de Modelo




