工具与能力
元工具已实现;可调用的接口清单取决于注册表登记进度(内容按业务域分批开放)。
调用前提
仅当前租户超级管理员(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、功能或数据权限校验。
不得预填此参数绕过用户确认。防重复提交也不是业务幂等;结果不明的写入应先核实业务状态,再由用户决定下一步。