A MCP server for Shopify API integration with Claude Desktop
Project description
Shopify MCP Server
Model Context Protocol (MCP) server for integrating Shopify API with Claude Desktop for real-time e-commerce analytics and data visualization.
Version: v0.2.0 (GraphQL Edition)
Status: Production Ready
Documentation: Full Documentation
🚀 What's New in v0.2.0
- GraphQL API Support: Efficient data fetching with up to 70% fewer API calls
- Enhanced Testing: Comprehensive test suite with coverage reporting
- Flexible Dependencies: Better compatibility with version ranges
- Network Resilience: Improved handling of restricted network environments
✨ Features
Core Capabilities
- 🛍️ Real-time order data aggregation
- 📊 Sales analytics and visualization
- 💰 Currency-aware reporting (Multi-currency support)
- 🔒 Secure API integration
- 📈 Product performance tracking
- 🌐 GraphQL and REST API support
Technical Features
- 🚄 High-performance caching
- 🧪 Comprehensive test coverage
- 🐳 Docker support
- 📝 Extensive documentation
- 🔄 CI/CD ready
- 🛡️ Network resilient installation
📚 Quick Start
Prerequisites
- Python 3.8+
- Shopify store with API access
- Claude Desktop application
Installation
Standard Installation
# 1. Clone the repository
git clone https://github.com/mourigenta/shopify-mcp-server.git
cd shopify-mcp-server
# 2. Set up environment with network resilience
./setup_test_env.sh
# Or with custom options:
# INSTALL_TIMEOUT=300 INSTALL_RETRY=5 ./setup_test_env.sh
# 3. Configure your Shopify credentials
cp .env.example .env
# Edit .env with your credentials
Installation in Restricted Networks
# For environments with network restrictions:
# 1. Behind a proxy
export PIP_PROXY=http://your-proxy:port
./setup_test_env.sh
# 2. Limited network connectivity
INSTALL_TIMEOUT=300 INSTALL_RETRY=10 ./setup_test_env.sh
# 3. Offline installation
# First, download packages on a connected machine:
pip download -r requirements.txt -d vendor/
# Then on the target machine:
OFFLINE_MODE=1 ./setup_test_env.sh
# 4. Minimal installation (core features only)
INSTALL_OPTIONAL=0 INSTALL_DEV=0 ./setup_test_env.sh
Dependency Installation Options
# Core dependencies only (minimal functionality)
pip install -r requirements-base.txt
# Extended dependencies (recommended)
pip install -r requirements-extended.txt
# Full installation (all features)
pip install -r requirements.txt
Configuration
Configure your Shopify credentials in .env:
SHOPIFY_SHOP_NAME=your-shop-name
SHOPIFY_ACCESS_TOKEN=your-access-token
SHOPIFY_API_VERSION=2024-01
See Environment Setup Guide for detailed instructions.
🛠️ Available Tools
REST API Tools
get_orders_summary: Order statistics and revenueget_sales_analytics: Sales trends and analyticsget_product_performance: Top performing products
GraphQL API Tools
get_shop_info_graphql: Comprehensive shop informationget_products_graphql: Efficient product data fetchingget_inventory_levels_graphql: Location-aware inventory tracking
When to Use Which?
Use GraphQL for:
- Complex queries with related data
- Mobile apps with bandwidth constraints
- Selective field fetching
Use REST for:
- Simple CRUD operations
- Cached content
- Legacy integrations
See GraphQL vs REST Guide for detailed comparisons.
🧪 Testing
Run the comprehensive test suite:
# Run all tests with automatic dependency detection
python run_adaptive_tests.py
# Run with coverage report
./run_tests.sh --coverage
# Run specific test file
python -m pytest test_graphql_client.py
# Check environment and dependencies
python test_imports.py
🔧 Troubleshooting
Network Issues
If you encounter dependency installation failures:
- Check proxy settings:
export PIP_PROXY=http://proxy:port - Increase timeout:
INSTALL_TIMEOUT=300 ./setup_test_env.sh - Use offline mode: See docs/NETWORK_TROUBLESHOOTING.md
- Disable retries:
INSTALL_RETRY_DISABLED=1 ./setup_test_env.sh
Common Issues
- Import errors: Run
python test_imports.pyfor specific instructions - SSL errors: Update certificates or use trusted sources
- Timeout errors: Increase
INSTALL_TIMEOUTenvironment variable
🐳 Docker Support
Deploy with Docker:
# Build and run
docker-compose up
# Production deployment
docker-compose -f docker-compose.prod.yml up
See Docker Configuration for details.
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for:
- Development workflow
- Code style guidelines
- Pull request process
- Release procedures
📊 Performance
v0.2.0 brings significant performance improvements:
- 70% reduction in API calls for complex queries (GraphQL)
- 40% faster response times for multi-resource fetches
- 50% less bandwidth usage with selective field queries
- Network resilient installation process
🔐 Security
- Environment-based configuration
- Secure token storage
- Rate limiting awareness
- SSL/TLS support
📄 License
MIT License - see LICENSE file for details.
🙏 Acknowledgments
Thanks to all contributors who have helped make this project better!
📞 Support
- 📖 Documentation
- 💬 Discussions
- 🐛 Issue Tracker
- 📧 Email: support@example.com
Made with ❤️ by the Shopify MCP Server team
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shopify_mcp_server-0.2.1.tar.gz.
File metadata
- Download URL: shopify_mcp_server-0.2.1.tar.gz
- Upload date:
- Size: 29.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
827067ecfa6307eb7fa5a202a893a45af277d7d188d17b41e2091579b176195d
|
|
| MD5 |
bd5a1d128d69beca163ab9ba150ffead
|
|
| BLAKE2b-256 |
d0b0539f5544d65ec8deb8f83d9a4ec2561105f4381b5cec07799aea196b480c
|
File details
Details for the file shopify_mcp_server-0.2.1-py3-none-any.whl.
File metadata
- Download URL: shopify_mcp_server-0.2.1-py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83498f04e8bf26c7faf79715394aa7008e855e9a9c8fb65411097474140ef235
|
|
| MD5 |
da2dd43d60e20d4a8e0b2dfc38c97cd9
|
|
| BLAKE2b-256 |
c3014e8eeaf51ed700f5f1a627bdac0f867b8c3b43ad3ea5535df64266a63112
|