要扩展hermes agent访问外部服务,需配置mcp集成:一、编辑~/.hermes/config.yaml注册服务器;二、用npx安装对应mcp服务器包;三、重启hermes agent加载工具;四、通过allowed_tools/blocke d_tools限制权限;五、运行hermes run验证连通性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望扩展 Hermes Agent 的功能,使其能够访问 GitHub、数据库或本地文件系统等外部服务,则需要正确配置 Model Context Protocol(MCP)集成。以下是实现此目标的具体操作步骤:
一、编辑 ~/.hermes/config.yaml 配置文件
该步骤用于声明并注册 MCP 服务器,使 Hermes 能识别并连接到指定的外部服务。配置需严格遵循 YAML 格式,每个服务器必须包含 name、command、args 和 env(如需认证)字段。
1、使用文本编辑器打开配置文件:nano ~/.hermes/config.yaml
2、在 mcp_servers 下添加至少一个服务器定义,例如 GitHub 服务器:
3、确保 GITHUB_TOKEN 环境变量值为有效的个人访问令牌,且具备 repo 和 issues 权限
4、如需同时启用 PostgreSQL 和文件系统支持,按相同结构追加 postgres 和 filesystem 条目,注意 database URL 和文件路径必须真实可访问
二、安装对应 MCP 服务器包
每个 MCP 服务器均以独立 npm 包形式分发,需通过 npx 在运行时动态加载。Hermes 不预装任何服务器,因此必须确保所需包已全局可用或能被 npx 正确解析。
1、执行命令安装 GitHub 服务器:npx -y @modelcontextprotocol/server-github
2、安装 PostgreSQL 服务器:npx -y @modelcontextprotocol/server-postgres
3、安装文件系统服务器(指定根目录为 /home/user/projects):npx -y @modelcontextprotocol/server-filesystem /home/user/projects
4、验证各包是否可执行:运行 npx @modelcontextprotocol/server-github --version 等命令确认输出版本号
三、重启 Hermes Agent 并加载新工具
配置变更仅在 Agent 启动时读取,因此必须重启进程才能使新增的 MCP 服务器生效。重启后,MCP 工具将自动注册进 Hermes 的工具集,并可通过名称调用。
1、执行重启命令:hermes restart
2、等待服务完全停止并重新初始化完成,终端应显示 “Agent restarted successfully”
3、检查工具列表是否包含新工具:hermes tools list | grep mcp-
4、确认输出中存在类似 mcp-github-list_issues、mcp-filesystem-read_file 的条目
四、限制工具权限以保障安全
MCP 服务器默认开放全部工具,但生产环境中必须显式约束能力范围,防止误操作或恶意调用造成数据泄露或破坏。权限控制通过 allowed_tools 和 blocked_tools 字段实现,优先级为 allowed_tools > blocked_tools。
1、在 GitHub 服务器配置块内添加 allowed_tools 列表,仅保留必需项:- github_list_issues - github_create_issue
2、明确禁用高危操作,例如删除仓库或修改敏感文件:blocked_tools: - github_delete_repository - filesystem_delete_path
3、保存 config.yaml 后再次执行 hermes restart
4、运行 hermes doctor 验证配置语法与工具白名单是否加载成功
五、验证 MCP 连接与基础功能
完成配置与重启后,需通过实际工具调用验证端到端连通性。此步骤确认认证凭据有效、网络可达、服务响应正常,是排除集成故障的关键环节。
1、发起一次 GitHub 问题列表查询:hermes run --tool mcp-github-list_issues --arg owner=nousresearch --arg repo=hermes-agent
2、观察返回是否为 JSON 格式的 issue 数组,且 status code 为 200
3、尝试读取本地项目中的 README.md:hermes run --tool mcp-filesystem-read_file --arg path=README.md
4、若任一命令返回认证失败、连接拒绝或空响应,则需检查 token 时效、文件路径权限或防火墙设置











