Skip to main content

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

Metadata

Release files for shopify-mcp-server 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shopify-mcp-server 0.2.2
File Size Uploaded Provenance Actions
shopify_mcp_server-0.2.2.tar.gz 29.5 kB Without provenance Details for shopify_mcp_server-0.2.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for shopify-mcp-server 0.2.2
File Interpreter ABI Platform Actions
shopify_mcp_server-0.2.2-py3-none-any.whl Python 3 none any Details for shopify_mcp_server-0.2.2-py3-none-any.whl

Total release size: 52.9 kB

Release files / shopify_mcp_server-0.2.2.tar.gz

Download URL shopify_mcp_server-0.2.2.tar.gz
Size 29.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6721e53fb0343c0c0ad2404e12f4f1d8c209b059b41d550078959f4a465c442f
BLAKE2b-256 checksum
How to use checksums
735bcdfc8beb23f799ab07e5b9e2c62780e815a4d92305639e5fb574750ffeb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Release files / shopify_mcp_server-0.2.2-py3-none-any.whl

Download URL shopify_mcp_server-0.2.2-py3-none-any.whl
Size 23.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cf5383b93d2e83057da9176531009590e608ca078d45c038310e45d5a3255d85
BLAKE2b-256 checksum
How to use checksums
5fe1e571e2907c7f215be2a57b80375bbeaa0229fe3e201d0c7d7eb89f74fcce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.6

Security for shopify-mcp-server 0.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page