关于 WooCommerce MCP Server
WooCommerce MCP Server 让 AI 助手访问 WooCommerce 商店的订单数据,支持按状态筛选近期订单,并按 ID 获取订单详情。
主要功能
- 01获取近期订单
- 02按状态筛选订单
- 03按 ID 获取订单
适用场景
- 01查看商店近期订单
- 02查找特定状态的订单
- 03获取已知订单的详情
MCP 相关
向支持 MCP 的 AI 助手提供 WooCommerce 订单查询工具,并使用配置的 REST API 凭据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
WooCommerce MCP 服务
用于将 WooCommerce 与 Claude 及其他 AI 助手集成的模型上下文协议(MCP)服务。
概述
此服务为 AI 助手提供与 WooCommerce 商店交互的工具,使其能够:
- 获取近期订单,并可选择筛选条件
- 根据 ID 获取特定订单的详细信息
此服务实现了模型上下文协议规范,因此兼容 Claude for Desktop 等支持 MCP 的 AI 助手。
前提条件
- Node.js v18 或更高版本
- 可访问 REST API 的 WooCommerce 商店
- WooCommerce API 凭据(消费者密钥和密钥)
安装
- 克隆此代码库:
git clone https://github.com/techspawn/woocommerce-mcp-server.git
cd woocommerce-mcp-server
- 安装依赖项:
npm install
配置
你需要配置 WooCommerce API 凭据。可以通过以下方式进行配置:
- 运行服务时设置环境变量:
WOOCOMMERCE_URL=https://your-store.com \
WOOCOMMERCE_CONSUMER_KEY=your-consumer-key \
WOOCOMMERCE_CONSUMER_SECRET=your-consumer-secret \
node index.js
- 或者编辑
index.js文件中的默认值:
const woocommerceConfig = {
url: process.env.WOOCOMMERCE_URL || 'https://your-store.com',
consumerKey: process.env.WOOCOMMERCE_CONSUMER_KEY || 'your-consumer-key',
consumerSecret: process.env.WOOCOMMERCE_CONSUMER_SECRET || 'your-consumer-secret',
version: 'wc/v3'
};
运行服务
直接运行服务:
node index.js
或者使用 npm 脚本:
npm start
与 Claude for Desktop 集成
要将此服务连接到 Claude for Desktop:
-
确保已安装 Claude for Desktop
-
打开位于以下路径的 Claude Desktop 配置文件:
- Windows:
%USERPROFILE%\AppData\Roaming\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- Windows:
-
添加 WooCommerce MCP 服务配置(如果文件不存在,请创建该文件):
{
"mcpServers": {
"woocommerce": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/woocommerce-mcp-server/index.js"
],
"env": {
"WOOCOMMERCE_URL": "https://your-store.com",
"WOOCOMMERCE_CONSUMER_KEY": "your-consumer-key",
"WOOCOMMERCE_CONSUMER_SECRET": "your-consumer-secret"
}
}
}
}
- 保存文件并重启 Claude for Desktop
可用工具
getRecentOrders
从 WooCommerce 商店获取近期订单列表。
参数:
status(可选):按状态筛选订单(例如,“processing”、“completed”、“on-hold”)limit(可选,默认值:5):返回的订单数量
getOrderById
获取特定订单的详细信息。
参数:
id:要获取的订单 ID
使用 JavaScript 构建自己的 MCP 服务
本节介绍如何使用 JavaScript/Node.js 创建自己的 MCP 服务。
1. 设置新项目
mkdir my-mcp-server
cd my-mcp-server
npm init -y
2. 安装依赖项
npm install @modelcontextprotocol/sdk axios zod
3. 创建服务文件(index.js)
从基本结构开始:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
// Initialize server
const server = new McpServer({
name: "My MCP Service",
version: "1.0.0",
});
// Define and register your tools
server.tool(
"myToolName",
{
// Define parameters using Zod schemas
param1: z.string().describe("Description of param1"),
param2: z.number().optional().describe("Optional parameter")
},
async ({ param1, param2 }) => {
// Tool implementation logic here
const result = `Processed ${param1} with value ${param2 || 'none'}`;
// Return result in the expected format
return {
content: [
{
type: "text",
text: result
}
]
};
}
);
// Connect the server
const transport = new StdioServerTransport();
await server.connect(transport);
4. 使 package.json 兼容 ES 模块
{
"type": "module",
"scripts": {
"start": "node index.js"
}
}
5. 定义工具
MCP 工具由三个部分定义:
- 名称:工具的唯一标识符
- 参数:输入参数的架构(使用 Zod)
- 处理函数:处理输入并返回结果的异步函数
示例:
server.tool(
"calculateTotal",
{
items: z.array(
z.object({
name: z.string(),
price: z.number(),
quantity: z.number().int().positive()
})
).describe("Array of items to calculate total for")
},
async ({ items }) => {
const total = items.reduce((sum, item) => sum + (item.price * item.quantity), 0);
return {
content: [
{
type: "text",
text: `Total: $${total.toFixed(2)}`
}
]
};
}
);
6. 本地测试
你可以使用 stdio 传输方式在本地测试 MCP 服务:
node index.js
7. 调试提示
- 使用
console.error()进行调试,不要使用会干扰 stdio 传输的console.log() - 检查 Claude for Desktop 中的日志,查看是否有错误
- 确保工具处理函数能够妥善处理异常
资源
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。