03 MCP 能力:把外部工具拉进来 本节摘要:四类能力里,本节讲 MCP——把外部的 MCP server 连接拉进来,让 Agent 能调用外部工具(数据库、文件系统、第三方 API)。本节讲清 OpenWork 如何管理 MCP 连接,以及它作为一种「能力」如何被分享和治理。MCP 的底层机制(传输、OAuth 等)在 OpenCode 教程第 10 章已详讲,本节聚焦 OpenWork 的管理视角。 一、MCP 能力是什么:外部工具连接 MCP 能力就是「一个 MCP server 的连接」。
本节摘要:四类能力里,本节讲 MCP——把外部的 MCP server 连接拉进来,让 Agent 能调用外部工具(数据库、文件系统、第三方 API)。本节讲清 OpenWork 如何管理 MCP 连接,以及它作为一种「能力」如何被分享和治理。MCP 的底层机制(传输、OAuth 等)在 OpenCode 教程第 10 章已详讲,本节聚焦 OpenWork 的管理视角。
MCP 能力就是「一个 MCP server 的连接」。你配置一个 MCP server(本地命令或远程 URL),OpenWork 连上它,它的工具就变成 Agent 可用的能力:
配置 MCP server: { command: "npx 某包" } 或 { url: "https://..." } │ ▼ OpenWork 连接 │ ▼ server 提供的工具 [工具1, 工具2, ...] │ ▼ 成为 Agent 可用能力
这让 OpenWork 不局限于内置工具——任何 MCP server 提供的能力,都能拉进来用。
OpenWork 服务端对 MCP 连接的管理比较丰富(MCP 模块是能力管理里最大的):
| 操作 | 说明 |
|---|---|
| 注册/列表 | 添加 MCP server,列出已配置的 |
| 同步到引擎 | 把 MCP 配置同步到引擎(让它能用) |
| 云端 MCP 协调 | 云端 MCP 的协调管理 |
| 连接状态 | 跟踪每个 MCP 的连接状态(connected/failed/needs_auth) |
添加 MCP server │ ▼ OpenWork 注册 │ ▼ 同步到引擎配置(第 5 章注入) │ ▼ 引擎重建后连 MCP server │ ▼ 工具可用
OpenWork 的 MCP 分两种来源:
| 类型 | 说明 |
|---|---|
| 本地 MCP | 工作区配置的 MCP server(本地命令或指定 URL) |
| 云端 MCP | 经 Den 控制平面提供的 MCP(企业版,第 12 章) |
本地 MCP 归工作区管,云端 MCP 归组织管。两者的工具都进能力库,但来源和治理不同——云端 MCP 受组织级策略控制(第 7 章 03 节外部能力治理)。
MCP 连接的底层机制——传输、OAuth、工具进注册表——在 OpenCode 教程第 10 章已详讲:
客户端名.工具名)本节不重复这些,只强调 OpenWork 视角:OpenWork 把 MCP 当作一种「能力」来管理——和技能/命令/插件并列,走同一套 CRUD + 分享 + 治理。
MCP server 连上后,工具要进引擎才能被 Agent 用。过程大致:
MCP server 连上 │ ▼ OpenWork 把 MCP 配置注入引擎(第 5 章) │ ▼ 引擎感知 MCP,连它 │ ▼ MCP server 的工具进引擎注册表 │ ▼ Agent 可用这些工具(受权限约束)
这里 OpenWork 起的作用是「配置注入 + 协调」——它把 MCP 配置告诉引擎,引擎自己连 MCP server、注册工具。OpenWork 不直接管「工具调用」,那是引擎的事。
MCP 作为能力,同样可分享可治理:
⚠️ 第三方 MCP 的风险:和 OpenCode 教程第 10 章说的一样——OpenWork 治理「工具调用」,但 MCP server 内部干什么它管不到。接第三方 MCP 要确认可信,企业版可设白名单(第 7 章 03 节)。
把 MCP 和其他三类能力对比定位:
| 能力 | 形式 | 提供什么 |
|---|---|---|
| 技能 | 指令文件 | 给模型的「怎么做」指令 |
| 命令 | 提示模板 | 用户快捷发起 |
| MCP | server 连接 | 外部工具(能调用) |
| 插件 | 包 | 多面扩展(工具+钩子+...) |
MCP 的特点是「拉外部工具」——它让 OpenWork 的能力不局限于内置,而是能接整个 MCP 生态。
MCP 讲清了,最后一节讲插件与统一 manifest。