This Shopify MCP server, developed by Amir Bengherbi, enables AI agents to interact with Shopify stores through GraphQL API. Built with TypeScript and leveraging the Model Context Protocol SDK, it provides tools for managing products, customers, orders, discounts, and more. The implementation focuses on comprehensive store management capabilities, with features like advanced order querying, webhook management, and draft order creation. It's particularly useful for e-commerce businesses and developers looking to automate Shopify operations, enabling use cases such as inventory management, customer segmentation, and sales analysis without dealing directly with Shopify's API complexities.
Get all products or search by title. Inputs: searchTitle (optional string), limit (number). Returns: Formatted product details including title, description, handle, and variants.
Get products from a specific collection. Inputs: collectionId (string), limit (optional number, default: 10). Returns: Formatted product details from the specified collection.
Get products by their IDs. Inputs: productIds (array of strings). Returns: Formatted product details for the specified products.
Get product variants by their IDs. Inputs: variantIds (array of strings). Returns: Detailed variant information including product details.
Get shopify customers with pagination support. Inputs: limit (optional number), next (optional string). Returns: Customer data in JSON format.
Add tags to a customer. Inputs: customerId (string), tags (array of strings). Returns: Success or failure message.
Get orders with advanced filtering and sorting. Inputs: first (optional number), after (optional string), query (optional string), sortKey (optional enum), reverse (optional boolean). Returns: Formatted order details.
Get a single order by ID. Inputs: orderId (string). Returns: Detailed order information.
Create a basic discount code. Inputs: title (string), code (string), valueType (enum), value (number), startsAt (string), endsAt (optional string), appliesOncePerCustomer (boolean). Returns: Created discount details.
Create a draft order. Inputs: lineItems (array), email (string), shippingAddress (object), note (optional string). Returns: Created draft order details.
Complete a draft order. Inputs: draftOrderId (string), variantId (string). Returns: Completed order details.
Get all collections. Inputs: limit (optional number, default: 10), name (optional string). Returns: Collection details.
Get shop details. Inputs: None. Returns: Basic shop information.
Get extended shop details including shipping countries. Inputs: None. Returns: Extended shop information including shipping countries.
Subscribe, find, or unsubscribe webhooks. Inputs: action (enum), callbackUrl (string), topic (enum), webhookId (optional string). Returns: Webhook details or success message.
No reviews yet. Be the first to review!
Sign in to join the conversation
Start the server with node to access it via any client or IDE.
node path/to/downloaded/file.mjs