主题
Hermes MCP 与自动化
结论
MCP 负责“连接外部系统”,Delegation、Cron、Gateway 和 Kanban 负责“怎样执行和交付”。接入时先做最小只读闭环,再增加写权限和自动化。
一、MCP 适用边界
优先使用内置工具;只有满足以下条件才增加 MCP:
- 外部系统已有稳定 MCP;
- 需要调用公司内部 API;
- 内置工具不能提供结构化数据或业务动作;
- 同一能力需要被多个 Agent 复用。
不推荐重复接入已有内置能力。例如已经有可靠的文件工具时,不必再增加无限制文件系统 MCP。
二、两种传输方式
本地 stdio
yaml
mcp_servers:
example:
command: "npx"
args: ["-y", "example-mcp-package"]
timeout: 120
connect_timeout: 60远程 HTTP
yaml
mcp_servers:
company-api:
url: "https://mcp.example.com/mcp"
headers:
Authorization: "Bearer ${COMPANY_MCP_TOKEN}"
timeout: 180
connect_timeout: 60Hermes 官方配置支持 ${VAR_NAME} 环境变量替换,不支持裸 $VAR。Secret 保存在 .env,不要直接写进仓库或命令参数。
CLI 管理方式:
powershell
hermes mcp catalog
hermes mcp install <name>
hermes mcp add <name> --url <endpoint>
hermes mcp add <name> --command <cmd> --args <args...>
hermes mcp list
hermes mcp test <name>
hermes mcp configure <name>
hermes mcp remove <name>配置后重新启动或执行 /reload-mcp,再检查真实工具清单。重新加载会改变工具集合并使提示缓存失效,因此当前安全设置可能要求确认。
三、MCP 选型建议
按需求选择,不维护固定“热门清单”:
| 需求 | 推荐方向 | 注意事项 |
|---|---|---|
| 最新网页资料 | Hermes Web/Firecrawl 优先 | 避免重复配置多个搜索入口 |
| GitHub Issue/PR | Hermes GitHub 工具或官方 GitHub MCP | Token 最小权限 |
| 浏览器测试 | Playwright MCP | 限制访问域名和写操作 |
| 库/框架文档 | 文档型 MCP | 核对来源和更新时间 |
| 数据库查询 | 数据库 MCP | 默认只读账号、限制 Schema |
| 公司业务系统 | 自建 MCP | 工具粒度小、参数校验、审计日志 |
“优秀 MCP”至少满足:
- 来源可信、维护活跃;
- 工具定义清楚,输入输出结构稳定;
- 支持最小授权;
- 错误信息不泄露 Secret;
- 写操作可确认、可审计;
- 有超时、重试和真实连接测试。
四、自建公司 MCP 的原则
不要暴露一个万能 execute 工具。按业务动作拆分:
text
list_projects
get_project
list_pipelines
get_pipeline_status
create_issue
trigger_pipeline建议:
- 查询工具与写工具分开;
- 服务端校验项目范围和参数;
- 删除、发布、部署使用二次确认;
- 返回稳定 JSON,而不是整段日志;
- 每次调用记录用户、工具、参数摘要和结果;
- Token 由服务端或 Secret Store 管理。
五、自动化机制选择
Delegation
适合并行的短任务:
- 多个独立资料源研究;
- 代码审查与安全审查;
- 互不依赖的模块分析。
父会话结束后子任务不保证继续,不用于必须持久运行的工作。
Cron
适合:
- 每日技术资讯摘要;
- 定期检查依赖或站点状态;
- 周期性整理日志和报告;
- 计划时间执行的业务任务。
Cron 必须同时定义:
text
时间表 + Prompt/脚本 + 工作目录 + Skill + 交付目标 + 失败处理定时任务建议保持幂等,并先用 hermes cron run <id> 手动验证。Hermes Cron 默认跳过 Memory 注入,不能假设交互会话中的长期记忆会自动进入任务。
Gateway
用于从消息平台访问 Hermes。Gateway 是运行和交付通道,不是定时器。配置 Cron 时应明确把结果交付到已连接平台;本地 TUI/桌面会话不应被假定为持续在线的通知目标。
Kanban
适合多个 Profile/Worker 的持久任务队列。普通一次性任务不要为了“多 Agent”引入 Kanban。
六、安全上线顺序
text
1. 连接服务器
2. 列出工具
3. 调用无参数只读工具
4. 调用有限范围查询
5. 检查错误和日志是否脱敏
6. 开放低风险写工具
7. 为高风险动作增加人工确认
8. 最后再接入 Cron 或 Gateway七、排障清单
text
[ ] 当前 Hermes 版本是否支持该命令/配置字段
[ ] MCP SDK 或 npx/uvx 前置依赖是否存在
[ ] command 是否在桌面版运行环境 PATH 中
[ ] URL 是否是真实 MCP endpoint,而不是产品介绍页
[ ] Token 是否有效且权限足够
[ ] connect_timeout 是否过短
[ ] 工具是否被当前平台配置禁用
[ ] 配置后是否重启或 reload
[ ] 实际 mcp list/test 是否成功