shopify
MCP server from taharbmn/shopify-mcp-server
claude mcp add --transport stdio taharbmn-shopify-mcp-server python -m mcp_shopify \ --env SHOPIFY_SHOP_URL="your-store.myshopify.com (Shopify store domain)" \ --env SHOPIFY_API_VERSION="YYYY-MM (e.g., 2025-01)" \ --env SHOPIFY_ACCESS_TOKEN="your_access_token_here"
How to use
This Shopify MCP server provides read-only access to a Shopify Admin GraphQL API. It exposes tools to list products, orders, inventory items, and marketing activities, enabling you to fetch data such as product details, order line items, inventory levels, and related metadata without modifying store data. The recommended approach is to configure credentials via environment variables (SHOPIFY_SHOP_URL, SHOPIFY_ACCESS_TOKEN, SHOPIFY_API_VERSION) and then use the provided tools through the MCP interface to query the data you need. When operating in development or testing, you can disable SSL verification with the verify_ssl flag on individual tool calls, but keep in mind this is not recommended for production environments.
Tools available include:
- list_products_tool: fetches products with customizable limits, sort and pagination options.
- list_orders_tool: retrieves orders with filters for status, date ranges, and pagination.
- list_inventory_items_tool: lists inventory items and their levels across locations.
- list_marketing_activities_tool: lists marketing activities (e.g., campaigns) for a store. Each tool returns data in a structured JSON format with fields appropriate to the entity (products, orders, inventory_items, marketing_activities) and supports common pagination fields like page_info, start_cursor, and end_cursor. Use these tools to build read-only dashboards or extract data for analysis without performing writes to Shopify.
How to install
Prerequisites:
- Python 3.10 or newer
- Git
- Access to install Python packages (pip)
- Clone the repository and install the package in editable mode:
git clone repo
cd mcp-shopify
pip install -e .
- Configure credentials (recommended via environment variables):
- Create a .env file in the project root (or set environment variables in your runtime environment):
# Shopify GraphQL API credentials
SHOPIFY_SHOP_URL=your-store.myshopify.com
SHOPIFY_ACCESS_TOKEN=your_access_token_here
SHOPIFY_API_VERSION=2025-01
- Run the MCP server (example):
export SHOPIFY_SHOP_URL=your-store.myshopify.com
export SHOPIFY_ACCESS_TOKEN=your_access_token_here
export SHOPIFY_API_VERSION=2025-01
python -m mcp_shopify
- Verify installation by calling one of the provided tools through your MCP client or HTTP API as documented by the MCP server. If you encounter SSL issues on macOS, consider using verify_ssl=False for testing (not recommended for production).
Additional notes
Notes and tips:
- All proposed functions are read-only; use the tools to fetch data and avoid making mutations.
- If you need to switch stores, update the SHOPIFY_SHOP_URL and ACCESS_TOKEN accordingly.
- SSL verification can be disabled per-tool via verify_ssl, but ensure this is enabled in production to maintain secure connections.
- Ensure the Shopify API version matches your store capabilities; mismatches may lead to deprecated field errors.
- The primary workflow uses the list_products_tool to fetch product data (with options like limit, status, sort_key, after/before) and list_orders_tool to retrieve order information (filters like query, sort_key, reverse).
- For large data extractions, leverage pagination via start_cursor/end_cursor or after/before tokens provided in responses.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP