MCP —— 用什么做
MCP(Model Context Protocol) 是 Hermes 系统的能力层,提供 Agent 与外部世界交互的标准化接口。它回答"用什么来做这件事"。
涵盖范围
- 数据工具:TuShare 金融数据、Wind MCP、MySQL 查询
- 文件操作:读写、搜索、编辑文件
- 网络工具:Web 搜索、HTTP 请求、浏览器控制(PinchTab)
- 系统工具:终端执行、进程管理、代码执行
- 平台集成:Telegram、Trilium ETAPI、Forgejo API
- 外部服务:定时任务、子任务委派、MCP server 注册
存在形态
| 形态 | 说明 | 具体位置 |
|---|---|---|
| 📄 配置文件 | MCP server 的注册信息和启动参数 | config.yaml → mcp_servers 段(stdio / HTTP 两种模式) |
| ⚙️ 子进程(stdio) | 本地 MCP server 以独立子进程运行,通过 stdin/stdout 通信 | Agent 启动时由 MCP client 进程管理器自动 spawn |
| 🌐 外部服务(HTTP/SSE) | 远程 MCP server 通过 HTTP 或 SSE 连接 | URL 在 config.yaml 中配置,运行时按需建立连接 |
| 🧩 内置工具 | Hermes 自带的 MCP 工具函数(非独立 server) | tools/ 目录下的 Python 模块(terminal, read_file, write_file 等) |
| 🔄 运行时发现 | 工具列表在 agent 每次 turn 前动态注入上下文 | MCP client 通过 tools/list 和 tools/call 协议交互 |
| 📋 预配工具集 | 按场景组合的工具分组 | config.yaml → toolsets 段,如 hermes-cli 包含 terminal/file/process 等 |
要点
MCP 是"工具箱"层——不定义谁来做(那是 Agent 的事),不定义怎么做(那是 Skill 的事),只定义有什么能用。一套 MCP 工具可以被多个 Agent 和 Skill 复用,是系统的能力底座。