全部步骤
阶段 4·步骤 13·动手·10 分钟

MCP — 接外部工具

把 Hermes 连到它原生不带的工具服务器。改一次配置文件,热重载一下,就多出一堆新能力。

MCP 是 Model Context Protocol 的缩写,一个让 AI Agent 跟外部工具服务器说话的标准。如果 Hermes 是一把电钻,MCP 就是一组可互换的钻头——你可以把不同的能力插上拔下,不用换钻本身。

其他 Agent 也说 MCP。Claude Desktop、Cursor、Codex 都在用。这意味着很多人已经写好了 MCP 服务器,覆盖 GitHub、文件系统、数据库、Stripe、Slack 等等一大堆东西。Hermes 能用其中任何一个。

这能带来什么

没有 MCP 的时候,Hermes 只有自己带的那些工具。那已经不少,但终究是有限的。

有了 MCP,Hermes 能做:

  • 读写你允许的特定目录(通过 filesystem 服务器)
  • 打开、审查、合并 GitHub pull request(通过 GitHub 服务器)
  • 查你的数据库
  • 控制 Stripe、Notion、Slack,以及一长串 SaaS 产品
  • 跟任何有人写了 MCP 服务器的东西说话

模式是这样:有人写一次 MCP 服务器,所有兼容 MCP 的 Agent 都能用。Hermes 直接受益于整个生态,不用自己重新实现每个集成。

在 Hermes 里启用 MCP

MCP 支持是一个可选插件。如果还没装,跑:

cd ~/.hermes/hermes-agent && uv pip install -e ".[mcp]"

这会拉下来 MCP 的库。一次性的事。

加第一个 MCP 服务器

我们加 filesystem 服务器。它给 Hermes 一个安全、范围受限的方式访问你机器上某个特定目录——当你只想让 Agent 动某个项目的文件,不想给它大权限的时候很有用。

打开 Hermes 的配置:

nano ~/.hermes/config.yaml

找到或加上一个 mcp_servers: 区块。加这样一条:

mcp_servers:
  filesystem:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/you/projects"]

/home/you/projects 换成你机器上的一个真实路径——你的 home 目录,或者某个具体项目目录。这个服务器只会让 Hermes 看到那个路径下的文件。

保存。

开始用

如果 Hermes 没在跑,启动一个新会话:

hermes

如果 Hermes 已经在跑,不用重启,热重载 MCP 配置:

/reload-mcp

现在看看你的工具列表:

/tools

你应该能看到新的工具,名字类似 mcp_filesystem_read_filemcp_filesystem_list_directory 之类的。它们以 mcp_ 开头,后面跟服务器名,这样你一眼就能看出来它们从哪来的。

让 Hermes 用一下:

列出我 projects 目录里的文件,挑一个你觉得最有意思的。

Hermes 会调 MCP filesystem 服务器、拿到列表、回你。跟用任何其他工具的模式一样。

检查点/tools 里出现了新的 mcp_ 开头的工具,Hermes 成功用了一个。整个闭环就这样。

再加一个 GitHub 服务器

做完第一个 MCP 服务器之后,加更多的就是在同一个配置文件里多加几行。

mcp_servers:
  filesystem:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/you/projects"]
  github:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxxxxxxxxxxx"

你需要一个 GitHub personal access token。去 github.com/settings/tokens 建一个,给它你希望 Hermes 能做的操作的权限范围,粘到 env 区块里。

保存,/reload-mcp 热重载。现在 Hermes 有 GitHub 工具了——能列 issue、开 PR、读 commit,看 MCP 服务器暴露了什么能力。

用命令行管理 MCP 服务器

如果你不想手改 YAML,Hermes 有对应的子命令:

hermes mcp list       # 看已配置的服务器
hermes mcp add        # 交互式添加一个服务器
hermes mcp test       # 测试某个服务器连通性
hermes mcp remove     # 移除服务器

两种方式都行,哪个顺手用哪个。

关于信任

MCP 服务器作为子进程跑在你的机器上。你给它多大权限它就有多大——filesystem 服务器可以读你指定路径下的任何文件,GitHub 服务器可以做你 token 范围内的任何事。装一个你不了解的来源的服务器之前,先看看它做什么,尤其是来源不明的。

这就是对待任何第三方工具都该有的谨慎。跟 Hermes 没关系,但值得说一次。

哪里找 MCP 服务器

modelcontextprotocol.io 的生态里有一个在增长的服务器列表。GitHub 上更多——搜 mcp-server,或者看官方的 @modelcontextprotocol npm 作用域。社区挺活跃,每周都有新的服务器出来。

学习路径走完了

这是最后一步。下一页看看 Hermes 还能做什么。