第24篇:MCP——让 AI 接入千万工具
Hermes 功能详解第24篇:MCP 协议。Model Context Protocol 接入外部工具。
第24篇:MCP——让 AI 接入千万工具
你有没有想过,让 Hermes 直接用上 GitHub、数据库、浏览器,甚至你们公司内部的 API?以前你可能得专门写一个 Hermes 原生工具,现在不用了——MCP(Model Context Protocol) 就是干这个的。
简单说,MCP 让 Hermes 能连上外部的工具服务器,把别人已经做好的工具直接拿过来用。如果你想让 Hermes 用某个已经存在的工具,MCP 通常是最省事的方式。
从 Claude Code 迁移过来的朋友注意:
~/.claude.json里的mcpServers对应 Hermes 的mcp_servers,用hermes import-agent claude-code可以一键迁移,连 skills 和 instructions 一起搬。
MCP 能给你什么?
- 不用先写原生工具,直接接入外部工具生态
- 本地 stdio 服务器和远程 HTTP 服务器可以写在同一个配置里
- 启动时自动发现并注册工具
- 支持按服务器过滤,只暴露你想让 Hermes 看到的工具
快速上手
MCP 随标准安装自带,不需要额外步骤。在 ~/.hermes/config.yaml 里加一个服务器:
mcp_servers:
filesystem:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
然后启动 Hermes:
hermes chat
接着直接问它:
列出 /home/user/projects 里的文件,并总结一下仓库结构。
Hermes 会自动发现 MCP 服务器的工具,像用普通工具一样调用它们。
精选目录:一键安装
Hermes 自带一个经过 Nous 团队审核的 MCP 服务器目录,默认全部禁用,按需安装:
hermes mcp # 交互式选择器(默认)
hermes mcp catalog # 纯文本列表,适合脚本
hermes mcp install deepwiki # 按名称安装
在桌面版里你还可以直接说一句“add the Linear MCP”,Hermes 会调用 manage_connections,聊天里弹出确认卡片,点 Install 就会写入和命令行一样的配置。命令行和消息应用里,它则会告诉你该敲哪些命令。
选择器会显示每个条目的状态:
deepwiki available Ask questions about public GitHub repositories
linear enabled Linear issue/project management (remote OAuth)
github installed (disabled) GitHub repo + PR tools
按 Enter 即可安装、启用、禁用或卸载。目录条目存放在 hermes-agent 仓库的 optional-mcps/ 目录下——出现在那里就意味着 Nous 审核过。
注意:第三方 n8n 桥接已经不再支持从目录安装了。已经装过的连接、凭证、文件和工具选择都保留,会继续作为自定义条目出现在选择器里,你仍然可以配置工具、启用或禁用,只是不能再从目录重装。这个变化不会把老连接迁移到 n8n 官方 MCP 服务器。
安装时可能需要:
- API key——安装时提示,写入
~/.hermes/.env - OAuth(远程 MCP)——首次连接时自动打开浏览器
- 第三方 OAuth(如 Google/GitHub)——Hermes 会提示你先运行
hermes auth <provider>
n8n 官方 MCP 服务器
n8n-official 这个目录条目会通过 HTTP + 浏览器 OAuth 直连你的 n8n Cloud 或自托管实例,不需要本地桥接,也不需要 n8n API key。
- 让 owner 或 admin 在 n8n 里打开 Settings > Instance-level MCP
- 进 Connect,复制完整的 Server URL(结尾是
/mcp-server/http,不是编辑器地址) - 运行
hermes mcp install n8n-official,提示时填入这个 URL - 完成浏览器 OAuth;需要的话可以跑
hermes mcp login n8n-official,或在 Desktop / 面板里点 Authorize - 用
hermes mcp configure n8n-official挑工具,然后开个新会话或用/reload-mcp
Hermes 后端必须能访问到这个 URL。权限和工作流暴露由 n8n 控制,有些工具会修改或运行工作流,用之前留意一下。
安装时选工具
配置好凭证后,Hermes 会探测服务器上的所有工具,让你勾选:
Select tools for 'linear' (SPACE toggle, ENTER confirm)
[x] find_issues Find issues matching a query
[x] get_issue Get a single issue
[x] create_issue Create a new issue
[ ] delete_workspace Delete a Linear workspace
默认勾选规则:你之前的安装选择 > 清单里的 tools.default_enabled > 全部勾选。如果探测失败,安装仍会成功,只是暂时不写过滤规则,等服务器可达后再用 hermes mcp configure <name> 调整。
需要自带 OAuth 应用的条目(不支持 DCR)
有些厂商的远程 MCP 走 OAuth,但不提供动态客户端注册(DCR)——每个客户端都得是你在厂商开发者后台预先注册的应用。Asana 的 V2 服务器(https://mcp.asana.com/v2/mcp)就是例子:老的 V1 https://mcp.asana.com/sse 接受任意客户端,V2 不行。
这类清单会把凭证声明在 auth.env、把客户端固定在 auth.oauth 里,安装时(命令行、面板或 Desktop)会提示你填 Client ID / Client secret,存进 profile 的 .env,config.yaml 里只写 ${VAR} 引用。装完记得看清单里的 post_install 说明,按它要求的应用类型和回调地址去注册,然后跑 hermes mcp login <name> 并重启(或 /reload-mcp)对应的会话或网关。因为客户端带了固定的 redirect_port,Hermes 会保留注册好的本地回调(比如 http://localhost:27890/callback),所以点授权的浏览器必须和 Hermes 进程在同一台机器上;远程主机的话用 SSH 端口转发跑 hermes mcp login。
信任模型
安装目录条目会执行清单里定义的命令(git clone、pip install 等)。虽然每个条目都经过 Nous 的 PR 审核,但安装前还是建议读一下 manifest,特别是 source: 仓库地址和 install.bootstrap: 命令。清单在 GitHub 的 optional-mcps/<name>/manifest.yaml,选择器安装时也会打印 source: URL 方便你快速核实。
版本兼容与变量替换
清单会锁定 manifest_version。如果你装的 Hermes 版本太老,选择器会提示 ⚠ '<name>' requires a newer Hermes,运行 hermes update 升级即可。
另外,transport.command、transport.args、transport.url 和 headers 里的 ${VAR} 占位符会在运行时自动替换成环境变量值——方便你管理密钥和动态配置。也支持 Cursor 风格的上下文变量(区分大小写):${userHome}、${workspaceFolder}、${workspaceFolderBasename}、${pathSeparator} / ${/}。
MCP 让 Hermes 的边界一下子拓宽了。不用再造轮子,直接接上现成的工具生态。 去 hermes mcp 看看有什么好玩的吧!
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/features/mcp