跳到主要内容

工具与能力

状态

元工具已实现;可调用的接口清单取决于注册表登记进度(内容按业务域分批开放)。

调用前提​

仅当前租户超级管理员(SUPERADMIN)可使用;租户须启用,主套餐为 ACTIVE,且同租户 MCP 订阅权益有效(主套餐明确包含,或另行购买)。确认权益后再完成 OAuth 授权,见客户端接入。

每次 MCP 请求仍校验凭证及当前管理员 / 租户状态;收费通过结果按固定期限缓存,命中不续期,正常命中不远程查询 PM。 OAuth 缓存至该 token 自身到期(access token 默认 7200 秒,可配置),旧 token / 缓存丢失首次使用补验;AppKey 固定缓存 2 小时,到期后下次调用补验。 收费到期 / 取消最长可延迟相应缓存窗口才拒绝,但撤销授权、管理员降权或租户禁用不享有该延迟。授权预检、换 token 和每次 refresh 仍远程核验收费,详见认证与授权。

准入通过后,tools/list 固定返回以下四个元工具;业务接口检索结果可能为空,但不会因此隐藏这四个工具。

四个元工具​

list_domains​

列出当前凭证可访问的业务域。无入参。

返回每个域的:domain(编码)、label(中文名)、grantedScopes(已授权的读写范围)、 apiCount(已开放接口数)。开始任何任务前先调用它了解可用能力。

search_apis​

按关键词检索可用接口。

参数必填说明
keyword是匹配接口编码与摘要,如"订单"、"customer"
domain否限定业务域(取 list_domains 的 domain 值)

单次最多返回 20 条;达到上限时会提示缩小关键词。

describe_api​

返回某个接口的完整签名。

参数必填说明
apiCode是接口编码(search_apis 返回的 apiCode)

返回:HTTP 方法、摘要、参数与枚举语义(paramsDesc)、所需授权范围(requiredScope)、 当前凭证是否已授权(granted)、功能权限覆盖码(permissionCode,通常为空=按 URL 自动判定)、 是否高危(highRisk)。调用 call_api 前先看它。

call_api​

调用一个开放接口。

参数必填说明
apiCode是接口编码
query否查询参数(键值对)
body否POST 请求体(结构见 describe_api)
confirm高危接口必填高危接口(highRisk=1)需 agent 先向用户复述操作并获明确同意后传 true

工具返回的 content 文本内是 JSON:成功为 {ok: true, data: ...}; 执行失败时 isError: true,文本为 {ok: false, message, code?}(code 可能缺省)。 鉴权和权益拒绝可在进入工具前以 HTTP 401 / 403 / 503 返回,不属于工具内的 isError,见错误码。

只可在确认原因后修正请求;写入超时或结果未知时,先查询业务状态,不能自动重发。

读操作与写操作​

  • 接口在注册表登记时声明 read / write;授权范围按 {域}:{read|write} 词汇管理
  • 授权页默认只勾读权限,写权限需用户显式开启
  • 服务端 instructions 已要求 agent:执行任何写操作前先向用户复述操作对象、内容及影响,并获得明确同意
  • 开启写 scope 不是对后续每笔写操作的批准;客户端 / agent 仍需保留用户确认流程

批量操作​

需要一次新建或删除多条数据时,不要循环调用单条的 create / delete:

  • 批量新建:用对应服务的 data-task-center.import-rows 提交 JSON 行(单次 ≤500 行,超出分批), 再用 data-task-center.import-result 轮询结果,只重新提交失败的行。仅系统管理员可用。
  • 批量删除:用实体的 .batch-delete,body 为 id 数组(单次 ≤200 条,销售订单与发货单 ≤50 条); 属高危接口,须先向用户逐项确认。
  • 写操作返回 92205(结果未知)或 92302(正在处理中)时先查询确认,不要自动重发。

请求结构、示例与重试规则见批量操作。

判定与审计​

身份与付费权益准入通过后,每次 call_api 还经过四道闸:接口已登记且启用(缺省即拒绝)→ 凭证 scope 覆盖接口的 域:读写 声明 → 授权员工拥有接口对应的主站功能权限(否则 92204)→ 下游业务服务按授权员工真实身份执行数据权限。

每笔调用均落审计:凭证、归因员工、接口、结果、耗时、链路 TraceId。

高危操作确认(已实现):highRisk=1 的接口未携 confirm: true 调用时, 返回 isError 结果提示先与用户确认——agent 应向用户复述将要执行的内容, 获得明确同意后携 confirm: true 重新调用。

confirm: true 只是调用方传入的参数,不是服务端验证过的人类审批证明,也不替代身份、权益、scope、功能或数据权限校验。 不得预填此参数绕过用户确认。防重复提交也不是业务幂等;结果不明的写入应先核实业务状态,再由用户决定下一步。