shopify-reports-mcp
Enables AI agents to query Shopify analytics with ShopifyQL via the Admin GraphQL endpoint, executing queries and interpreting results like 'show me the products with the highest margins'.
README
shopify-reports-mcp
An MCP server that lets AI agents query Shopify analytics with
ShopifyQL via the Admin GraphQL
shopifyqlQuery
endpoint. Ask your agent "show me the products with the highest margins" — it
writes the ShopifyQL, runs it through this server, and interprets the results.
Tools
query_shopify— executes a ShopifyQL query, returns{ columns, rows }as JSON. Parse errors come back as error results so the agent can self-correct and retry.shopifyql_reference— returns the bundled ShopifyQL reference (syntax, schemas, columns, examples). Also exposed as the MCP resourceshopifyql://reference.
Shopify prerequisites
- Create an app in your organization's Dev Dashboard (the client-credentials grant only works for org-owned apps installed on stores your org owns).
- Grant it the
read_reportsaccess scope (plus customer-data access if you want to query customer PII columns). - Install the app on your store and note the Client ID and Client Secret.
Access tokens are exchanged automatically and cached for their full 24-hour lifetime.
Running
Via npx (no clone needed)
Run straight from GitHub — npm clones, builds, and caches the package on first use:
# stdio mode
npx --yes github:mvacha/shopify-reports-mcp --stdio \
--shop yourstore.myshopify.com \
--client-id <client id> \
--client-secret <client secret>
# HTTP mode
npx --yes github:mvacha/shopify-reports-mcp --http --port 3000
Claude Code one-liner:
claude mcp add shopify-reports -- npx --yes github:mvacha/shopify-reports-mcp --stdio \
--shop yourstore.myshopify.com --client-id <client id> --client-secret <client secret>
Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"shopifyReports": {
"command": "npx",
"args": [
"--yes",
"github:mvacha/shopify-reports-mcp",
"--stdio",
"--shop", "yourstore.myshopify.com",
"--client-id", "<client id>",
"--client-secret", "<client secret>"
]
}
}
}
HTTP mode (primary)
npm install && npm run build
node dist/index.js --http --port 3000
Clients authenticate by sending their Shopify credentials with every request:
{
"mcpServers": {
"shopify-reports": {
"type": "http",
"url": "http://your-host:3000/mcp",
"headers": {
"X-Shopify-Shop": "yourstore.myshopify.com",
"X-Shopify-Client-Id": "<client id>",
"X-Shopify-Client-Secret": "<client secret>"
}
}
}
}
Or with the Claude Code CLI:
claude mcp add --transport http shopify-reports http://your-host:3000/mcp \
--header "X-Shopify-Shop: yourstore.myshopify.com" \
--header "X-Shopify-Client-Id: <client id>" \
--header "X-Shopify-Client-Secret: <client secret>"
Requests without all three headers are rejected with 401. The server is stateless and multi-tenant: different clients can point it at different stores.
stdio mode (local testing)
{
"mcpServers": {
"shopify-reports": {
"command": "node",
"args": [
"/path/to/shopify-reports-mcp/dist/index.js",
"--stdio",
"--shop", "yourstore.myshopify.com",
"--client-id", "<client id>",
"--client-secret", "<client secret>"
]
}
}
}
The SHOPIFY_SHOP, SHOPIFY_CLIENT_ID and SHOPIFY_CLIENT_SECRET environment
variables work as fallbacks for the CLI flags.
Development
npm test # vitest unit tests (mocked Shopify API)
npm run dev # run from source with tsx
npm run build # compile to dist/
Design doc: docs/superpowers/specs/2026-07-21-shopify-reports-mcp-design.md.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.