Skip to main content

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 revenue
  • get_sales_analytics: Sales trends and analytics
  • get_product_performance: Top performing products

GraphQL API Tools

  • get_shop_info_graphql: Comprehensive shop information
  • get_products_graphql: Efficient product data fetching
  • get_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:

  1. Check proxy settings: export PIP_PROXY=http://proxy:port
  2. Increase timeout: INSTALL_TIMEOUT=300 ./setup_test_env.sh
  3. Use offline mode: See docs/NETWORK_TROUBLESHOOTING.md
  4. Disable retries: INSTALL_RETRY_DISABLED=1 ./setup_test_env.sh

Common Issues

  • Import errors: Run python test_imports.py for specific instructions
  • SSL errors: Update certificates or use trusted sources
  • Timeout errors: Increase INSTALL_TIMEOUT environment 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


Made with ❤️ by the Shopify MCP Server team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shopify_mcp_server-0.2.0.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shopify_mcp_server-0.2.0-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file shopify_mcp_server-0.2.0.tar.gz.

File metadata

  • Download URL: shopify_mcp_server-0.2.0.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

Hashes for shopify_mcp_server-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9fe436c05fb237a4a65ebdaf23d12d48639169f8067e8e1534c25a90b5a1c5ed
MD5 6801225bb83400300736069490222301
BLAKE2b-256 3117d33abb82e3cae7571f488122fe907e0649f4ea5d8f63718a327ed1ce8abd

See more details on using hashes here.

File details

Details for the file shopify_mcp_server-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for shopify_mcp_server-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 49bb65b1f9bd44aa7a319541aaaf820b3975bbcc8eb722008d675f4d13c86c24
MD5 5ab12cd8104176a1754ed6b7c5125748
BLAKE2b-256 16c768d8f9aec0114786396b874f80ef4dcd50d7bb04e3b7e1b8ad6a78d48567

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page