跳转到内容

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: 60

Hermes 官方配置支持 ${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/PRHermes GitHub 工具或官方 GitHub MCPToken 最小权限
浏览器测试Playwright MCP限制访问域名和写操作
库/框架文档文档型 MCP核对来源和更新时间
数据库查询数据库 MCP默认只读账号、限制 Schema
公司业务系统自建 MCP工具粒度小、参数校验、审计日志

“优秀 MCP”至少满足:

  1. 来源可信、维护活跃;
  2. 工具定义清楚,输入输出结构稳定;
  3. 支持最小授权;
  4. 错误信息不泄露 Secret;
  5. 写操作可确认、可审计;
  6. 有超时、重试和真实连接测试。

四、自建公司 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 是否成功

参考资料

基于 MIT 许可发布