2026-03-24 09:21:52 +08:00

12 KiB
Raw Blame History

CRMEB MCP Server

基于 Model Context Protocol (MCP) 的 CRMEB API 工具服务器,已集成到 CRMEB outapi 模块中,允许 AI 助手通过标准协议调用 CRMEB 对外开放接口。

功能特性

  • 🔗 集成到 CRMEB outapi 模块,无需额外部署
  • 📦 商品管理(列表、详情、创建)
  • 📂 分类管理(列表、详情、创建)
  • 🛒 订单管理(列表、详情、发货)
  • 💰 售后管理(列表、详情、同意/拒绝退款)
  • 🎫 优惠券管理
  • 👥 用户管理(列表、详情、赠送余额/积分)

环境要求

  • CRMEB 系统
  • PHP >= 7.4

快速开始

1. 创建开放接口账号

  1. 登录 CRMEB 管理后台
  2. 进入 设置 -> 系统设置 -> 开放接口
  3. 创建应用获取账号和密码

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 的客户端。

配置步骤:

  1. 下载并安装 Claude Desktop
  2. 找到配置文件:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. 添加 CRMEB MCP 配置:
{
  "mcpServers": {
    "crmeb": {
      "url": "http://your-domain/outapi/mcp",
      "headers": {
        "account": "your_account",
        "password": "your_password",
        "Content-Type": "application/json"
      },
      "disabled": false
    }
  }
}
  1. 重启 Claude Desktop

使用方法: 在对话中直接询问,例如:

帮我查询 CRMEB 中的商品分类列表

2. Cursor

AI 驱动的代码编辑器,内置 MCP 支持。

配置步骤:

  1. 下载并安装 Cursor
  2. 打开设置Settings -> Features -> Model Context Protocol
  3. 添加 MCP 服务器配置:
{
  "mcp.servers": {
    "crmeb": {
      "url": "http://your-domain/outapi/mcp",
      "headers": {
        "account": "your_account",
        "password": "your_password",
        "Content-Type": "application/json"
      },
      "disabled": false
    }
  }
}
  1. 或者直接编辑配置文件:
    • macOS/Linux: ~/.cursor/mcp.json
    • Windows: %APPDATA%\Cursor\mcp.json

使用方法: 在 Cursor 的 AI 聊天窗口中直接使用:

查询 CRMEB 中的订单列表

3. Cline (VS Code 扩展)

VS Code 中的自主 AI 编程助手扩展。

配置步骤:

  1. 在 VS Code 中安装 Cline 扩展
  2. 打开 VS Code 设置
  3. 搜索 "Cline MCP" 或在 Cline 面板中找到 MCP 配置
  4. 添加 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。

配置步骤:

  1. 下载并安装 Windsurf
  2. 打开设置 -> Developer Settings -> MCP Servers
  3. 添加配置:
{
  "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 代码助手扩展。

配置步骤:

  1. 安装 Continue 扩展
  2. 打开 Continue 配置文件(~/.continue/config.json
  3. 添加 MCP 配置:
{
  "models": [...],
  "mcpServers": {
    "crmeb": {
      "url": "http://your-domain/outapi/mcp",
      "headers": {
        "account": "your_account",
        "password": "your_password",
        "Content-Type": "application/json"
      }
    }
  }
}

6. Zed

高性能代码编辑器,支持 MCP 协议。

配置步骤:

  1. 下载并安装 Zed
  2. 打开配置文件(~/.zed/settings.json
  3. 添加 MCP 服务器配置:
{
  "mcp_servers": {
    "crmeb": {
      "url": "http://your-domain/outapi/mcp",
      "headers": {
        "account": "your_account",
        "password": "your_password",
        "Content-Type": "application/json"
      }
    }
  }
}

7. 其他支持 MCP 的应用

以下应用也在逐步支持 MCP 协议:

  • CodeiumAI 代码补全工具
  • TabnineAI 代码助手
  • 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 内部错误

相关链接