MCP Shopify
README.md
# MCP Shopify
A comprehensive Model Context Protocol (MCP) server for Shopify Admin API integration. This server provides a set of tools to interact with your Shopify store, enabling AI assistants like Claude to manage products, orders, customers, inventory, analytics, and more through natural language.
*Note: Documentation below includes both currently implemented and planned enhancements. Read-only tools are fully implemented; write/update operations are in development.*
## Features
- **Products Management**: List, search, create, update, and manage products and variants
- **Orders Management**: View and update orders, fulfill orders, manage transactions
- **Customer Management**: Search and manage customer data
- **Inventory Management**: Track and update inventory levels
- **Analytics**: Access store analytics and reports
- **Collections**: Manage product collections
- **Discounts**: Create and manage discount codes
- **And more!**
## Installation
### Global Installation (Recommended)
```bash
npm install -g @akson/mcp-shopify
```
### Local Installation
```bash
npm install @akson/mcp-shopify
```
## Usage
### With Environment Variables
```bash
export SHOPIFY_ACCESS_TOKEN=your-access-token
export SHOPIFY_DOMAIN=your-store.myshopify.com
mcp-shopify
```
### With Command Line Arguments
```bash
mcp-shopify --accessToken=your-access-token --domain=your-store.myshopify.com
```
### With Claude Desktop
1. Install the package globally:
```bash
npm install -g @akson/mcp-shopify
```
2. Find your Claude Desktop configuration file:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- Linux: `~/.config/Claude/claude_desktop_config.json`
3. Add the Shopify MCP server to your configuration:
```json
{
"mcpServers": {
"shopify": {
"command": "npx",
"args": ["@akson/mcp-shopify"],
"env": {
"SHOPIFY_ACCESS_TOKEN": "your-access-token",
"SHOPIFY_DOMAIN": "your-store.myshopify.com"
}
}
}
}
```
4. Restart Claude Desktop to load the new server
## Available Tools
### Product Management
- `list_products` - List all products with filters
- `get_product` - Get detailed product information
- `search_products` - Search products by title
- `create_product` - Create a new product
- `update_product` - Update product details
- `delete_product` - Delete a product
- `update_inventory` - Update inventory levels
### Order Management
- `list_orders` - List orders with filters
- `get_order` - Get detailed order information
- `update_order` - Update order details
- `fulfill_order` - Fulfill an order
- `cancel_order` - Cancel an order
- `create_order_note` - Add note to order
### Customer Management
- `list_customers` - List all customers
- `search_customers` - Search customers
- `get_customer` - Get customer details
- `create_customer` - Create new customer
### Analytics & Reporting
- `get_analytics` - Get store analytics
- `get_reports` - Access various reports
### Other Features
- `list_collections` - Manage collections
- `create_discount` - Create discount codes
- `list_locations` - View store locations
## Requirements
- Node.js >= 14.0.0
- Shopify Admin API access token
- Shopify store domain
## API Access
To use this server, you need:
1. A Shopify store
2. A private app or custom app with appropriate API permissions
3. An Admin API access token
## Getting Started
### 1. Create a Shopify App
1. Go to your Shopify admin panel
2. Navigate to Settings → Apps and sales channels → Develop apps
3. Create a new app or use an existing one
4. Configure Admin API scopes (read/write for products, orders, customers, etc.)
5. Install the app to your store
6. Copy the Admin API access token
### 2. Configure the Server
Set your credentials using one of these methods:
**Environment Variables (Recommended):**
```bash
export SHOPIFY_ACCESS_TOKEN="your-access-token"
export SHOPIFY_DOMAIN="your-store.myshopify.com"
```
**Command Line Arguments:**
```bash
mcp-shopify --accessToken="your-token" --domain="your-store.myshopify.com"
```
## Security
- **Never commit access tokens** to version control
- Use environment variables for sensitive data
- Store tokens securely (e.g., in password managers or secure vaults)
- Ensure API tokens have only the necessary permissions
- Regularly rotate access tokens
- Monitor API usage through Shopify admin
## Examples
Once configured in Claude Desktop, you can ask Claude to:
- "Show me my top 10 best-selling products"
- "Update the price of product SKU123 to $29.99"
- "List all pending orders from the last week"
- "Create a new product collection for summer items"
- "Check inventory levels for products running low"
- "Generate a sales report for this month"
- "Find all customers from New York"
- "Apply a 20% discount code for the next week"
## Troubleshooting
### Common Issues
1. **"SHOPIFY_ACCESS_TOKEN and SHOPIFY_DOMAIN are required"**
- Ensure environment variables are set correctly
- Check that your shell configuration loads the variables
2. **"401 Unauthorized" errors**
- Verify your access token is correct
- Check that your app has the required API permissions
- Ensure the token hasn't expired
3. **"Server not found" in Claude Desktop**
- Verify the package is installed globally: `npm list -g @akson/mcp-shopify`
- Check the configuration file path is correct
- Restart Claude Desktop after configuration changes
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
MIT
## Support
For issues and feature requests, please visit: https://github.com/antoineschaller/mcp-shopify/issues
## Changelog
### v1.0.0
- Initial release with 22 comprehensive Shopify tools
- Full ES module support
- Command line and environment variable configuration
- Claude Desktop integrationThis server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues