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.
Get all products or search by title. Inputs: searchTitle (optional string): Filter products by title, limit (number): Maximum number of products to return.
Get a specific product by ID. Inputs: productId (string): ID of the product to retrieve.
Get customers or search by name/email. Inputs: searchQuery (optional string): Filter customers by name or email, limit (optional number, default: 10): Maximum number of customers to return.
Update a customer's information. Inputs: id (string, required): Shopify customer ID (numeric ID only), firstName (string, optional): Customer's first name, lastName (string, optional): Customer's last name, email (string, optional): Customer's email address, phone (string, optional): Customer's phone number, tags (array of strings, optional): Tags to apply to the customer, note (string, optional): Note about the customer, taxExempt (boolean, optional): Whether the customer is exempt from taxes, metafields (array of objects, optional): Customer metafields for storing additional data.
Get orders for a specific customer. Inputs: customerId (string, required): Shopify customer ID (numeric ID only), limit (optional number, default: 10): Maximum number of orders to return.
Get orders with optional filtering. Inputs: status (optional string): Filter by order status, limit (optional number, default: 10): Maximum number of orders to return.
Get a specific order by ID. Inputs: orderId (string, required): Full Shopify order ID.
Update an existing order with new information. Inputs: id (string, required): Shopify order ID, tags (array of strings, optional): New tags for the order, email (string, optional): Update customer email, note (string, optional): Order notes, customAttributes (array of objects, optional): Custom attributes for the order, metafields (array of objects, optional): Order metafields, shippingAddress (object, optional): Shipping address information.
No reviews yet. Be the first to review!
Sign in to join the conversation
Our bundler currently only supports TypeScript-based servers. Check back soon!