Shopify MCP Server provides a bridge to the Shopify GraphQL Admin API, enabling AI assistants to interact with store data through five specialized tools for product, customer, and order management. Built with TypeScript, it authenticates with Shopify using custom app access tokens and exposes functionality for searching products, retrieving customer information, querying orders with filters, and updating order details. The implementation handles GraphQL requests with comprehensive error reporting and can be configured through command-line arguments or environment variables. This server is particularly valuable for e-commerce store owners and managers who want to leverage AI assistants for inventory management, customer analysis, and order processing without switching to the Shopify admin interface.
Aucun avis encore. Soyez le premier à donner votre avis !
Connectez-vous pour rejoindre la conversation
Get all products or search by title with pagination and sorting. Inputs: searchTitle (string, optional), limit (number, default: 10), query (string, optional), sortKey (string, optional), reverse (boolean, optional), after / before (string, optional)
Get a specific product by ID with full details including SEO, options, media, variants, and collections. Inputs: productId (string, required)
Create a new product. Inputs: title (string, required), descriptionHtml (string, optional), handle (string, optional), vendor (string, optional), productType (string, optional), tags (array of strings, optional), status (string, optional), seo (object, optional), metafields (array of objects, optional), productOptions (array of objects, optional), collectionsToJoin (array of strings, optional)
Update an existing product's fields. Inputs: id (string, required), title (string, optional), descriptionHtml (string, optional), handle (string, optional), vendor (string, optional), productType (string, optional), tags (array of strings, optional), status (string, optional), seo (object, optional), metafields (array of objects, optional), collectionsToJoin (array of strings, optional), collectionsToLeave (array of strings, optional), redirectNewHandle (boolean, optional)
Delete a product. Inputs: id (string, required)
Create, update, or delete product options (e.g. Size, Color). Inputs: productId (string, required), action (string, required), variantStrategy (string, optional), options (array, required for create), optionId (string, required for update), name (string, optional for update), position (number, optional for update), valuesToAdd (array of strings, optional for update), valuesToDelete (array of strings, optional for update), optionIds (array of strings, required for delete)
Create or update product variants in bulk. Inputs: productId (string, required), strategy (string, optional), variants (array, required)
Delete one or more variants from a product. Inputs: productId (string, required), variantIds (array of strings, required)
List customers with search, pagination, and sorting. Inputs: searchQuery (string, optional), limit (number, default: 10), sortKey (string, optional), reverse (boolean, optional), after / before (string, optional)
Get a single customer by ID with full details. Inputs: id (string, required)
Create a new customer. Inputs: firstName (string, optional), lastName (string, optional), email (string, optional), phone (string, optional), tags (array of strings, optional), note (string, optional), taxExempt (boolean, optional), metafields (array of objects, optional), addresses (array of objects, optional)
Update a customer's information. Inputs: id (string, required), firstName (string, optional), lastName (string, optional), email (string, optional), phone (string, optional), tags (array of strings, optional), note (string, optional), taxExempt (boolean, optional), emailMarketingConsent (object, optional), metafields (array of objects, optional)
Delete a customer. Inputs: id (string, required)
Merge two customer records into one. Inputs: customerOneId (string, required), customerTwoId (string, required), overrideFields (object, optional)
Create, update, or delete a customer's mailing address. Inputs: customerId (string, required), action (string, required), addressId (string, optional), address (object, optional), setAsDefault (boolean, optional)
Get orders with filtering, pagination, and sorting. Inputs: status (string, optional), limit (number, default: 10), query (string, optional), sortKey (string, optional), reverse (boolean, optional), after / before (string, optional)
Get a specific order by ID with smart lookup. Inputs: orderId (string, required)
Update an existing order. Inputs: id (string, required), tags (array of strings, optional), email (string, optional), note (string, optional), phone (string, optional), poNumber (string, optional), customAttributes (array of objects, optional), metafields (array of objects, optional), shippingAddress (object, optional)
Get orders for a specific customer with pagination and sorting. Inputs: customerId (string, required), limit (number, default: 10), sortKey (string, optional), reverse (boolean, optional), after / before (string, optional)
Cancel an order with options for refunding, restocking, and customer notification. Inputs: orderId (string, required), reason (string, required), restock (boolean, required), notifyCustomer (boolean, default: false), staffNote (string, optional), refund (boolean, optional)
Close or reopen an order. Inputs: orderId (string, required), action (string, required)
Mark an order as paid (for manual/offline payments). Inputs: orderId (string, required)
Create a fulfillment (mark items as shipped) with optional tracking. Inputs: lineItemsByFulfillmentOrder (array, required), trackingInfo (object, optional), notifyCustomer (boolean, default: false)
Create a full or partial refund with optional restocking. Inputs: orderId (string, required), refundLineItems (array, optional), shipping (object, optional), note (string, optional), notify (boolean, optional)
Create a draft order for phone/chat sales, invoicing, or wholesale. Inputs: lineItems (array, required), customerId (string, optional), email, phone, note, tags, poNumber (optional), shippingAddress, billingAddress (objects, optional), appliedDiscount (object, optional)
Complete a draft order, converting it into a real order. Inputs: draftOrderId (string, required), paymentGatewayId (string, optional)
Get metafields for any Shopify resource. Inputs: ownerId (string, required), namespace (string, optional), first (number, default: 25), after (string, optional)
Set metafields on any Shopify resource. Inputs: metafields (array, required)
Delete metafields from any Shopify resource. Inputs: metafields (array, required)
Set absolute inventory quantities for items at specific locations. Inputs: reason (string, required), name (string, required), quantities (array, required)
Add or remove tags on any taggable resource. Inputs: id (string, required), tags (array of strings, required), action (string, required)