跳转到内容

连接门店 MCP

门店 MCP 适合给助手或后台脚本开放一小组业务动作。例如,只让助手检索订单,就只授权 orders.search。一枚令牌不能切换门店。

  1. 在电脑上进入 门店设置 → 高级自动化 → MCP 令牌。门店需有相应模块;外部调用还要求开通门店 MCP。
  2. 点 新建令牌,填用途名称,只勾选需要的工具。签发者须拥有相应权限;不能用个人 API 令牌再签发 MCP 令牌。
  3. 从 接入方式 复制地址到 MCP 客户端,选择 HTTP 传输,请求头设为 Authorization: Bearer <门店 MCP 令牌>。令牌原文只显示一次。

端点为 POST /api/v1/mcp,接受单条 JSON-RPC 2.0 消息,响应为 JSON;不是 GET 订阅地址。客户端先 initialize,再用 tools/list 读取该令牌实际可见的名称与输入 schema:

{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}

如果清单含 orders.search,以下调用最多查询一笔订单,不改变订单状态:

{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"orders.search","arguments":{"limit":1}}}
  • 401 表示令牌无效或已撤销;403 时先查门店 MCP 是否开通。HTTP 200 也可能包含 JSON-RPC 的 error。
  • 工具业务失败看 result.isError,具体原因在 result.structuredContent。写工具返回 changed:false 时,读 reason;这可能是业务前提不满足。
  • 对同一写操作,在 params.arguments.requestKey 传同一个 8–64 位可见 ASCII 字符串。JSON-RPC 的 id 只匹配请求和响应,不用于防止重复执行。
  • 设备动作返回 callId 和 PENDING 表示已经提交调用,不等于设备已经执行。对外提供服务时不要把它显示为“已播放”或“已打印”。

停用集成时,在原门店撤销该令牌。高级自动化在服务端使用内部门店身份,不需要把外部 MCP 令牌填进规则。