本页面是主 MCP 文档的紧凑参考手册。 概念指南请参阅: MCP(Model Context Protocol) 在 Hermes 中使用 MCP mcp servers: <服务器名称 : command: "..." stdio 服务器 args: [] env: {} url: "..." HTTP 服务器

MCP 配置参考

> 📖 本文档翻译自 Hermes Agent 官方文档 > 最后更新:2026-04-16

本页面是主 MCP 文档的紧凑参考手册。

概念指南请参阅:

根配置结构

mcp_servers: <服务器名称>: command: "..." # stdio 服务器 args: [] env: {}

url: "..." # HTTP 服务器 headers: {}

enabled: true timeout: 120 connect_timeout: 60 tools: include: [] exclude: [] resources: true prompts: true

服务器配置键

类型适用范围含义
command字符串stdio要启动的可执行文件
args列表stdio子进程的参数
env映射stdio传递给子进程的环境变量
url字符串HTTP远程 MCP 端点
headers映射HTTP远程服务器请求的请求头
enabled布尔值两者设为 false 时完全跳过该服务器
timeout数字两者工具调用超时时间
connect_timeout数字两者初始连接超时时间
tools映射两者过滤和实用工具策略
auth字符串HTTP认证方式。设为 oauth 启用 OAuth 2.1 with PKCE
sampling映射两者服务器发起的 LLM 请求策略(参见 MCP 指南)

tools 策略键

类型含义
include字符串或列表白名单——仅注册指定的服务器原生 MCP 工具
exclude字符串或列表黑名单——排除指定的服务器原生 MCP 工具
resources布尔值启用/禁用 list_resources + read_resource
prompts布尔值启用/禁用 list_prompts + get_prompt

过滤语义

include

如果设置了 include,则仅注册指定的服务器原生 MCP 工具。

tools: include: [create_issue, list_issues]

exclude

如果设置了 exclude 且未设置 include,则注册除指定名称外的所有服务器原生 MCP 工具。

tools: exclude: [delete_customer]

优先级

如果两者都设置了,include 优先。

tools: include: [create_issue] exclude: [create_issue, delete_issue]

结果:

  • create_issue 仍然被允许
  • delete_issue 被忽略,因为 include 优先

实用工具策略

Hermes 可能为每个 MCP 服务器注册以下实用工具包装器:

资源(Resources):

  • list_resources
  • read_resource

提示(Prompts):

  • list_prompts
  • get_prompt

禁用资源

tools: resources: false

禁用提示

tools: prompts: false

能力感知注册

即使设置了 resources: trueprompts: true,Hermes 也只在 MCP 会话实际暴露相应能力时才注册这些实用工具。

因此以下情况是正常的:

  • 你启用了 prompts
  • 但没有出现任何提示实用工具
  • 因为服务器不支持 prompts

enabled: false

mcp_servers: legacy: url: "https://mcp.legacy.internal" enabled: false

行为:

  • 不尝试连接
  • 不进行工具发现
  • 不注册任何工具
  • 配置保留在原位,供后续重新启用

空结果行为

如果过滤移除了所有服务器原生工具且未注册任何实用工具,Hermes 不会为该服务器创建空的 MCP 运行时工具集。

示例配置

安全的 GitHub 白名单

mcp_servers: github: command: "npx" args: ["-y", "@modelcontextprotocol/server-github"] env: GITHUB_PERSONAL_ACCESS_TOKEN: "***" tools: include: [list_issues, create_issue, update_issue, search_code] resources: false prompts: false

Stripe 黑名单

mcp_servers: stripe: url: "https://mcp.stripe.com" headers: Authorization: "Bearer ***" tools: exclude: [delete_customer, refund_payment]

仅资源的文档服务器

mcp_servers: docs: url: "https://mcp.docs.example.com" tools: include: [] resources: true prompts: false

重新加载配置

更改 MCP 配置后,使用以下命令重新加载服务器:

/reload-mcp

工具命名

服务器原生的 MCP 工具变为:

mcp_<服务器>_<工具>

