agent-ecosystem/landing/product-docs/zh/guide/mcp-integration.md
777genius 95e0f34d31 docs(product-docs): add zh, es, ja, fr, de doc translations
Localize the VitePress docs into Simplified Chinese, Spanish, Japanese,
French and German (18 pages each), mirroring the existing en/ru structure.

- generate the 5 new locales in config.ts from a single strings table
  (nav, sidebar, search, footer, docFooter, outline, editLink) with
  locale-prefixed links
- rework DocsCardGrid from the binary isRu check to a per-locale map so
  the home cards render translated copy and prefixed links for every locale
2026-05-31 17:50:54 +03:00

9.1 KiB
Raw Blame History

title description lang
MCP 集成 Agent Teams 文档 在 Agent Teams 中配置 MCP用于看板操作、队友协作、外部工具服务器以及自定义工具开发。 zh-Hans

MCP 集成

Agent Teams 在两个实用层级上使用 MCP

层级 作用 使用者
内置看板服务器 暴露 Agent Teams 的任务、消息、审查、进程、运行时以及跨团队工具 由应用启动的 lead 与队友
外部 MCP 服务器 添加可选工具,例如浏览器自动化、设计上下文、文档搜索或公司系统 用户与已配置的运行时

请将这两个层级分开看待。内置的 agent-teams MCP 服务器是智能体在 Agent Teams 内部进行协作的方式。外部 MCP 服务器则是可选的运行时工具。

Agent Teams 如何注入 MCP

当桌面应用启动基于 Claude 的团队成员时,它会写入一个临时的 --mcp-config JSON 文件,其中包含内置的 agent-teams 服务器:

{
  "mcpServers": {
    "agent-teams": {
      "command": "node",
      "args": ["/path/to/agent-teams-mcp/index.js"],
      "env": {
        "AGENT_TEAMS_MCP_CLAUDE_DIR": "/Users/you/.claude"
      }
    }
  }
}

在开发环境中,该命令可能通过 tsx 指向 mcp-server/src/index.ts。在打包构建中,应用会将捆绑的 MCP 服务器复制到一个稳定的应用数据路径,并使用 Node 运行它。生成的文件归应用所有,并会尽力清理。

用户级和项目级的 MCP 服务器保持独立。应用从以下位置读取已安装的服务器:

范围 位置
用户 ~/.claude.json 中的 mcpServers
Claude 配置中的本地项目条目 ~/.claude.json 中的 projects[projectPath].mcpServers
项目 <project>/.mcp.json 中的 mcpServers

对于属于某一个仓库的工具,优先使用项目范围。对于你要在多个不相关项目中复用的工具,优先使用用户范围。

项目 .mcp.json 示例

当一个团队应当看到相同的项目范围服务器时,将此文件放在项目根目录:

{
  "mcpServers": {
    "docs-search": {
      "command": "npx",
      "args": ["-y", "@acme/docs-search-mcp"],
      "env": {
        "DOCS_INDEX_PATH": "./docs-index"
      }
    },
    "local-browser": {
      "command": "node",
      "args": ["./tools/mcp/browser-server.js"]
    }
  }
}

不要把密钥放进已提交的 .mcp.json 文件。如果某个值必须保留在本地,请把凭据放在你的 shell、用户范围配置中或应用的自定义 MCP 安装流程中。

看板 MCP 工作流

当工作属于某个任务时,智能体应当使用看板 MCP 工具:

  1. 读取最新的任务上下文。
  2. 仅在真正开始工作时才启动任务。
  3. 为阻塞项、计划和最终结果添加任务评论。
  4. 在发布结果评论后将任务标记为完成。
  5. 当 lead 或队友需要知道结果时,发送一条简短消息。

智能体流程示例:

task_get -> task_start -> edit/test -> task_add_comment -> task_complete -> message_send

用直接消息进行协作。用任务评论保存持久的任务历史。

::: tip 如果该备注涉及审查、验证、变更范围或某个阻塞项,请把它放在任务上。 :::

内置 Agent Teams 工具

MCP 服务器从 agent-teams-controller/src/mcpToolCatalog.js 注册工具。注册循环位于 mcp-server/src/tools/index.ts,每个分组在 mcp-server/src/tools/ 下有自己的文件。

常用运维工具:

工具 用途
task_get 读取最新的任务上下文、评论、附件、状态以及关联关系
task_start 在工作真正开始时将任务标记为 in progress
task_add_comment 添加阻塞项备注、验证备注、计划以及最终结果摘要
task_complete 在发布最终结果评论后完成任务
message_send 向 lead、队友或用户发送一条可见的收件箱消息
review_requestreview_startreview_approvereview_request_changes 推进任务范围的审查工作流
process_registerprocess_listprocess_stopprocess_unregister 跟踪队友拥有的开发服务器、监听器以及其他后台服务

