🐍 ☁️ - Unofficial Shopify Storefront API access: discover storefronts and fetch products, collections and…
Shopify Storefront MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
This server provides access to the Shopify Storefront API via MCP, allowing AI assistants to query and interact with your Shopify store data.
Features
- Access to product, collection, and inventory data
- Cart creation and management
- Support for GraphQL queries and mutations
- Automatic token handling and validation
- Easy integration with MCP-compatible AI assistants
Setup Instructions
1. Clone this repository
2. Install dependencies: pip install -r requirements.txt
3. Copy .env.example to .env and configure your environment variables
4. Generate a Storefront API token via Shopify Admin (see below)
5. Run the server: python -m shopify_storefront_mcp_server
Environment Variables
Create a .env file using the provided .env.example as a template:
Generating a Storefront API Token
1. Log in to your Shopify admin
2. Go to **Apps and sales channels** > **Develop apps** > **Create an app**
3. Name your app (e.g., "MCP Storefront")
4. Go to **API credentials** > **Configure Storefront API scopes**
5. Select necessary scopes:
- unauthenticated_read_product_listings
- unauthenticated_read_product_inventory
- unauthenticated_read_product_pricing
- unauthenticated_write_checkouts
- unauthenticated_read_content
6. Save and copy the generated Storefront API access token
7. Add the token to your .env file as SHOPIFY_STOREFRONT_ACCESS_TOKEN
Usage Examples
Running with the MCP server:
The server exposes the following MCP tools:
- shopify_discover: Detect if a URL belongs to a Shopify storefront and discover authentication tokens
- shopify_storefront_graphql: Execute GraphQL queries against the Storefront API
- customer_data: Unified tool for all customer data operations (Create, Read, Update, Delete)
Customer Resources
This server also provides MCP resources for customer information:
- customer://name: Customer's full name
- customer://email: Customer's email address
- customer://phone: Customer's phone number
- customer://shipping_address: Customer's shipping address (including address1, address2, city, state, postal_code, country)
- customer://billing_address: Customer's billing address (including address1, address2, city, state, postal_code, country)
- customer://profile: Complete customer profile
Customer data is stored in user_data/customer.json and should be managed using the customer_data tool.
Managing Customer Data
The server provides a unified customer_data tool for managing all customer information. This tool consolidates create, read, update, and delete operations into a single interface.
Examples:
This consolidated tool simplifies integration with AI assistants by providing a consistent interface for all customer data operations, including both standard customer information and any custom fields that may be useful for personalization.
Data Privacy & Storage
Customer data is stored in user_data/customer.json. This file contains personal information and should not be committed to version control. The repository includes: