说实话,之前的 Hermes 虽然好用,但一直有个问题:它是个孤岛。
你可以在飞书、Telegram、Discord 上跟它聊天,它能读写你本地的文件,能跑终端命令——但这都是它自己的内置能力。如果你想让它查 GitHub Issue、翻 Linear 看板、操作数据库、控制浏览器做自动化测试,对不起,原生不支持。要么自己写插件,要么别想。
现在不是了。
Hermes 最近正式内置了 MCP(Model Context Protocol)支持。说人话就是:Hermes 现在可以连接任何遵循 MCP 协议的外部工具服务,而且大部分只需要一条命令。
MCP 到底是什么
MCP 不是 Hermes 发明的,是 Anthropic 推出来的开放协议。简单理解:它定义了一种标准,让 AI Agent 可以像调内置函数一样调用外部工具。
打个比方:以前 Hermes 就像一台只能跑预装 App 的手机。有了 MCP 之后,它变成了一个可以装第三方 App 的平台。GitHub 的 Issue 管理、Linear 的项目看板、Stripe 的支付查询、数据库直连、浏览器自动化——只要那个工具支持 MCP,Hermes 就能接。
真正好用的不是 MCP 本身,是「Catalog」
MCP 协议不算新东西,很多 Agent 工具都有。但在接入体验上大部分工具都需要你手动去 GitHub 找服务器包、抄命令、写配置,中间任何一个参数写错就报错。
Hermes 的做法不一样。它内置了一个叫 Catalog 的东西——简单说就是一个经过 Nous 团队审核的 MCP 服务器精选商店。
具体怎么用?终端敲一条命令:
hermes mcp
弹出一个交互式列表,长这样:
n8n available 管理和检查 n8n 工作流
linear enabled Linear Issue/项目管理 (远程 OAuth)
github installed (disabled) GitHub Repo + PR 工具
每一行告诉你当前状态——还没装的、已装但关了的、正在用的。光标移到哪行敲回车,自动安装。
装的时候分三步走:
第一步,配凭证。 如果需要 API Key,Hermes 会当场问你要,写完存进 ~/.hermes/.env。如果需要 OAuth(比如 Linear),它会弹浏览器让你授权,然后自动把 token 存下来。
第二步,选工具。 装好后 Hermes 会探测这个 MCP 服务器暴露了哪些工具,弹一个清单让你勾选:
Select tools for 'linear' (SPACE 切换, ENTER 确认)
[x] find_issues 按条件查找 Issue
[x] get_issue 获取单个 Issue
[x] create_issue 创建新 Issue
[ ] delete_workspace 删除 Linear 工作区
...
不是全开,是你来挑。危险的默认不勾,需要的手动开。这个设计太重要了——很多 MCP 服务器暴露几十个工具,全给 Agent 就是找死。
第三步,更新管理。 装的 MCP 不会自动更新,你敲 hermes mcp install <名称> 才会拉最新版。想改工具选择?hermes mcp configure linear 重新打开那个勾选清单。
手动配置也行,而且更灵活
如果你不想用 Catalog,或者要接的是内部自建的 MCP 服务,直接在 ~/.hermes/config.yaml 里写配置:
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "***"
tools:
include: [list_issues, create_issue, search_code]
stripe:
url: "https://mcp.stripe.com"
headers:
Authorization: "Bearer ***"
tools:
exclude: [delete_customer]
这涵盖两种类型:
- Stdio 服务器——本地跑一个子进程,通过 stdin/stdout 通信。适合本地工具,比如文件系统、本机数据库。
- HTTP 服务器——远程端点,适合公司内部 API 或 SaaS 服务。OAuth 认证也支持,Hermes 自动处理授权流程。
安全做得比想象中细致
Hermes 给 MCP 加了几个安全层面的设计,不是直接全开:
环境变量不泄露。 Stdio 服务器启动时,Hermes 不会把整个 shell 环境变量全扔过去,只传你显式写在 env: 里的那几个。
按服务器粒度开关。 不想用的直接 enabled: false,Hermes 连连接都不尝试。想收回某些工具的权限,加 tools.exclude。
工具命名自动加前缀。 所有 MCP 工具注册到 Hermes 时会自动加上 mcp_<服务器名>_<工具名> 的前缀。比如 GitHub 的 create-issue 变成 mcp_github_create_issue,不会跟内置工具冲突。
editMode 联动。 Hermes 的信任级别(review / auto / yolo)对 MCP 工具同样生效。终端命令需要审批,MCP 写的操作也一样。
动态工具发现:改了不用重启
大部分 MCP 实现只在启动时拉一次工具列表,之后改了配置需要重启 Agent。Hermes 支持 MCP 的 notifications/tools/list_changed 通知:服务器运行过程中添加或移除了工具,会主动通知 Hermes,自动刷新注册表。
如果你手动改了配置文件,会话里敲 /reload-mcp 也能即时刷新,不用退出重启。
Hermes 自己也能当 MCP 服务器
这是我觉得最妙的设计:Hermes 不仅连接 MCP 服务器,它自己也可以作为 MCP 服务器。
hermes mcp serve
启动之后,其他 MCP 客户端(Claude Code、Cursor、Codex、或任何支持 MCP 的 Agent)可以通过 stdio 连接 Hermes,把它当成一个“消息桥梁”来用——读取你在 Telegram/Discord/飞书上的对话记录、通过 Hermes 发送消息、轮询新消息事件。
比如在 Claude Code 的配置里加一行:
{
"mcpServers": {
"hermes": {
"command": "hermes",
"args": ["mcp", "serve"]
}
}
}
Claude Code 就能直接调用 Hermes 的 10 个工具:列出对话、读取消息、发送消息、获取附件、轮询事件等等。你写代码写到一半,直接让 Claude Code 通过 Hermes 往你的飞书群发一条“部署完成了”,不需要切窗口。
这功能对 Hermes 意味着什么
我刚开始用 Hermes 的时候,它的定位很明确:一个能接消息平台、能操纵本机的个人 Agent 助手。工具生态全部靠内置,天花板一眼望到头——你能做的,取决于 Nous 团队写了什么工具。
加上 MCP 之后,天花板没了。
因为它把 Hermes 的定位从“全功能 Agent”变成了“Agent 操作系统”。内置能力承担核心职责(文件操作、终端、记忆、技能),其他一切通过 MCP 接入。GitHub、Linear、Stripe、数据库、浏览器、企业内部 API——只要能写成 MCP 服务器,Hermes 就能用。
而且 Catalog 这个东西把接入成本打到了最低。以前你想让 Hermes 操作 GitHub Issue,可能需要自己写个插件、处理 API 鉴权、做错误处理。现在一条 hermes mcp install github 就搞定。这就是平台和工具的区别——平台让你写代码去接入,工具把接入写成了一行命令。
适合谁、不适合谁
已经装了 Hermes 的人,都该试一下。 MCP 支持已经装好了,打开终端敲 hermes mcp 看一眼 Catalog 列表,挑一个最用得上的装一下,五分钟就能感受到变化。
想用 Hermes 但觉得功能不够的人,现在理由少了一个。 以前你说“Hermes 不支持 XXX”,现在只要有 XXX 的 MCP 服务器,装一下就行。
不适合什么情况? 如果内置工具已经够用,不需要接外部服务,那 MCP 对你来说暂时没差。另外,不要无脑装一堆——Catalog 里每个条目都经过 Nous 审核,但还是看清楚 manifest 里的 source 仓库地址和 bootstrap 命令再装。
五分钟上手流程
- 确保 MCP 依赖已装(标准安装脚本已经带了,没装的话跑
cd ~/.hermes/hermes-agent && uv pip install -e ".[mcp]") - 终端敲
hermes mcp打开 Catalog - 挑一个感兴趣的,比如
filesystem或github,回车安装 - 按提示配好 API Key 或 OAuth,勾选需要的工具
- 启动或重启 Hermes 会话,直接跟它说“列出我 GitHub 上的 open issues”
就这么简单。
MCP 功能文档:https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp 使用指南:https://hermes-agent.nousresearch.com/docs/guides/use-mcp-with-hermes Catalog manifest 仓库:https://github.com/NousResearch/hermes-agent/tree/main/optional-mcps