Serveur MCP Shopify
Serveur MCP pour l'API Shopify, permettant d'interagir avec les données du magasin par l'intermédiaire de l'API GraphQL. Ce serveur fournit des outils pour gérer les produits, les clients, les commandes, etc.
Caractéristiques
- Gestion des produits: Recherche et récupération d'informations sur les produits
- Gestion des clients: Charger les données des clients et gérer les étiquettes des clients
- Gestion des commandes: Requête et filtrage avancés des commandes
- Intégration GraphQL: Intégration directe avec l'API d'administration GraphQL de Shopify
- Gestion complète des erreurs: Messages d'erreur clairs pour les problèmes d'API et d'authentification
Outils
obtenir des produits
- Obtenir tous les produits ou effectuer une recherche par titre
- Entrées
searchTitle
(chaîne facultative) : Filtre les produits par titrelimit
(nombre) : Nombre maximum de produits à retourner
- Retourne : Détails formatés du produit, y compris le titre, la description, la poignée et les variantes
get-products-by-collection
- Obtenir les produits d'une collection spécifique
- Entrées
collectionId
(chaîne) : ID de la collection dont les produits doivent être extraitslimit
(nombre facultatif, par défaut : 10) : Nombre maximal de produits à renvoyer
- Retourne : Détails formatés des produits de la collection spécifiée
get-products-by-ids
- Récupère les produits en fonction de leur numéro d'identification
- Entrées
productIds
(tableau de chaînes) : Tableau d'identifiants de produits à récupérer
- Retourne : Détails formatés des produits spécifiés
mettre à jour le prix d'un produit
- Mise à jour des prix du produit pour son ID
- Entrées
productId
(chaîne) : ID du produit à mettre à jourprice
(chaîne) : Nouveau prix du produit
- Retourne : Réponse de la mise à jour
get-variants-by-ids
- Obtenir les variantes d'un produit en fonction de leur numéro d'identification
- Entrées
variantIds
(tableau de chaînes) : Tableau d'identifiants de variantes à récupérer
- Retourne : Informations détaillées sur la variante, y compris les détails du produit
get-customers
- Récupère les clients de shopify avec support de la pagination
- Entrées
limit
(nombre optionnel) : Nombre maximum de clients à retournernext
(chaîne optionnelle) : Curseur de la page suivante
- Retourne : Données sur les clients au format JSON
tag-client
- Ajouter des tags à un client
- Entrées
customerId
(chaîne) : ID du client à étiquetertags
(tableau de chaînes) : Tags à ajouter au client
- Retourne : Message de réussite ou d'échec
get-orders
- Obtenir des commandes avec un filtrage et un tri avancés
- Entrées
first
(nombre optionnel) : Limite des commandes à retournerafter
(chaîne optionnelle) : Curseur de la page suivantequery
(chaîne optionnelle) : Filtrer les ordres en utilisant la syntaxe de la requêtesortKey
(optional enum) : Champ à trier ('PROCESSED_AT', 'TOTAL_PRICE', 'ID', 'CREATED_AT', 'UPDATED_AT', 'ORDER_NUMBER')reverse
(booléen facultatif) : Inverse l'ordre de tri
- Retourne : Détails formatés de la commande
get-order
- Obtenir un ordre unique par ID
- Entrées
orderId
(chaîne) : ID de la commande à récupérer
- Retourne : Informations détaillées sur la commande
create-discount
- Créer un code de réduction de base
- Entrées
title
(string) : Titre de la remisecode
(chaîne) : Code de réduction que les clients saisirontvalueType
(enum) : Type de remise ("pourcentage" ou "montant fixe")value
(number) :Valeur
de la remise (pourcentage sous forme décimale ou montant fixe) : Valeur de la remise (pourcentage décimal ou montant fixe)startsAt
(string) : Date de début au format ISOendsAt
(chaîne optionnelle) : Date de fin facultative au format ISOappliesOncePerCustomer
(booléen) : Indique si la réduction ne peut être utilisée qu'une seule fois par client
- Returns (retours) : Détails de la remise créée
create-draft-order
- Créer un projet de commande
- Entrées
lineItems
(array) : Tableau d'articles avec variantId et quantitéemail
(string) : Courriel du clientshippingAddress
(objet) : Détails de l'adresse de livraisonnote
(chaîne optionnelle) : Note facultative pour la commande
- Returns (objet) : Détails du projet de commande créé : Détails du projet de commande créé
complete-draft-order
- Compléter un projet d'ordre
- Entrées
draftOrderId
(chaîne) : ID du projet d'ordre à complétervariantId
(chaîne) : ID de la variante dans le projet d'ordre
- Retourne : Détails de l'ordre complété
get-collections
- Obtenir toutes les collections
- Entrées
limit
(nombre facultatif, par défaut : 10) : Nombre maximal de collections à renvoyername
(chaîne de caractères facultative) : Filtre les collections par nom
- Retourne : Détails de la collection
get-shop
- Obtenir les détails d'une boutique
- Entrées : Aucune
- Retourne : Informations de base sur le magasin
get-shop-details
- Obtenir les détails de la boutique, y compris les pays d'expédition
- Entrées : Aucune
- Retourne : Informations étendues sur la boutique, y compris les pays d'expédition
gérer-webhook
- S'abonner, trouver ou se désabonner des webhooks
- Entrées
action
(enum) : Action à effectuer ("subscribe", "find", "unsubscribe")callbackUrl
(string) : URL de rappel du webhooktopic
(enum) : Sujet du webhook auquel s'abonnerwebhookId
(chaîne optionnelle) : ID du webhook (nécessaire pour se désabonner)
- Retourne : Détails du webhook ou message de réussite
Mise en place
Jeton d'accès Shopify
Pour utiliser ce serveur MCP, vous devez créer une application personnalisée dans votre boutique Shopify :
- Dans l'interface d'administration de Shopify, accédez à Paramètres > Apps et canaux de vente
- Cliquez sur Développer des applications (il se peut que vous deviez d'abord activer l'aperçu pour les développeurs)
- Cliquez sur Créer une application
- Donnez un nom à votre application (par exemple, "Shopify MCP Server")
- Cliquez sur Configure Admin API scopes (Configurer les champs d'application de l'API d'administration)
- Sélectionnez les champs d'application suivants
read_products
,write_products
read_customers
,write_customers
read_orders
,write_orders
- Cliquez sur Enregistrer
- Cliquez sur Installer l'application
- Cliquez sur Installer pour donner à l'application l'accès aux données de votre magasin
- Après l'installation, vous verrez apparaître votre jeton d'accès à l'API Admin
- Copiez cette clé - vous en aurez besoin pour la configuration
Remarque : conservez votre jeton d'accès en lieu sûr. Il donne accès aux données de votre boutique et ne doit jamais être partagé ou soumis à un contrôle de version. Pour plus de détails sur la création d'une application Shopify, cliquez ici.
Utilisation avec Claude Desktop
Ajoutez à votre 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" } } } }
Développement
- Cloner le dépôt
- Installer les dépendances :
npm install
- Créer un fichier
.env :
SHOPIFY_ACCESS_TOKEN=votre_access_token MYSHOPIFY_DOMAIN=votreboutique.myshopify.com
- Construisez le projet :
npm run build
- Lancer les tests :
npm test
Dépendances
- @modelcontextprotocol/sdk - Implémentation du protocole MCP
- graphql-request - Client GraphQL pour l'API Shopify
- zod - Validation de type en temps réel
Contribuer
Les contributions sont les bienvenues ! Veuillez d'abord lire nos directives de contribution.
Licence
MIT
Communauté
Construit avec ❤️ en utilisant le Model Context Protocol