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.2.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.2-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: shopify_mcp_server-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 6721e53fb0343c0c0ad2404e12f4f1d8c209b059b41d550078959f4a465c442f
MD5 443fbc34eac7969cac5fcbe8329a7520
BLAKE2b-256 735bcdfc8beb23f799ab07e5b9e2c62780e815a4d92305639e5fb574750ffeb6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for shopify_mcp_server-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cf5383b93d2e83057da9176531009590e608ca078d45c038310e45d5a3255d85
MD5 ee9a8f03b709e318569fd9a86761f8e1
BLAKE2b-256 5fe1e571e2907c7f215be2a57b80375bbeaa0229fe3e201d0c7d7eb89f74fcce

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