工具名称在运行时可能带有 MCP 命名空间前缀,例如 mcp__agent-teams__task_get。在 MCP 服务器内部,规范的工具名称仍然是 task_get

注册一个新的内置工具

对于 Agent Teams 仓库的工作,请通过现有的 FastMCP 结构添加内置看板工具:

  1. 将工具实现添加到 mcp-server/src/tools/ 中匹配的文件,如果该领域确实是全新的,则创建一个新的分组文件。
  2. 将工具名称添加到 agent-teams-controller/src/mcpToolCatalog.js 中相应的分组。
  3. 仅在需要新的领域分组时,才通过 mcp-server/src/tools/index.ts 接入新分组。
  4. 使用 zod 校验输入,并调用控制器 API而不是直接读取看板文件。
  5. mcp-server/test/tools.test.ts 中添加针对性测试,或在传输层很重要时添加一个 e2e 用例。

最小结构:

server.addTool({
  name: 'task_example',
  description: 'Explain what this tool does for agents.',
  parameters: z.object({
    teamName: z.string().min(1),
    claudeDir: z.string().min(1).optional(),
    taskId: z.string().min(1)
  }),
  execute: async ({ teamName, claudeDir, taskId }) => {
    assertConfiguredTeam(teamName, claudeDir);
    const controller = getController(teamName, claudeDir);
    return jsonTextContent(controller.tasks.getTask(taskId));
  }
});

不要创建绕过控制器校验、改动无关团队文件,或在没有明确任务需要的情况下暴露宽泛文件系统/进程访问权限的工具。

外部 MCP 服务器

当队友需要一个持久的工具连接,而不仅仅是一次带粘贴上下文的提示时,请使用外部 MCP 服务器。

适用场景:

  • 浏览器或网站测试工具
  • 设计或产品数据工具
  • 内部文档与搜索系统
  • 问题跟踪或支持系统
  • 使用只读凭据的数据库检查工具

不适用场景:

  • 粘贴进提示的密钥
  • 可以直接附加的一次性文件
  • 未经审查就改动生产系统的工具
  • 当更窄的项目范围已经足够时,却使用宽泛的本地文件系统访问

范围

Agent Teams 识别共享范围和面向项目的 MCP 范围。

范围 适用情形
用户或全局 同一个服务器应当在多个项目间可用
项目或本地 该服务器属于某一个仓库、工作区或团队上下文

优先选择仍能让工作流可用的最窄范围。项目范围的服务器在审查时更易于推理,因为该工具属于正在被修改的项目。

设置检查清单

在分配一个依赖某个 MCP 服务器的任务之前:

  1. 安装或配置该服务器。
  2. 确认它出现在应用针对目标范围的已安装 MCP 列表中。
  3. 在可用时,从 MCP 注册表或扩展 UI 运行诊断。
  4. 从一个低风险的只读任务开始。
  5. 在任务描述或团队简报中提及预期的 MCP 工具使用方式。

如果某个服务器诊断失败,请先修复它。更好的任务提示并不能修复缺失的命令、错误的配置路径或被拒绝的凭据。

从应用安装自定义服务器

桌面应用通过 Electron IPC 暴露 MCP 注册表 API用于搜索、浏览、安装、自定义安装、卸载、读取已安装状态以及诊断。自定义安装会在调用运行时安装路径之前校验服务器名称、范围、项目路径、环境变量名以及 HTTP 标头。

当你有一个尚未进入注册表的 MCP 包时,使用自定义安装:

字段 示例
服务器名称 docs-search
范围 project 表示此仓库,user 表示所有项目
类型 stdio 表示本地命令,httpsse 表示远程服务器
@acme/docs-search-mcp
环境变量 DOCS_INDEX_PATH=./docs-index

安装后,运行诊断并创建一个小型的只读任务来验证工具界面,然后再分配更大的工作。

任务示例

Audit the docs home page with the browser MCP. Check desktop and mobile widths, capture any layout issue as a task comment, and only edit landing/product-docs files. Run `pnpm --dir landing docs:build` before completion.

这之所以有效,是因为它指明了工具、操作界面、写入边界以及验证步骤。

安全规则

  • 不要默认给每个队友都配上每一个 MCP 服务器。
  • 除非审查需要,否则将具备写入能力的工具排除在宽泛团队之外。
  • 检查类任务优先使用只读凭据。
  • 把会影响生产的工具使用置于明确的任务评论和审查之后。
  • 将 MCP 诊断失败视为设置失败,而非智能体失败。
  • 避免在 .mcp.json 或提示中提交密钥。
  • 通过应用安装项目范围服务器时,使用绝对路径的 projectPath 值。
  • 不要编辑应用生成的 agent-teams-mcp-*.json 文件;它们是临时的启动产物。

相关指南