shopify-mcp
Servidor MCP de Shopify
(¡Deja una estrella si te gusta!)
Servidor MCP para la API de Shopify, que permite la interacción con los datos de la tienda mediante 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 administrar etiquetas de clientes
Gestión de pedidos : consulta y filtrado avanzado de pedidos
Integración con GraphQL : integración directa con la API de administración GraphQL de Shopify
Manejo integral de errores : mensajes de error claros para problemas de API y autenticación
Related MCP server: Shopify MCP Server
Prerrequisitos
Node.js (versión 16 o superior)
Token de acceso a la aplicación personalizada de Shopify (consulte las instrucciones de configuración a continuación)
Configuración
Token de acceso de Shopify
Para utilizar este servidor MCP, necesitará crear una aplicación personalizada en su tienda Shopify:
Desde tu panel de control de Shopify, ve a Configuración > Aplicaciones y canales de venta
Haga clic en Desarrollar aplicaciones (es posible que primero deba habilitar la vista previa para desarrolladores)
Haga clic en Crear una aplicación
Establezca un nombre para su aplicación (por ejemplo, "Servidor Shopify MCP")
Haga clic en Configurar ámbitos de 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
Haga clic en Instalar para darle a la aplicación acceso a los datos de su tienda
Después de la instalación, verá su token de acceso a la API de administrador
Copia este token: lo necesitarás para la configuración
Uso con Claude Desktop
Agregue esto a su claude_desktop_config.json :
{
"mcpServers": {
"shopify": {
"command": "npx",
"args": [
"shopify-mcp",
"--accessToken",
"<YOUR_ACCESS_TOKEN>",
"--domain",
"<YOUR_SHOP>.myshopify.com"
]
}
}
}Ubicaciones para el archivo de configuración de Claude Desktop:
MacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonVentanas:
%APPDATA%/Claude/claude_desktop_config.json
Alternativa: Ejecutar localmente con variables de entorno
Si prefiere utilizar variables de entorno en lugar de argumentos de la línea de comandos:
Crea un archivo
.envcon tus credenciales de Shopify:SHOPIFY_ACCESS_TOKEN=your_access_token MYSHOPIFY_DOMAIN=your-store.myshopify.comEjecute el servidor con npx:
npx shopify-mcp-server
Instalación directa (opcional)
Si desea instalar el paquete globalmente:
npm install -g shopify-mcp-serverLuego ejecútalo:
shopify-mcp-server --accessToken=<YOUR_ACCESS_TOKEN> --domain=<YOUR_SHOP>.myshopify.comHerramientas disponibles
Gestión de productos
get-productsObtenga todos los productos o busque por título
Entradas:
searchTitle(cadena opcional): Filtrar productos por títulolimit(número): Número máximo de productos a devolver
get-product-by-idObtenga un producto específico por ID
Entradas:
productId(cadena): ID del producto a recuperar
Gestión de clientes
get-customersObtenga clientes o busque por nombre/correo electrónico
Entradas:
searchQuery(cadena opcional): Filtrar clientes por nombre o correo electrónicolimit(número opcional, predeterminado: 10): Número máximo de clientes a devolver
update-customerActualizar la información de un cliente
Entradas:
id(cadena, obligatoria): ID de cliente de Shopify (solo ID numérico, como "6276879810626")firstName(cadena, opcional): nombre del clientelastName(cadena, opcional): apellido del clienteemail(cadena, opcional): dirección de correo electrónico del clientephone(cadena, opcional): número de teléfono del clientetags(matriz de cadenas, opcional): etiquetas que se aplicarán al clientenote(cadena, opcional): Nota sobre el clientetaxExempt(booleano, opcional): si el cliente está exento de impuestosmetafields(matriz de objetos, opcional): metacampos del cliente para almacenar datos adicionales
get-customer-ordersObtener pedidos para un cliente específico
Entradas:
customerId(cadena, obligatoria): ID de cliente de Shopify (solo ID numérico, como "6276879810626")limit(número opcional, predeterminado: 10): Número máximo de pedidos a devolver
Gestión de pedidos
get-ordersObtener pedidos con filtrado opcional
Entradas:
status(cadena opcional): Filtrar por estado del pedidolimit(número opcional, predeterminado: 10): Número máximo de pedidos a devolver
get-order-by-idObtener un pedido específico por ID
Entradas:
orderId(cadena, obligatoria): ID completo del pedido de Shopify (p. ej., "gid://shopify/Order/6090960994370")
update-orderActualizar un pedido existente con nueva información
Entradas:
id(cadena, obligatoria): ID de pedido de Shopifytags(matriz de cadenas, opcional): nuevas etiquetas para el pedidoemail(cadena, opcional): Actualizar el correo electrónico del clientenote(cadena, opcional): notas de pedidocustomAttributes(matriz de objetos, opcional): atributos personalizados para el pedidometafields(matriz de objetos, opcional): Ordenar metacamposshippingAddress(objeto, opcional): Información de la dirección de envío
Depuración
Si encuentra problemas, consulte los registros MCP de Claude Desktop:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.logLicencia
Instituto Tecnológico de Massachusetts (MIT)
Available Tools
5 toolsget-customersD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| searchQuery | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-ordersD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | any |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-product-by-idD
| Name | Required | Description | Default |
|---|---|---|---|
| productId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get-productsD
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| searchTitle | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update-orderD
| Name | Required | Description | Default |
|---|---|---|---|
| customAttributes | No | ||
| No | |||
| id | Yes | ||
| metafields | No | ||
| note | No | ||
| shippingAddress | No | ||
| tags | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v1.0.0- First observed
get-customers - First observed
get-orders - First observed
get-product-by-id - First observed
get-products - First observed
update-order
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose targeting specific Shopify resources: customers, orders, products, and order updates. There is no overlap in functionality, making it easy for an agent to select the correct tool for each task without confusion.
The naming follows a consistent verb-noun pattern with hyphens (e.g., get-customers, update-order), which is predictable and readable. The minor deviation is that 'get-product-by-id' includes a preposition, slightly breaking the pure verb-noun style, but overall the pattern is clear and mostly uniform.
With 5 tools, the count is reasonable for a Shopify integration, but it feels borderline thin for covering the domain comprehensively. While core read operations are present, the scope might benefit from additional tools for full CRUD or lifecycle coverage, such as creating or deleting resources.
The tool set has significant gaps for a Shopify server, focusing heavily on read operations (get-customers, get-orders, get-products) with only one update tool (update-order). Missing are create and delete operations for customers, orders, and products, as well as other common actions like inventory management or webhook handling, which limits agent workflows and could lead to failures in broader tasks.
Maintenance
Related MCP Connectors
Shopify MCP Pack — wraps the Shopify Admin REST API (2024-01)
Manage a Shopify store's Sternify bundles, gifts, upsells, banners and reviews via OAuth.
The public product catalogue and collections of any Shopify storefront, as structured JSON.
Read store products, orders, customers, categories and coupons; adjust inventory and update orders.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with Shopify store data using the GraphQL API, supporting product, customer, and order management with comprehensive error handling.15125 npm18MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables interaction with Shopify store data via GraphQL API, providing tools for managing products, customers, orders, discounts, and more with robust error handling.125 npm30-
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Shopify stores through GraphQL API, providing tools for managing products, customers, orders, and more.125 npm10MIT
- AlicenseCqualityDmaintenanceEnables interaction with Shopify store data through GraphQL API, providing tools for managing products, customers, orders, blogs, and articles.152,216 npm4MIT