使用说明
openclaw mcp
原生MCP(模型上下文协议)支持 开爪.
状态: ✅ 实施完成——PR就绪
这是一个社区贡献,实现了对OpenClaw的原生MCP客户端支持,针对问题 #4834 和 #13248.
这增加了什么
用户可以在中配置MCP服务器 openclaw.json 并让他们的工具与原生OpenClaw工具一起出现——不需要自定义技能。
{
"agents": {
"defaults": {
"mcp": {
"servers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"]
},
"github": {
"command": "uvx",
"args": ["mcp-server-github"],
"env": {
"GITHUB_TOKEN": "secret://env/GITHUB_TOKEN"
}
}
}
}
}
}
}
建筑
看 设计.md 对于整个架构。关键部件:
| 模块 | 目的 |
|---|---|
config.ts |
Zod验证了MCP服务器的配置模式 |
secret-resolver.ts |
secret:// URI解析(GCP、AWS、Vault、env) |
tool-bridge.ts |
MCP工具模式→ OpenClaw代理工具转换 |
resource-bridge.ts |
MCP资源发现+上下文注入 |
client-stdio.ts |
带碰撞恢复的标准运输 |
client-sse.ts |
带有重新连接的SSE/HTTP传输 |
manager.ts |
所有MCP服务器的生命周期编排器 |
实施状态
| 阶段 | 描述 | 状态 |
|---|---|---|
| 0 | 脚手架和CI | ✅ 完成 |
| 1 | 配置与验证 | ✅ 已完成(22项测试) |
| 2 | 客户端生命周期 | ✅ 完成 |
| 3 | 工具桥 | ✅ 完成(20次测试) |
| 4 | 资源桥 | ✅ 已完成(12项测试) |
| 5 | 秘密解析器 | ✅ 已完成(18项测试) |
| 6 | 经理 | ✅ 已完成(15项测试) |
| 7 | 集成布线 | ✅ 完成 |
| 8 | E2E和安全测试 | ✅ 完成 |
| 9 | 文件 | ✅ 完成 |
| 10 | 公关准备 | ✅ 完成 |
测试覆盖范围: 99+个单元/集成测试通过所有MCP模块。
文件
| 文档 | 描述 |
|---|---|
| 要求.md | 功能和非功能要求 |
| 设计.md | 架构、组件设计、安全模型 |
| 计划.md | 分阶段实施计划 |
| PR_DESCRIPTION.md | 拉取请求描述 |
关键设计决策
- 安全第一: 所有MCP输出都包装为不受信任的外部内容(与
web_fetch) - 秘密管理:
secret://凭证的URI——从不存储在明文日志中 - 有弹性的: 崩溃服务器的指数回退自动重启
- 不破裂: 纯粹的可添加性——不改变现有行为
mcp配置 - 命名空间工具:
mcp_{server}_{tool}命名可防止冲突
许可证
与OpenClaw相同(参见 openclaw 许可条款)。