示例:

  • mcp_github_create_issue
  • mcp_filesystem_read_file
  • mcp_my_api_query_data

实用工具遵循相同的前缀模式:

  • mcp_&lt;服务器&gt;_list_resources
  • mcp_&lt;服务器&gt;_read_resource
  • mcp_&lt;服务器&gt;_list_prompts
  • mcp_&lt;服务器&gt;_get_prompt

名称清理

服务器名称和工具名称中的连字符(-)和点号(.)在注册前会被替换为下划线。这确保工具名称是 LLM 函数调用 API 的有效标识符。

例如,名为 my-api 的服务器暴露了名为 list-items.v2 的工具,变为:

mcp_my_api_list_items_v2

在编写 include / exclude 过滤器时请记住这一点——使用原始的 MCP 工具名称(带连字符/点号),而非清理后的版本。

OAuth 2.1 认证

对于需要 OAuth 的 HTTP 服务器,在服务器条目上设置 auth: oauth

mcp_servers: protected_api: url: "https://mcp.example.com/mcp" auth: oauth

行为:

  • Hermes 使用 MCP SDK 的 OAuth 2.1 PKCE 流程(元数据发现、动态客户端注册、Token 交换和刷新)
  • 首次连接时,会打开浏览器窗口进行授权
  • Token 持久化到 ~/.hermes/mcp-tokens/&lt;服务器&gt;.json,跨会话复用
  • Token 自动刷新;仅在刷新失败时需要重新授权
  • 仅适用于 HTTP/StreamableHTTP 传输(基于 url 的服务器)

编辑此页

Continue Exploring

继续探索

这不是课程式的上一篇下一篇,而是从当前节点向外继续漫游。

核心功能

MCP 集成 (MCP Integration)

MCP 让 Hermes Agent 连接到外部工具服务器,使 Agent 能够使用 Hermes 本身之外的工具——GitHub、数据库、文件系统、浏览器栈、内部 API 等。 如果你曾想让 Hermes 使用一个已经存在于其他地方的工具,MCP 通常是最简洁的方式。 - 无需先编写原生 Hermes 工具即可访问外

教程与指南

使用 MCP

本指南展示如何在实际日常工作流中使用 MCP 与 Hermes Agent。 如果说功能页面解释了 MCP 是什么,那么本指南则是关于如何快速、安全地从中获取价值。 在以下情况使用 MCP: 已有 MCP 形式的工具,且你不想自己构建 Hermes 原生工具 你想让 Hermes 通过干净的 RPC 层操作本地或远程系

参考

CLI 命令参考

本页介绍从终端运行的 命令行命令 。 聊天内斜杠命令请参见斜杠命令参考。 hermes [全局选项] <命令 [子命令/选项] hermes chat [options] 常用选项: 示例: hermes hermes chat -q "总结最新的 PR" hermes chat --provider openrout

参考

斜杠命令参考

原文链接:Slash Commands Reference Hermes 有两个斜杠命令(Slash Command)界面,均由 hermes cli/commands.py 中的中央 COMMAND REGISTRY 驱动: 交互式 CLI(命令行界面) 斜杠命令 — 由 cli.py 分发,支持从注册表自动补全

参考

配置文件命令参考

本页面涵盖所有与 Hermes 配置文件 相关的命令。通用 CLI 命令请参见 CLI 命令参考。 hermes profile <子命令 管理配置文件的顶级命令。不带子命令运行 hermes profile 会显示帮助。 hermes profile list 列出所有配置文件。当前活跃的配置文件用 标记。

参考

环境变量

