Shopify MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SHOPIFY_DOMAIN | Yes | Your .myshopify.com domain | |
| SHOPIFY_API_VERSION | No | Shopify API version (Defaults to 2025-10) | 2025-10 |
| SHOPIFY_ACCESS_TOKEN | Yes | Admin API access token from step 2 |
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 |
|---|---|
| shopify_sales_summaryA | Get a summary of sales metrics (total sales, net sales, orders, AOV, returns, discounts) for a date range. Defaults to last 30 days. |
| shopify_sales_by_productB | Get sales breakdown by product. Shows revenue, units sold, and orders per product. |
| shopify_sales_by_channelB | Get sales breakdown by sales channel (Online Store, POS, etc.). |
| shopify_sales_over_timeB | Get sales metrics over time as a time series. Useful for trends and comparisons. |
| shopify_ordersB | Get recent orders with details. Useful for checking individual order status and recent activity. |
| shopify_customer_metricsB | Get customer acquisition and behavior metrics. Shows new vs returning customers over time. |
| shopify_trafficC | Get online store traffic and session metrics including visitors, sessions, and conversion rate. |
| shopify_sales_by_geographyC | Get sales breakdown by country or region. |
| shopify_ad_spendB | Get ad spend from Shopify marketing events (Shop campaigns, etc.). Shows spend per event for a date range. |
| shopify_shop_campaign_insightsB | Get Shop campaign performance metrics (ad spend, sales) from the shop_campaign_insights table. Covers Shop channel campaigns (e.g. Shop Pay campaigns). |
| shopify_inventoryA | Get inventory levels for products/variants. Shows SKU, product title, variant title, inventory quantity, and location. Supports filtering by SKU or product title search. |
| shopify_custom_queryA | Run a custom ShopifyQL query for advanced analytics. Use this when the pre-built tools don't cover your specific metric needs. Available tables: sales, orders, customers, sessions, shop_campaign_insights. |
| shopify_sales_by_discountC | Get sales breakdown by discount code. Shows which discounts are driving the most revenue. |
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 13 tools
Each tool has a clearly distinct purpose targeting specific Shopify data domains like sales breakdowns, inventory, orders, customer metrics, and ad spend. There is no overlap in functionality; for example, shopify_sales_by_product focuses on product-level sales while shopify_sales_by_channel handles channel breakdowns, making tool selection straightforward for an agent.
All tools follow a consistent 'shopify_' prefix with descriptive snake_case names that clearly indicate their function, such as shopify_inventory and shopify_sales_over_time. This uniform pattern enhances readability and predictability, allowing agents to easily understand and navigate the toolset.
With 13 tools, the server is well-scoped for analytics and reporting in Shopify, covering key areas like sales, inventory, customer behavior, and marketing. Each tool serves a specific, non-redundant purpose, making the count appropriate and efficient for the domain without being overwhelming or insufficient.
The toolset provides comprehensive coverage for analytics, including sales, inventory, orders, customer metrics, and ad spend, with a custom query tool for flexibility. Minor gaps exist, such as no direct tools for modifying data (e.g., updating inventory or creating orders), but the custom query can mitigate this, and the focus is clearly on read-only analytics.