Shopify Store MCP Server
Enables AI agents to interact with live Shopify stores through Admin and Storefront APIs for tasks like GraphQL execution, bulk operations, and file uploads. It includes built-in rate limiting and operation logging to manage store data and schema discovery securely.
README
Shopify Store MCP Server
A Model Context Protocol (MCP) server that connects to live Shopify stores via the Admin and Storefront APIs. Unlike documentation-only MCPs, this server enables AI agents to perform real operations on your store.
Features
- Universal GraphQL Access - Execute any Admin API query or mutation via
run_graphql_query - Smart Multi-Step Tools - File uploads, bulk operations, metaobject upserts with automatic polling
- Rate Limiting - Respects Shopify's plan-based rate limits (Standard/Advanced/Plus/Enterprise)
- Operation Logging - SQLite database tracks all operations for debugging and history
- Schema Discovery - Explore your store's metafield definitions and metaobject types
Setup
Prerequisites
- A Shopify store with a custom app
- Admin API access token with required scopes
- Node.js 18+
Installation
npm install -g shopify-store-mcp
Or run directly with npx:
npx shopify-store-mcp
Usage with Claude Desktop or Cursor
Add the following to your MCP configuration:
{
"mcpServers": {
"shopify-store": {
"command": "npx",
"args": ["-y", "shopify-store-mcp"],
"env": {
"SHOPIFY_STORE_URL": "your-store.myshopify.com",
"SHOPIFY_ACCESS_TOKEN": "shpat_xxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
On Windows, use this configuration:
{
"mcpServers": {
"shopify-store": {
"command": "cmd",
"args": ["/k", "npx", "-y", "shopify-store-mcp"],
"env": {
"SHOPIFY_STORE_URL": "your-store.myshopify.com",
"SHOPIFY_ACCESS_TOKEN": "shpat_xxxxxxxxxxxxxxxxxxxxx"
}
}
}
}
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
SHOPIFY_STORE_URL |
Yes | - | Store's myshopify.com domain |
SHOPIFY_ACCESS_TOKEN |
Yes | - | Admin API access token |
SHOPIFY_STOREFRONT_ACCESS_TOKEN |
No | - | Storefront API token |
SHOPIFY_API_VERSION |
No | 2025-01 |
API version |
SHOPIFY_TIER |
No | STANDARD |
Rate limit tier |
Available Tools
Core Tools
| Tool | Description |
|---|---|
get_shop_info |
Retrieve store configuration and settings |
run_graphql_query |
Execute any GraphQL query or mutation |
Smart Tools
| Tool | Description |
|---|---|
upload_file |
Upload file from URL, poll until ready, return CDN URL |
bulk_export |
Start bulk query, poll completion, return JSONL download URL |
bulk_import |
Staged upload + bulk mutation with automatic polling |
upsert_metaobject |
Create or update metaobject by handle (idempotent) |
schema_discover |
Discover metafield definitions and metaobject types |
Infrastructure Tools
| Tool | Description |
|---|---|
configure |
Set rate limit tier (manual or auto-detect from shop plan) |
get_history |
Query past operations for debugging |
get_stats |
Aggregated usage statistics |
Rate Limiting
The server respects Shopify's rate limits based on your shop plan:
| Tier | Requests/sec | Plans |
|---|---|---|
| STANDARD | 1 | Basic, Development, Lite |
| ADVANCED | 2 | Advanced |
| PLUS | 5 | Shopify Plus |
| ENTERPRISE | 10 | Commerce Components |
Use the configure tool to set your tier manually or auto-detect from your shop plan.
Available Prompts
| Prompt | Description |
|---|---|
analyze-product |
Product analysis template |
summarize-orders |
Order summary by timeframe |
inventory-health |
Inventory health check |
customer-insights |
Customer segment analysis |
custom-query |
Help building custom GraphQL queries |
Available Resources
| Resource | Description |
|---|---|
shopify://config |
Current store connection info |
shopify://docs/query-syntax |
Query syntax reference |
shopify://docs/gid-format |
GID format reference |
shopify://docs/scopes |
API scopes reference |
Development
# Install dependencies
npm install
# Build
npm run build
# Run with inspector
npm run inspect
# Watch mode
npm run dev
Database
The server uses SQLite for operation logging and configuration. The database is automatically created at ~/.shopify-mcp/mcp.db.
# View database
npm run db:studio
Security
- Never commit your
.envfile or access tokens - Use environment variables or MCP config for credentials
- Access tokens should have minimal required scopes
- The server logs operations locally for debugging (disable with
MCP_LOG_OPERATIONS=false)
License
ISC
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.