原文链接:Environment Variables Reference 所有变量都放在 /.hermes/.env 文件中。你也可以通过 hermes config set VAR value 来设置。 变量 描述 --- --- OPENROUTER API KEY OpenRouter API 密钥(推荐,灵活性

Reference

参考

命令、配置、环境变量、技能目录与常见问题,适合作为索引与查阅入口。

11 篇文档11 个节点

当前节点

MCP 配置参考

同主题继续探索

CLI 命令参考

本页介绍从终端运行的 命令行命令 。 聊天内斜杠命令请参见斜杠命令参考。 hermes [全局选项] <命令 [子命令/选项] hermes chat [options] 常用选项: 示例: hermes hermes chat -q "总结最新的 PR" hermes chat --provider openrout

斜杠命令参考

原文链接:Slash Commands Reference Hermes 有两个斜杠命令(Slash Command)界面,均由 hermes cli/commands.py 中的中央 COMMAND REGISTRY 驱动: 交互式 CLI(命令行界面) 斜杠命令 — 由 cli.py 分发,支持从注册表自动补全

配置文件命令参考

本页面涵盖所有与 Hermes 配置文件 相关的命令。通用 CLI 命令请参见 CLI 命令参考。 hermes profile <子命令 管理配置文件的顶级命令。不带子命令运行 hermes profile 会显示帮助。 hermes profile list 列出所有配置文件。当前活跃的配置文件用 标记。

环境变量

原文链接:Environment Variables Reference 所有变量都放在 /.hermes/.env 文件中。你也可以通过 hermes config set VAR value 来设置。 变量 描述 --- --- OPENROUTER API KEY OpenRouter API 密钥(推荐,灵活性

内置工具参考

原文链接:Built-in Tools Reference 本文档记录了 Hermes 工具注册表中的全部 47 个内置工具,按工具集(Toolset)分组。工具的可用性因平台、凭证和已启用的工具集而异。 快速统计: 10 个浏览器工具、4 个文件工具、10 个强化学习(RL)工具、4 个 Home Assistant

工具集参考

工具集(Toolsets)是工具的命名捆绑包,控制 Agent 能做什么。它们是按平台、按会话或按任务配置工具可用性的主要机制。 每个工具恰好属于一个工具集。当你启用一个工具集时,该捆绑包中的所有工具都对 Agent 可用。工具集分为三类: 核心(Core) — 一组相关工具的逻辑分组(例如,file 捆绑了 read

相关节点

MCP 集成 (MCP Integration)

MCP 让 Hermes Agent 连接到外部工具服务器,使 Agent 能够使用 Hermes 本身之外的工具——GitHub、数据库、文件系统、浏览器栈、内部 API 等。 如果你曾想让 Hermes 使用一个已经存在于其他地方的工具,MCP 通常是最简洁的方式。 - 无需先编写原生 Hermes 工具即可访问外

使用 MCP

本指南展示如何在实际日常工作流中使用 MCP 与 Hermes Agent。 如果说功能页面解释了 MCP 是什么,那么本指南则是关于如何快速、安全地从中获取价值。 在以下情况使用 MCP: 已有 MCP 形式的工具,且你不想自己构建 Hermes 原生工具 你想让 Hermes 通过干净的 RPC 层操作本地或远程系

CLI 命令参考

本页介绍从终端运行的 命令行命令 。 聊天内斜杠命令请参见斜杠命令参考。 hermes [全局选项] <命令 [子命令/选项] hermes chat [options] 常用选项: 示例: hermes hermes chat -q "总结最新的 PR" hermes chat --provider openrout

斜杠命令参考

原文链接:Slash Commands Reference Hermes 有两个斜杠命令(Slash Command)界面,均由 hermes cli/commands.py 中的中央 COMMAND REGISTRY 驱动: 交互式 CLI(命令行界面) 斜杠命令 — 由 cli.py 分发,支持从注册表自动补全

配置文件命令参考

本页面涵盖所有与 Hermes 配置文件 相关的命令。通用 CLI 命令请参见 CLI 命令参考。 hermes profile <子命令 管理配置文件的顶级命令。不带子命令运行 hermes profile 会显示帮助。 hermes profile list 列出所有配置文件。当前活跃的配置文件用 标记。

环境变量

原文链接:Environment Variables Reference 所有变量都放在 /.hermes/.env 文件中。你也可以通过 hermes config set VAR value 来设置。 变量 描述 --- --- OPENROUTER API KEY OpenRouter API 密钥(推荐,灵活性