MCP 三种传输接入——把任意外部工具服务器接进 MateClaw
为什么需要 MCP
MateClaw 内置了一批工具(搜索、文件读写、shell、时间、图像、音乐、视频、语音识别、语音合成等),但世界上的工具远不止这些。MCP 协议的设计意图就是:让不同的 AI Agent 能以统一的方式调用外部工具服务——不管这个服务是本地跑的脚本、远程 HTTP API、还是另一个 AI Agent 的能力。
三种传输方式
MateClaw 支持 MCP 的三种传输:
| 传输方式 | 适合场景 |
|---|---|
| stdio | 本地启动的 MCP Server(比如一个 Python 脚本),通过 stdin/stdout 通信 |
| SSE | 远程部署的 MCP Server,通过 Server-Sent Events 通信 |
| Streamable HTTP | 最新标准,替代 SSE 和 stdio 的统一协议 |
怎么接一个 MCP Server
控制台 → 工具 → MCP 服务 → 新建。填这些:
- 传输类型:stdio / SSE / Streamable HTTP
- 连接参数:
- stdio:命令路径和启动参数(比如
python /path/to/server.py) - SSE / Streamable HTTP:URL 和可选的认证信息
- 保存并测试——MateClaw 会连上去拉这个 MCP Server 提供的工具列表
连上之后,MCP Server 暴露的工具会自动出现在 Agent 编辑器的工具选择器里——和内置工具、技能包来源的工具并列,Tool Guard 规则一样适用。
一个实际例子:接一个数据库查询 MCP
假设你有一个 Postgres 数据库,想让 Agent 能查:
- 写一个 MCP Server,暴露
query(sql)工具 - MateClaw 里新建 MCP 服务,选 stdio,命令填
python mcp-postgres.py - 连上后,给 Agent 加上这个新工具
- Agent 就能执行 SQL 了——Tool Guard 可以配置
query工具为 require_approval
和 Tool Guard 的关系
MCP 工具和内置工具在 Tool Guard 面前一视同仁——每个 MCP Server 提供的每个工具,都可以单独配置 allow / require_approval / deny。Agent 不会因为这是外部工具就绕过安全规则。