Shopify MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port for the HTTP server (only relevant in HTTP mode) | 3000 |
| MCP_AUTH_TOKEN | No | A long random secret used to secure the remote HTTP endpoint. Required when running in HTTP mode. | |
| SHOPIFY_DOMAIN | Yes | Your store's myshopify.com domain, e.g. 'your-store.myshopify.com' | |
| SHOPIFY_CLIENT_ID | No | Client ID from a Shopify Dev Dashboard app (required for that auth method) | |
| SHOPIFY_ACCESS_TOKEN | No | Admin API access token from a legacy custom app (starts with 'shpat_') | |
| SHOPIFY_CLIENT_SECRET | No | Client secret from a Shopify Dev Dashboard app (required for that auth method) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get-shop-infoA | Get basic information about the connected Shopify store (name, domain, currency, plan). |
| get-productsA | List products from the Shopify store, optionally filtered by a search query (e.g. a title, 'status:active', or 'tag:sale'). |
| get-product-by-idA | Get full details for a single product, including description, images, and variants. |
| update-productC | Update a product's title, description, or status (ACTIVE, DRAFT, or ARCHIVED). |
| update-variant-priceA | Update the price (and optionally compare-at price) of a product variant. |
| get-ordersA | List recent orders, optionally filtered by a Shopify order search query (e.g. 'financial_status:paid', 'fulfillment_status:unfulfilled', 'created_at:>2026-01-01', or an order name like '#1001'). |
| get-order-by-idA | Get full details for a single order, including line items, shipping address, and totals. |
| get-customersA | List customers, optionally filtered by a search query (name, email, phone, or e.g. 'orders_count:>5'). |
| get-customer-ordersA | Get a customer's profile along with their most recent orders. |
| get-locationsA | List the store's inventory locations. Location IDs are needed to adjust inventory. |
| adjust-inventoryA | Adjust the available inventory quantity of a product variant at a location by a delta (positive to add stock, negative to remove). Use get-product-by-id to find the variant's inventoryItem ID and get-locations for the location ID. |
| create-discount-codeA | Create a basic discount code (percentage or fixed amount off the whole order) that customers can enter at checkout. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool targets a distinct resource and action: shop info, products, variants, orders, customers, locations, inventory, and discounts. Tools like get-customers and get-customer-orders are clearly differentiated by list vs. profile-with-orders, and get-products vs. get-product-by-id are unambiguous.
All tools follow the same lowercase kebab-case verb-noun pattern, such as get-products, update-product, adjust-inventory, and create-discount-code. There are no mixed conventions or vague generic verbs, making the naming highly predictable.
Twelve tools is a well-scoped count for a Shopify management server, covering the most common store operations without overwhelming the agent. Each tool earns a place and there is minimal redundancy.
The set covers common read operations and several mutations, but has notable lifecycle gaps: products can be updated but not created or deleted, orders can be fetched but not fulfilled or modified, and customers can be listed but not created or edited. Inventory adjustment and discount creation are present, yet the overall surface is partial rather than full CRUD.