Shopify MCP Server
Interaja com dados da loja Shopify, como produtos, clientes e pedidos, usando a API GraphQL.
GitHub
3
Experimente este MCPPatrocinadoDocumentação
Shopify MCP Server
Servidor MCP para a API da Shopify, permitindo interação com dados da loja (produtos, clientes, pedidos, etc.) via GraphQL.
Recursos
Fornece ferramentas para gerenciamento de produtos, clientes e pedidos, integração direta com GraphQL e tratamento claro de erros.
Pré-requisitos
- Node.js (v16+)
- Token de acesso do aplicativo personalizado da Shopify
Instalação
git clone https://github.com/pashpashpash/shopify-mcp-server.git
cd shopify-mcp-server
npm install
npm run build
Configuração da Shopify
- Criar aplicativo personalizado: No admin da Shopify > Configurações > Apps e canais de vendas > Desenvolver apps > Criar um app.
- Configurar escopos: Conceda permissões
read/writeparaproducts,customerseorders. - Instalar o app e obter o token: Instale o aplicativo e copie o token de acesso da API de administrador.
- Criar o arquivo
.envna raiz do projeto:SHOPIFY_ACCESS_TOKEN=your_access_token MYSHOPIFY_DOMAIN=your-store.myshopify.com - Configurar o Claude Desktop (
claude_desktop_config.json):- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
Nota: Use o caminho correto para o repositório clonado e armazene seu token com segurança.{ "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:
Ferramentas Disponíveis
Gerenciamento de Produtos
findProducts: Obter todos os produtos ou pesquisar por título.searchTitle(string opcional): Filtrar por título.limit(número): Máximo de produtos.
listProductsInCollection: Obter produtos de uma coleção.collectionId(string): ID da coleção.limit(número opcional, padrão: 10): Máximo de produtos.
getProductsByIds: Obter produtos por IDs.productIds(array de strings): IDs dos produtos.
getVariantsByIds: Obter variantes por IDs.variantIds(array de strings): IDs das variantes.
Gerenciamento de Clientes
listCustomers: Obter clientes com paginação.limit(número opcional): Máximo de clientes.next(string opcional): Cursor da próxima página.
addCustomerTags: Adicionar tags a um cliente.customerId(string): ID do cliente.tags(array de strings): Tags a adicionar.
Gerenciamento de Pedidos
findOrders: Obter pedidos com filtragem/ordenação avançada.first(número opcional): Limite de pedidos.after(string opcional): Cursor da próxima página.query(string opcional): Consulta de filtro.sortKey(enum opcional): Campo de ordenação.reverse(booleano opcional): Inverter ordenação.
getOrderById: Obter um único pedido por ID.orderId(string): ID do pedido.
createDraftOrder: Criar um pedido de rascunho.lineItems(array): Itens (variantId, quantity).email(string): E-mail do cliente.shippingAddress(objeto): Detalhes de envio.note(string opcional): Nota do pedido.
completeDraftOrder: Concluir um pedido de rascunho.draftOrderId(string): ID do pedido de rascunho.variantId(string): ID da variante.
Gerenciamento de Descontos
createDiscountCode: Criar um código de desconto básico.title(string): Título do desconto.code(string): Código do desconto.valueType(enum): 'percentage' ou 'fixed_amount'.value(número): Valor do desconto.startsAt(string): Data de início (ISO).endsAt(string opcional): Data de término (ISO).appliesOncePerCustomer(booleano): Limitar a um uso por cliente.
Gerenciamento de Coleções
listCollections: Obter todas as coleções.limit(número opcional, padrão: 10): Máximo de coleções.name(string opcional): Filtrar por nome.
Informações da Loja
getShopDetails: Obter detalhes básicos da loja (sem entradas).getExtendedShopDetails: Obter detalhes estendidos da loja (sem entradas).
Gerenciamento de Webhooks
manageWebhooks: Gerenciar webhooks.action(enum): 'subscribe', 'find', 'unsubscribe'.callbackUrl(string): URL do webhook.topic(enum): Tópico do webhook.webhookId(string opcional): Necessário para cancelar a inscrição.
Ferramentas de Depuração
debugGetVariantMetafield: Obter metadados de variante esize_chart_json.variantId(string): GID da variante.
Ferramentas de Desenvolvedor
introspect_admin_schema: Inspecionar o esquema GraphQL da API de administrador.query(string): Termo de filtro.filter(array opcional): Filtrar por 'types', 'queries', 'mutations', 'all'.
search_dev_docs: Pesquisar na documentação do shopify.dev.prompt(string): Consulta de pesquisa.
Depuração
Verifique os logs do MCP do Claude Desktop:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
Problemas comuns:
- Autenticação: Verifique o token, o formato do domínio e os escopos da API.
- Erros de API: Verifique limites de taxa, formatos de entrada e campos obrigatórios.
Desenvolvimento
npm install
npm run build
npm test
Dependências
- @modelcontextprotocol/sdk
- graphql-request
- zod
Licença
MIT
Nota: Fork do repositório original do shopify-mcp-server