Shopify MCP Proxy & Mock Server (ShopifyMCPMockShop)
LocalAbout Shopify MCP Proxy & Mock Server (ShopifyMCPMockShop)
Shopify MCP Proxy & Mock Server (ShopifyMCPMockShop) is an MCP server for developers working with Shopify's Storefront API. Its default mock.shop connection supports development and testing without real store credentials.
Key features
- 01Retrieve shop, product, and collection details
- 02Search, filter, and paginate products
- 03Create and modify shopping carts
- 04Label operation impact with ToolAnnotations
- 05Test in a mock.shop sandbox
Use cases
- 01Test Shopify integrations without real credentials
- 02Find product and collection information
- 03Change carts through the Storefront API
- 04Inspect capabilities advertised to MCP clients
MCP support
The server communicates with MCP clients over stdio and routes requests to Shopify's Storefront API; it uses mock.shop by default.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEShopify MCP Proxy & Mock Server (ShopifyMCPMockShop)
This project implements a Model Context Protocol (MCP) server that acts as an intelligent bridge and proxy to Shopify's Storefront API. It uniquely supports mock.shop for safe development and testing without requiring real store credentials.
The server communicates via Standard Input/Output (stdio), making it suitable for local integration with clients like Claude Desktop and Cursor.
Motivation
Generic AI developer tools and off-the-shelf MCP servers often promise much but can lack the transparency, safety mechanisms (like explicit ToolAnnotations), stability, or specific features needed for controlled development and testing, especially against rapidly evolving APIs like Shopify's.
This project was born from the need for a reliable, open-source Shopify MCP server that:
- Prioritizes Safety: Integrates deeply with
mock.shopto provide a crucial sandbox for risk-free development and accurate testing without impacting live stores. - Emphasizes Transparency & Control: Allows developers (and their AI partners) to understand exactly how interactions with the Shopify API occur, including which API versions are used and the potential impact of actions (via
ToolAnnotationslikereadonly,destructive, etc.). - Addresses Specific Needs: Fills the gap left by purely informational tools or closed-source commercial offerings by providing a safe execution engine tailored for Shopify development workflows.
The goal is to enable developers to confidently leverage AI assistance for Shopify tasks, knowing they have a tool built with intentional guardrails and clear operational context.
Architecture
System Overview
The ShopifyMCPMockShop server follows a layered architecture that provides clean separation between MCP protocol handling and Shopify API integration:

Data Flow
This sequence diagram illustrates how a typical request flows through the system, from user interaction to API response:

Tool Hierarchy
The MCP server exposes a comprehensive set of tools organized by Shopify resource type:

Setup & Running Locally
This server is a standalone Node.js script.
-
Clone the repository:
git clone https://github.com/ramakay/ShopifyMockMCP.git cd ShopifyMCPMockShop -
Install dependencies:
npm install -
Build the server:
npm run buildThis compiles the TypeScript code into JavaScript in the
distdirectory (dist/server.js). -
Configure Environment (Optional - for Real Store):
- If you want to connect to a real Shopify store instead of
mock.shop, set the following environment variables before running the server (e.g., via export or a.envfile loaded by your client):SHOPIFY_STORE: Your store domain (e.g.,your-store.myshopify.com). Required for real store usage.SHOPIFY_ACCESS_TOKEN: Your Storefront API access token. Required for real store usage.SHOPIFY_VERSION: Optional specific Storefront API version (e.g.,2025-04). Defaults to latest stable.
- Note: Using
mock.shop(default whenSHOPIFY_STOREis not set) requires no environment variables. - Note: Admin API functionality is currently disabled but planned for future updates. Configuration variables (
USE_ADMIN_API,ADMIN_ACCESS_TOKEN,ADMIN_VERSION) are not currently used.
- If you want to connect to a real Shopify store instead of
-
Running: The server is intended to be launched automatically by MCP clients (like Claude Desktop or Cursor) using the stdio configuration. You do not need to run
npm run startmanually. See the "Usage" section below.
Usage with Cursor or Claude Desktop
Configure your MCP client (Cursor, Claude Desktop) to launch this server via stdio. Add an entry like the following to the respective configuration file:
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json - Cursor:
~/.cursor/mcp.json(or similar)
{
"mcpServers": {
// ... other servers ...
"shopify-mcp": {
"command": "node",
"args": [
"/full/path/to/ShopifyMCPMockShop/dist/server.js"
],
"env": {
// Only needed if connecting to a REAL store:
// "SHOPIFY_STORE": "your-store.myshopify.com",
// "SHOPIFY_ACCESS_TOKEN": "your-storefront-token",
// "SHOPIFY_VERSION": "2025-04"
},
"disabled": false,
"alwaysAllow": []
}
// ... other servers ...
}
}
Important:
- Replace
/full/path/to/ShopifyMCPMockShopwith the absolute path to where you cloned the repository. - Only include the
envvariables if you are connecting to a real store. - Restart your client (Cursor/Claude Desktop) after modifying the configuration.
Available Tools
This MCP server currently provides tools for interacting with the Shopify Storefront API.
| Tool Name | Description | API |
|---|---|---|
getShopInfo | Fetches basic shop details (name, description, currency). | Storefront |
getProductById | Fetches a specific product by ID. If includeImages is true, returns JSON details and the first image (75px) as a base64 ImageContentBlock. | Storefront |
findProducts | Searches/filters products with pagination/sorting. | Storefront |
getCollectionById | Fetches a specific collection by ID, optionally including products. | Storefront |
findCollections | Searches/filters collections with pagination/sorting. | Storefront |
cartCreate | Creates a new shopping cart. | Storefront |
cartLinesAdd | Adds line items to an existing shopping cart. | Storefront |
cartLinesUpdate | Updates line items (e.g., quantity) in an existing shopping cart. | Storefront |
cartLinesRemove | Removes line items from an existing shopping cart. | Storefront |
getCart | Fetches the details of an existing shopping cart by ID. | Storefront |
(Note: Admin API tools like getCustomerById and createProduct are planned for future updates and are currently disabled.)
Inspecting Server Capabilities
To verify the server is built correctly and see the exact capabilities it advertises to MCP clients, you can use the inspect script defined in package.json:
# Ensure you have run 'npm install' and 'npm run build' first
# Run this from the project root directory
npm run inspect
This command executes the compiled server (node dist/server.js) and sends the standard mcp/capabilities request via its standard input. The server processes this request and prints its capabilities (including available tools, resource templates, and server information) as a JSON response to its standard output, which you will see in your terminal. This is useful for debugging and confirming the server's advertised functionality.
Known Issues
- Inline Image Rendering: Clients like Claude Desktop and Cursor currently render
ImageContentBlocks (used bygetProductByIdwhenincludeImagesis true) in a separate UI block below the main text response, rather than inline. Attempts to use Markdown or HTML image tags within text blocks also failed to render inline in these clients.
Future Plans
- Re-integrate and test Admin API tools (
getCustomerById,createProduct, etc.). - Add configuration options for Admin API credentials (
USE_ADMIN_API,ADMIN_ACCESS_TOKEN,ADMIN_VERSION). - Implement a testing framework.
- Explore resource handling if client support improves.
License
MIT License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.