项目简介

Shopify Python MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在弥合大型语言模型 (LLM) 与 Shopify 电商平台之间的鸿沟。通过提供一系列预定义的工具,该服务器使得 LLM 客户端(如 Claude Desktop)能够安全、便捷地访问和操作 Shopify 商店的商品数据,实现商品信息的查询、创建、更新和删除等功能。

主要功能点

  • 商品信息管理: 提供全面的商品管理工具,包括:
    • 商品列表查询: 获取商店商品列表,支持限制返回商品数量。
    • 商品详情查询: 根据商品ID获取商品的详细信息,包括商品属性、变体、选项和图片等。
    • 商品创建: 创建新的商品,支持设置商品标题、描述、供应商、类型、标签、状态、变体、选项和图片等详细信息。
    • 商品更新: 更新现有商品的信息,可以修改商品的各项属性、变体、选项和图片。
    • 商品删除: 根据商品ID删除指定的商品。
  • 基于 MCP 协议: 遵循 MCP 协议标准,确保与支持 MCP 协议的 LLM 客户端(如 Claude Desktop)的兼容性和互操作性。
  • Shopify API 集成: 深度集成 Shopify Admin API,利用官方 SDK 安全高效地与 Shopify 商店进行数据交互。
  • 灵活配置: 通过环境变量配置 Shopify 店铺 URL、API 密钥和密码等敏感信息,保障安全性。
  • 易于部署: 提供详细的安装和配置说明,支持使用 'uv' 等工具进行依赖管理和运行。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/kishimoto-banana/shopify-py-mcp.git
    cd shopify-py-mcp
  2. 安装依赖: 建议使用 'uv' (或者 'pip') 进行依赖管理。

    uv sync --dev --all-extras  # 推荐使用 uv,如果使用 pip,请替换为 pip install -r requirements.txt

    如果使用 'pip' 安装,请确保已安装 'pip' 和 'venv',并先创建虚拟环境:

    python3 -m venv venv
    source venv/bin/activate  # 或 venv\Scripts\activate for Windows
    pip install -r requirements.txt

服务器配置

为了让 MCP 客户端(例如 Claude Desktop)能够连接到 Shopify Python MCP Server,您需要在客户端的配置文件中添加服务器配置信息。以下是 Claude Desktop 客户端的配置示例 ( 'claude_desktop_config.json' ):

"mcpServers": {
  "shopify-py-mcp": {
    "command": "uv",
    "args": [
      "--directory",
      "/your_path/shopify-py-mcp",  // 替换为您的 shopify-py-mcp 仓库的绝对路径
      "run",
      "shopify-py-mcp"
    ],
    "env": {
      "SHOPIFY_SHOP_URL": "your-store.myshopify.com",      // 替换为您的 Shopify 商店 URL
      "SHOPIFY_API_KEY": "your-api-key",            // 替换为您的 Shopify Admin API Key
      "SHOPIFY_API_PASSWORD": "your-api-password",   // 替换为您的 Shopify Admin API Password
      "SHOPIFY_API_VERSION": "2023-10"             // Shopify API 版本,默认为 2023-10,可根据需要修改
    }
  }
}

配置参数说明:

  • '"server name"': 'shopify-py-mcp' - 服务器名称,客户端用此名称识别和调用。
  • '"command"': 'uv' - 启动服务器的命令,这里使用 'uv' 运行 Python 脚本。如果使用虚拟环境的 'pip' 安装,并且直接运行 'python' 命令,则需要将 'command' 修改为 Python 解释器的路径,例如 'venv/bin/python' (Linux/macOS) 或 'venv\Scripts\python.exe' (Windows)。
  • '"args"': 启动参数列表:
    • '"--directory"': 指定服务器代码所在的目录,需要替换为 shopify-py-mcp 仓库在您本地机器上的绝对路径
    • '"run"': 'uv run' 的子命令,用于运行 Python 包或模块。
    • '"shopify-py-mcp"': 要运行的 Python 包或模块名,对应 'src/shopify_py_mcp/init.py' 中定义的 'main' 函数入口。
  • '"env"': 环境变量配置:
    • '"SHOPIFY_SHOP_URL"': 您的 Shopify 商店 URL,例如 'your-store.myshopify.com'。
    • '"SHOPIFY_API_KEY"': 您的 Shopify Admin API Key
    • '"SHOPIFY_API_PASSWORD"': 您的 Shopify Admin API Password (Secret)
    • '"SHOPIFY_API_VERSION"': Shopify API 版本,默认为 '2023-10',建议使用最新稳定版本。

请务必将上述配置示例中的占位符 (例如 '/your_path/shopify-py-mcp', 'your-store.myshopify.com', 'your-api-key', 'your-api-password') 替换为您实际的值。

基本使用方法

配置完成后,在支持 MCP 协议的 LLM 客户端中,即可通过自然语言指令调用 Shopify Python MCP Server 提供的工具,例如在 Claude Desktop 中:

  • 获取商品列表: 直接提问 '商品一覧を取得してください。' (请获取商品列表)
  • 获取商品详情: 提问 '商品ID 1234567890の詳細情報を取得してください。' (请获取商品ID为 1234567890 的详细信息)
  • 创建新商品: 提问类似 '以下の情報で新しい商品を作成してください:- 商品名: サンプル商品 - 説明: これはサンプル商品です。- 価格: 1000円' (请用以下信息创建一个新商品:- 商品名: 示例商品 - 描述: 这是一个示例商品。- 价格: 1000日元) 的指令,并根据工具的 'inputSchema' 提供必要的参数。
  • 更新商品: 提问类似 '商品ID 1234567890を以下の情報で更新してください:- 商品名: 更新後の商品名 - 価格: 2000円' (请用以下信息更新商品ID为 1234567890 的商品:- 商品名: 更新后的商品名 - 价格: 2000日元) 的指令,并提供需要更新的商品ID和字段。
  • 删除商品: 提问 '商品ID 1234567890を削除してください。' (请删除商品ID为 1234567890 的商品)

LLM 客户端会将自然语言指令转换为对 MCP 服务器工具的调用,并根据服务器返回的结果进行后续处理。

信息

分类

商业系统