mirror of
https://github.com/crmeb/CRMEB.git
synced 2026-03-25 06:52:35 +00:00
12 KiB
12 KiB
CRMEB MCP Server
基于 Model Context Protocol (MCP) 的 CRMEB API 工具服务器,已集成到 CRMEB outapi 模块中,允许 AI 助手通过标准协议调用 CRMEB 对外开放接口。
功能特性
- 🔗 集成到 CRMEB outapi 模块,无需额外部署
- 📦 商品管理(列表、详情、创建)
- 📂 分类管理(列表、详情、创建)
- 🛒 订单管理(列表、详情、发货)
- 💰 售后管理(列表、详情、同意/拒绝退款)
- 🎫 优惠券管理
- 👥 用户管理(列表、详情、赠送余额/积分)
环境要求
- CRMEB 系统
- PHP >= 7.4
快速开始
1. 创建开放接口账号
- 登录 CRMEB 管理后台
- 进入 设置 -> 系统设置 -> 开放接口
- 创建应用获取账号和密码
2. 配置到 Claude Desktop
编辑配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"crmeb": {
"url": "http://your-domain/outapi/mcp",
"headers": {
"account": "your_account",
"password": "your_password",
"Content-Type": "application/json"
},
"disabled": false
}
}
}
配置示例(演示环境):
{
"mcpServers": {
"crmebdemo": {
"url": "https://v5.crmeb.net/outapi/mcp",
"headers": {
"account": "ceshi",
"password": "ceshiceshi",
"Content-Type": "application/json"
},
"disabled": false
}
}
}
3. 配置到 Cursor
在 Cursor 设置中添加:
{
"mcp.servers": {
"crmeb": {
"url": "http://your-domain/outapi/mcp",
"headers": {
"account": "your_account",
"password": "your_password",
"Content-Type": "application/json"
},
"disabled": false
}
}
}
参数说明:
| 参数 | 说明 | 获取方式 |
|---|---|---|
url |
CRMEB MCP 接口地址 | 固定值:http://域名/outapi/mcp |
account |
开放接口账号 | CRMEB 后台 -> 设置 -> 开放接口 |
password |
开放接口密码 | CRMEB 后台 -> 设置 -> 开放接口 |
disabled |
是否禁用该服务 | 可选,默认为 false |
注意:直接配置 account 和 password 即可,系统会自动完成认证
支持的 MCP 客户端应用
以下是目前主流的支持 MCP 协议的应用程序,您可以在这些应用中配置和使用 CRMEB MCP 服务。
1. Claude Desktop
Anthropic 官方桌面应用,首个原生支持 MCP 的客户端。
配置步骤:
- 下载并安装 Claude Desktop
- 找到配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- 添加 CRMEB MCP 配置:
{
"mcpServers": {
"crmeb": {
"url": "http://your-domain/outapi/mcp",
"headers": {
"account": "your_account",
"password": "your_password",
"Content-Type": "application/json"
},
"disabled": false
}
}
}
- 重启 Claude Desktop
使用方法: 在对话中直接询问,例如:
帮我查询 CRMEB 中的商品分类列表
2. Cursor
AI 驱动的代码编辑器,内置 MCP 支持。
配置步骤:
- 下载并安装 Cursor
- 打开设置(Settings -> Features -> Model Context Protocol)
- 添加 MCP 服务器配置:
{
"mcp.servers": {
"crmeb": {
"url": "http://your-domain/outapi/mcp",
"headers": {
"account": "your_account",
"password": "your_password",
"Content-Type": "application/json"
},
"disabled": false
}
}
}
- 或者直接编辑配置文件:
- macOS/Linux:
~/.cursor/mcp.json - Windows:
%APPDATA%\Cursor\mcp.json
- macOS/Linux:
使用方法: 在 Cursor 的 AI 聊天窗口中直接使用:
查询 CRMEB 中的订单列表
3. Cline (VS Code 扩展)
VS Code 中的自主 AI 编程助手扩展。
配置步骤:
- 在 VS Code 中安装 Cline 扩展
- 打开 VS Code 设置
- 搜索 "Cline MCP" 或在 Cline 面板中找到 MCP 配置
- 添加 MCP 服务器:
{
"mcpServers": {
"crmeb": {
"url": "http://your-domain/outapi/mcp",
"headers": {
"account": "your_account",
"password": "your_password",
"Content-Type": "application/json"
},
"disabled": false
}
}
}
使用方法: 在 Cline 面板中输入指令:
获取 CRMEB 商品 ID 为 1 的详情
4. Windsurf
Codeium 推出的 AI 原生 IDE。
配置步骤:
- 下载并安装 Windsurf
- 打开设置 -> Developer Settings -> MCP Servers
- 添加配置:
{
"mcpServers": {
"crmeb": {
"url": "http://your-domain/outapi/mcp",
"headers": {
"account": "your_account",
"password": "your_password",
"Content-Type": "application/json"
}
}
}
}
5. Continue (VS Code/JetBrains 扩展)
开源的 AI 代码助手扩展。
配置步骤:
{
"models": [...],
"mcpServers": {
"crmeb": {
"url": "http://your-domain/outapi/mcp",
"headers": {
"account": "your_account",
"password": "your_password",
"Content-Type": "application/json"
}
}
}
}
6. Zed
高性能代码编辑器,支持 MCP 协议。
配置步骤:
- 下载并安装 Zed
- 打开配置文件(
~/.zed/settings.json) - 添加 MCP 服务器配置:
{
"mcp_servers": {
"crmeb": {
"url": "http://your-domain/outapi/mcp",
"headers": {
"account": "your_account",
"password": "your_password",
"Content-Type": "application/json"
}
}
}
}
7. 其他支持 MCP 的应用
以下应用也在逐步支持 MCP 协议:
- Codeium:AI 代码补全工具
- Tabnine:AI 代码助手
- Sourcegraph Cody:代码智能助手
💡 提示:MCP 是一个开放协议,越来越多的 AI 应用正在支持。如果您的应用支持 MCP,通常可以在设置中找到 MCP 或 Model Context Protocol 相关配置项。
可用工具
分类管理
| 工具名称 | 描述 | 必需参数 | 可选参数 |
|---|---|---|---|
crmeb_category_list |
获取分类列表 | - | page, limit |
crmeb_category_detail |
获取分类详情 | id | - |
crmeb_category_create |
创建分类 | name | pid, sort |
商品管理
| 工具名称 | 描述 | 必需参数 | 可选参数 |
|---|---|---|---|
crmeb_product_list |
获取商品列表 | - | page, limit, cate_id, keyword, stock_min, stock_max |
crmeb_product_detail |
获取商品详情 | id | - |
crmeb_product_create |
创建商品 | name, cate_id, price, stock | image, unit |
订单管理
| 工具名称 | 描述 | 必需参数 | 可选参数 |
|---|---|---|---|
crmeb_order_list |
获取订单列表 | - | page, limit, status, keyword |
crmeb_order_detail |
获取订单详情 | order_id | - |
crmeb_order_delivery |
订单发货 | order_id, delivery_type | delivery_name, delivery_id |
crmeb_order_express_list |
获取物流公司列表 | - | - |
售后管理
| 工具名称 | 描述 | 必需参数 | 可选参数 |
|---|---|---|---|
crmeb_refund_list |
获取售后列表 | - | page, limit |
crmeb_refund_detail |
获取售后详情 | order_id | - |
crmeb_refund_agree |
同意退款 | order_id | - |
crmeb_refund_refuse |
拒绝退款 | order_id, refuse_reason | - |
优惠券管理
| 工具名称 | 描述 | 必需参数 | 可选参数 |
|---|---|---|---|
crmeb_coupon_list |
获取优惠券列表 | - | page, limit |
用户管理
| 工具名称 | 描述 | 必需参数 | 可选参数 |
|---|---|---|---|
crmeb_user_list |
获取用户列表 | - | page, limit, keyword |
crmeb_user_detail |
获取用户详情 | uid | - |
crmeb_user_give_balance |
赠送余额 | uid, balance | title |
crmeb_user_give_point |
赠送积分 | uid, point | title |
使用示例
在 Claude 或 Cursor 中,您可以这样使用:
帮我查询 CRMEB 中的商品列表
创建一个新商品:名称"测试商品",分类ID 1,价格 99.00,库存 100
查询订单号 202403130001 的详情
给用户 ID 为 1 的用户赠送 100 积分
接口测试
# 测试 MCP 初始化
curl -X POST "http://localhost:8011/outapi/mcp" \
-H "Content-Type: application/json" \
-H "account: your_account" \
-H "password: your_password" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
# 获取工具列表
curl -X POST "http://localhost:8011/outapi/mcp" \
-H "Content-Type: application/json" \
-H "account: your_account" \
-H "password: your_password" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
# 调用工具 - 获取商品列表
curl -X POST "http://localhost:8011/outapi/mcp" \
-H "Content-Type: application/json" \
-H "account: your_account" \
-H "password: your_password" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"crmeb_product_list","arguments":{"page":1,"limit":10}}}'
# 调用工具 - 创建分类
curl -X POST "http://localhost:8011/outapi/mcp" \
-H "Content-Type: application/json" \
-H "account: your_account" \
-H "password: your_password" \
-d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"crmeb_category_create","arguments":{"name":"新分类","sort":100}}}'
# 调用工具 - 查询库存大于500的商品
curl -X POST "http://localhost:8011/outapi/mcp" \
-H "Content-Type: application/json" \
-H "account: your_account" \
-H "password: your_password" \
-d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"crmeb_product_list","arguments":{"stock_min":500}}}'
# 使用演示环境测试
curl -X POST "https://v5.crmeb.net/outapi/mcp" \
-H "Content-Type: application/json" \
-H "account: ceshi" \
-H "password: ceshiceshi" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"crmeb_category_list","arguments":{}}}'
项目结构
crmeb/app/outapi/
├── controller/
│ ├── Mcp.php # MCP 控制器
│ ├── Login.php # 认证控制器
│ ├── StoreProduct.php # 商品控制器
│ ├── StoreCategory.php # 分类控制器
│ ├── StoreOrder.php # 订单控制器
│ ├── RefundOrder.php # 售后控制器
│ ├── StoreCoupon.php # 优惠券控制器
│ ├── User.php # 用户控制器
│ └── ...
├── route/
│ └── route.php # 路由配置
├── middleware/
│ └── AuthTokenMiddleware.php
├── mcp.md # 本文档
└── README.md # outapi 模块说明
协议说明
MCP 协议版本
- 支持版本:
2024-11-05
JSON-RPC 2.0 格式
请求格式:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "工具名称",
"arguments": { "参数": "值" }
}
}
成功响应:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{...结果数据...}"
}
]
}
}
错误响应:
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32603,
"message": "错误信息"
}
}
错误码说明
| 错误码 | 说明 |
|---|---|
| -32700 | JSON 解析错误 |
| -32600 | 请求无效(认证失败等) |
| -32601 | 方法不存在 |
| -32603 | 内部错误 |