Commercetools MCP 服务器使用说明

项目简介

Commercetools MCP 服务器是基于 Model Context Protocol (MCP) 构建的应用后端,旨在为大型语言模型 (LLM) 客户端提供与 Commercetools 电商平台交互的能力。它将 Commercetools 的 API 封装为标准化的 MCP 工具,使 AI 应用能够方便地访问和管理商品、订单、客户、购物车等电商数据。

核心功能

该 MCP 服务器提供以下主要功能:

  • 商品管理: 查询、创建、更新商品及进行商品搜索。
  • 分类管理: 读取、创建、更新商品分类。
  • 购物车管理: 读取、创建、复制、更新购物车。
  • 订单管理: 读取订单,并支持从购物车、报价单或通过导入创建订单,以及更新订单。
  • 客户管理: 创建、查询、获取客户信息及更新客户资料。
  • 客户组管理: 读取、创建、更新客户组。
  • 库存管理: 读取、创建、更新库存信息。
  • 价格管理: 读取、创建、更新独立价格 (Standalone Prices)。
  • 折扣管理: 读取、创建、更新购物车折扣和折扣码。
  • 产品类型管理: 读取、列表、创建、更新产品类型。
  • 产品选择管理: 读取、创建、更新产品选择。
  • 项目信息: 读取Commercetools项目配置信息(如语言、货币等)。
  • 批量操作: 支持批量创建和批量更新多种类型的实体。

这些功能通过标准化的 MCP 工具形式暴露给 LLM 客户端。

安装

  1. 确保已安装 Node.js (版本 18 或更高)。
  2. 安装项目依赖(通常在下载或克隆仓库后执行):
    npm install
    # 或者 yarn install
    # 或者 pnpm install
  3. 构建项目(根据 'tsup.config.ts' 文件,MCP 部分会被构建):
    npm run build
    注意:如果只是使用发布的 npm 包,通常不需要手动构建,直接安装即可。使用发布的包可以通过 'npx' 命令直接运行。

MCP客户端配置

要将此服务器与 MCP 客户端连接,您需要在客户端中配置服务器的启动命令。以下是一个示例配置结构(实际配置方式取决于您的 MCP 客户端):

{
  "name": "commercetools",
  "command": "npx",
  "args": [
    "-y",
    "@commercetools-demo/mcp",
    "--tools=all",
    "--clientId=<您的Commercetools Client ID>",
    "--clientSecret=<您的Commercetools Client Secret>",
    "--projectKey=<您的Commercetools Project Key>",
    "--authUrl=<您的Commercetools Auth URL>",
    "--apiUrl=<您的Commercetools API URL>"
  ],
  "initializationOptions": {
    // 可选:配置action权限或context
    "configuration": {
       "actions": {
         "products": { "read": true, "create": true, "update": true },
         "orders": { "read": true },
         "cart": { "read": true, "create": true, "update": true }
         // ... 更多资源权限
       }
    }
  }
}
  • '<您的Commercetools Client ID>': 替换为您的 Commercetools API 客户端 ID。
  • '<您的Commercetools Client Secret>': 替换为您的 Commercetools API 客户端 Secret。
  • '<您的Commercetools Project Key>': 替换为您的 Commercetools 项目 Key。
  • '<您的Commercetools Auth URL>': 替换为您的 Commercetools 认证服务 URL。
  • '<您的Commercetools API URL>': 替换为您的 Commercetools API URL。
  • '--tools=all': 此参数指定加载所有可用工具。您也可以根据需要指定加载特定工具。
  • 'initializationOptions': 这是一个可选的字段,MCP 客户端可以在连接时发送给服务器,用于配置服务器的行为,例如限制可用操作 ('actions')。

如何使用

一旦 MCP 客户端配置并成功连接到 Commercetools MCP 服务器:

  1. LLM 客户端会自动发现服务器提供的工具(例如 'list_products', 'create_customer', 'update_cart' 等),以及它们的描述和参数结构。
  2. 当用户向 LLM 提出与 Commercetools 数据相关的请求时(例如 "列出所有红色 T 恤" 或 "为新客户创建账户"),LLM 会识别出需要调用相应的 Commercetools 工具。
  3. LLM 客户端将构造一个 JSON-RPC 请求 ('tool_code' 和 'arguments') 发送给 MCP 服务器。
  4. MCP 服务器接收请求,执行相应的 Commercetools API 调用,并将结果返回给 LLM 客户端。
  5. LLM 根据 API 返回的数据生成对用户的响应。

您无需编写代码直接调用这些工具,只需通过支持 MCP 的 LLM 客户端以自然语言或结构化指令与 LLM 交互即可。

信息

分类

商业系统