跳转到内容

接入 MCP 服务

Stable

MCP 服务能给 octo 添加额外的工具——数据库、工单系统、内部 API——而不用为每一个都写一个内置工具。 工具默认全部开启,所以每个配置好的服务都会在会话开始时自动连接;它的工具、资源和 prompt 会和 octo 内置工具一起出现,命名为 mcp__<server>__<tool>

服务在 ~/.octo/mcp.json(用户级,始终加载)或 ./.octo/mcp.json(项目级,按名字覆盖用户级)里声明, 一个条目对应一个服务:

{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"]
}
}
}

用 TUI 里的 /mcp 查看已连接的服务,或者用 octo mcp --help 看完整配置参考。启动失败或握手超时 (10 秒)的服务会被记录日志并跳过——会话会继续跟其余成功连接的服务一起运行。

当 MCP 服务暴露大量工具时,每一轮都上传全部工具 schema 会浪费上下文、拖累准确率。Tool Search 让内置工具保持直接可见,只把 MCP 工具的 schema 延迟到一个小型桥接工具后面——每个已连接工具的 名字和一行描述始终留在 system prompt 里,模型不会误判某个工具不存在;只有完整 schema 是按需加载的:

工具 作用
mcp_describe 加载某个已列出工具的完整 JSON Schema
mcp_call 用匹配该 schema 的参数调用工具
~/.octo/config.yml
tools:
tool_search:
enabled: auto # auto(默认)| on | off
threshold_pct: 10 # 延迟的 schema ≥ 上下文窗口的 N% 时激活
  • auto(默认)—— 只有当延迟的 MCP schema 会占用至少 threshold_pct 的上下文窗口时才启用。
  • on —— 只要连接了任意 MCP 工具,就始终延迟 schema。
  • off —— 像以前一样,一次性上传所有 schema。

下一步:MCP 工具天然适合跟技能工作流组合使用。