Skip to Content
文档AI 与自动化本地 MCP 服务器

本地 MCP 服务器

应用可以开一个只监听本机的 JSON-RPC 服务,让本地 Agent 读取仓库状态。默认关闭,需要时在「设置 → 高级 → 本地自动化(MCP)」里启用。

网络边界

  • 只绑定 127.0.0.1,不接受外部网卡连接;
  • 只接受 POST /mcp;请求体上限 1 MiB;
  • Host 必须是 127.0.0.1、localhost 或 ::1;
  • 未知方法、未知工具直接拒绝。

端点与端口在设置里可见,默认端口 47123,可改为 1024–65535 之间的值;改端口会重启服务器。

令牌

  • 每个请求都必须带 Authorization: Bearer <token>;
  • 令牌由加密随机数生成,保存在系统凭据库,不写入设置文件,也不进日志;
  • 可以在设置里显示、复制与轮换;轮换后旧令牌立即失效。

读取工具

读取工具不改变仓库状态,可以随时调用:

状态、diff、日志、分支、远端、Stash、文件搜索、文件读取、blame、标签、提交详情,以及两个版本之间的 diff。

每次调用都有边界:

项目上限
单次调用时限30 秒
diff512 KiB
单文件读取256 KiB
日志100 条提交
blame1000 行
搜索500 条匹配

超出部分会被截断,而不是让响应无限增长。

写操作需要逐次批准

目前只有三个变更动作:git.fetch、index.stage、index.unstage。

调用它们时不会立即执行,而是返回 approval_required 与一个审批 ID,并把动作排队最多两分钟:

  • 应用在主线程弹出确认框,写明仓库、动作与路径或远端;
  • Agent 也可以用 approval.resolve 回答同一个请求;
  • 拒绝、超时、未知 ID 与重放都不会执行任何操作;
  • 动作与结果会写进日志,令牌不会。

能拿到令牌的 Agent 也能用 approval.resolve 自行回答同一个请求,所以弹窗只是让你看见调用,不是阻止 Agent 自我确认。令牌只应交给你信任的 Agent。

当前不提供

  • 创建或修改文件的工具;
  • 按客户端划分的令牌权限;
  • 流式响应(返回单个 JSON 响应)。

与其他功能的区别

MCP 是给本地 Agent 的接口,不是给 ACP Agent 用的通道;两者互不依赖。ACP 的只读策略见 ACP Agent。

最后更新于