工具、技能与 MCP

路由源文件:app/server/routers/tool.pyskill.pymcp.py。与 Agent 上配置的 availableTools / availableSkills 以及运行时 ToolManager 配合使用。

/api/tools

  • GET /api/tools?type=... 列出当前可发现的工具;type 用于过滤,具体取值以服务端实现为准。
  • POST /api/tools/exec 是「直接调工具一次」的入口,适合管理端或测试。生产对话流中工具调用多数仍由智能体在会话内按策略执行,与 exec 的相同点是底层 tool 名与参数,不同点是上下文与权限由会话注入。

执行失败时,主参考已说明不一定是统一 BaseResponse 成功体,请按 HTTP 与业务 code 分分支处理。

/api/skills 与「同步到 workspace」的几种方式

场景 端点 说明
当前用户下,把一个技能拷到某个 Agent 的 workspace POST /api/skills/sync-to-agentmultipartskill_name + agent_id 技能广场/用户技能 → 单 Agent 目录。
把某 Agent 在所有用户 下的 workspace 都同步一批技能 POST /api/skills/sync-to-agent-workspaces 多租户/管理场景,注意权限与数据量。
用 Agent 已保存配置 里的技能列表,落盘到某用户的 workspace POST /api/skills/sync-workspace-skills purge_extra 为真时会删掉目录里多余技能文件以完全对齐配置。

GET /api/skills 可带 dimensionsystem / user / agent)和 agent_id 做过滤;GET /api/skills/agent-available?agent_id= 会带去重与来源标签,适合 UI 多选。

/api/mcp

  • 注册:POST /api/mcp/add,协议字段见主参考 MCPServerRequest
  • 列举:GET /api/mcp/list
  • 删除:DELETE /api/mcp/{server_name}
  • 发现/刷新能力:POST /api/mcp/{server_name}/refresh(在远端 MCP 配置变更后常用)。

MCP 工具出现在 Agent 对话中,还依赖 Agent 的可用工具/策略及服务端是否把该 MCP 暴露给该用户/会话;只注册 MCP 不等于所有对话自动能调用,需在 Agent 与权限模型里一并设计。

返回 HTTP API 参考


Sage documentation for the current repository layout. Source available under the MIT license.

This site uses Just the Docs, a documentation theme for Jekyll.