mcpField
H
Hermes Prime

Hermes Prime

本地服务
github.com开发工具25 周前更新

关于 Hermes Prime

Hermes Prime 通过只读的 stdio MCP 服务,向新的 Claude Code 会话提供带版本的规范卡片。它按需提供规范,不修改 CLAUDE.md,也不调用模型或网络服务。

主要功能

  1. 01通过 MCP 读取规范卡片
  2. 02列出可用范围
  3. 03使用可配置的 Markdown 片段
  4. 04只读服务,不调用模型或网络

适用场景

  1. 01在新的 Claude Code 会话中加载项目规范
  2. 02检查可用的规范范围
  3. 03使用自定义规范片段

MCP 相关

stdio MCP 服务提供 get_conventions 和 list_scopes。它返回规范卡片,不会修改 CLAUDE.md。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"hermes-labs-ai-hermes-prime": {
"command": "uvx",
"args": [
"hermes-prime-mcp"
],
"env": {
"HERMES_PRIME_FRAGMENT_ROOT": "<HERMES_PRIME_FRAGMENT_ROOT>"
}
}
}
}
启动命令uvx hermes-prime-mcp
需要配置的环境变量
HERMES_PRIME_FRAGMENT_ROOTDirectory containing a trusted custom CLAUDE-fragment.md (default: the versioned card bundled with the installed package).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypihermes-prime-mcp0.2.1a2

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
scope_classstring否可选的范围类别(例如,'session-init')。未知时回退到默认片段。

详细介绍

hermes-prime

将版本化的规范卡片交付给全新的 Claude Code 会话。

hermes-prime 由 Hermes Labs 开发。

Hermes Labs 是一家 Agent 基础设施公司,致力于构建自主系统的可靠性层。

CI License: MIT Status: alpha

Bash 接口会将卡片快照写入项目的 CLAUDE.md;只读 MCP 接口则通过 stdio 返回同一张卡片。这种机制让规范可供读取,但无法证明模型会遵守这些规范,也无法防止偏离。

这是一个轻量级传输工具,而非强制执行层。Hermes Labs 提供自用的规范卡片;你可以将其派生,或通过 HERMES_SESSION_INIT_FRAGMENT=/path/to/custom.md 选择其他片段。

两个接口共用同一片段:一个包含四个子命令的 Bash 工具,适用于基于 CLAUDE.md 的工作流;另一个是 Claude Code 原生 MCP 服务,不会修改 CLAUDE.md。两个接口都不会调用模型或网络服务。Bash 方式不会更改全局配置;注册 MCP 时使用用户选定的作用域。

痛点

不同会话之间,规范可能会脱离可见上下文。版本化卡片为新会话提供一个可供读取的具体文件,无需它从散落的笔记中重新归纳这些规范。

规范纪律通常散落在手册文档、反馈文件或会话结束后的复盘中——全新的会话从不会读取这些内容。hermes-prime 将它们打包成一张完整独立的卡片,供协调器打开。

有何不同

大多数“设置 Agent”工具要么(a)提供一个庞大的提示词文件让你复制粘贴,要么(b)安装一个每次会话都会运行的全局钩子,无论你是否需要。hermes-prime 按项目生效、以标记为锚点且支持幂等操作。未编辑的注入后缀可逐字节还原;已编辑的区块则使用文档所述的标记/备份回退方式。

该片段是快照,而非实时引用。重新注入即可刷新。标记(``)可确保取消注入时逐字节还原。

两种接口

接口适用对象机制
MCP 服务(推荐用于 Claude Code)Claude Code 用户原生 MCP 工具——get_conventions / list_scopes。不修改 CLAUDE.md,也不创建快照。参见 mcp-server/。
Bash 二进制文件(CLAUDE.md 备用方案)Claude Code 用户,以及明确会读取项目 CLAUDE.md 的其他工作流在标记之间将片段注入 CLAUDE.md。采用快照语义——重新注入即可刷新。不包含其他 Agent 指令格式。

两者共用同一个 CLAUDE-fragment.md。它们是相互独立的接口;请选择适合你的 Agent 的方式。

MCP 服务(Claude Code 原生)

claude mcp add --scope local hermes-prime -- python3 "$PWD/mcp-server/hermes_prime_mcp.py"

在仓库根目录运行该命令。本地作用域会为当前项目加载服务。上次验证时使用的是 2026-09-11 的 Claude Code 2.1.268:claude mcp list 显示服务状态为 Connected。服务的 initialize 响应包含一条简短的 instructions 字符串,Claude Code 会将其展示给模型,以便全新会话知道应调用 get_conventions。只有在你打算让自己的所有项目会话都能使用同一命令时,才使用 --scope user。然后,在适用所选作用域的会话中调用 get_conventions。仅使用标准库,无第三方运行时依赖。完整的注册和移除说明、打包的 pip install hermes-prime-mcp 控制台脚本方式,以及 server.json MCP Registry 清单,均见 mcp-server/README.md。

安装(Bash 二进制文件)

git clone https://github.com/hermes-labs-ai/hermes-prime.git
cd hermes-prime
ln -s "$PWD/bin/hermes-session-init" /usr/local/bin/hermes-session-init
hermes-session-init --check

也可以创建符号链接到 ~/bin/。无需安装软件包——它由一个 Bash 脚本和一个 Markdown 片段组成。

快速开始

# Require the fragment; report optional companion tools as information
hermes-session-init --check

# Print the fragment to stdout (pipe-friendly)
hermes-session-init --print

# Inject the fragment into a project's CLAUDE.md (idempotent, backs up existing)
hermes-session-init --inject ~/Documents/projects/some-project

# Remove the fragment cleanly (anchored on the marker)
hermes-session-init --uninject ~/Documents/projects/some-project

功能说明

子命令行为退出码
--check只要求片段文件存在。将 hermes-ground、hermes-rubric-blinded 和手册列为可选的参考资料。0 表示片段存在 / 1 表示片段缺失
--print将 CLAUDE 片段打印到 stdout。可用于通过管道传递给 --append-system-prompt,也可用于检查。0
--inject <project>将片段追加到 <project>/CLAUDE.md 中的标记之间。将现有的 CLAUDE.md 备份为 CLAUDE.md.bak.<timestamp>。具有幂等性:重复运行不会产生变化。0
--uninject <project>移除由 --inject 添加的确切后缀,将预先存在的内容按字节还原,或移除由注入创建的 CLAUDE.md。如果编辑过代码块,则回退为保留行的标记移除方式;如果标记已不存在,则使用最新的备份。0 表示成功 / 1 表示未找到

注意:hermes-ground 是 Hermes Labs 的内部 grounding 工具。它并未公开发布;此约定仅描述它所触发的编排器行为。

注入的内容

一个简短的 Markdown 块,包含:

  1. Grounding 触发条件 — 编排器应调用 hermes-ground 进行外部事实核查的 7 种情况。
  2. 独立自包含的约定 — 校准、rubric 传递、grounding 和命名规范。
  3. 工具映射 — 功能类别、Hermes Labs 实现和手动回退方案。
  4. 最常在会话中途忘记的规则 — 在某个路径下的文件实际存在之前,不要使用名词短语标签。

完整内容请参见 CLAUDE-fragment.md。该片段就是约定。

初步评估

evals/ 中有三项诚实的评估:

  • E1 — 约定回忆测试: 注入片段后,新启动的 claude --print 会话能否正确识别 hermes-ground 是外部 grounding 工具?与未注入的会话相比如何?
  • E2 — 幂等性压力测试: 连续注入 5 次,断言大小变化 ≤ 2 个字符。
  • E3 — 取消注入往返测试: 注入 → 取消注入 → 要求前后原始哈希完全相同。

运行方式:bash evals/preliminary-bootstrap-eval.sh。协议见 evals/EVAL-PROTOCOL.md。运行记录见 evals/runs/。根据既定约定,空结果会未经删改地发布。

与其他 Hermes Labs 工具的关系

hermes-prime 是 Hermes Labs 开源工具中用于传递约定的一种方式。 它不会取代配套工具,也不保证这些工具会被调用。

  • hermes-rubric — 以证据为先的评分;“每个可交付成果都须经过 BLINDed rubric”这一约定指向此工具。
  • hermes-blind — 一个需单独调用的多轮恢复脚手架。

状态

源代码版本 0.2.1-alpha.1 — 尚未发布的 alpha 候选版本。 尚无公开的 0.2.1-alpha.1 标签或 GitHub Release,且此分支未授权发布。

MCP 发行版是一个独立的分发渠道,并且已公开:hermes-prime-mcp 0.2.1a2 已发布至 PyPI,MCP Registry 中的条目 io.github.hermes-labs-ai/hermes-prime 0.2.1-alpha.1 状态为 active(两者均于 2026-09-18 核实)。如今无需检出代码即可运行 uvx --from hermes-prime-mcp hermes-prime-mcp。 上文的“尚未发布”指的是代码仓库,而非软件包。

机制测试套件包含 11 项 Bash 断言和 13 项 MCP 测试。E1 是由作者运行的一项三问题对照/处理观察;它只是初步的约定回忆证据,不能证明该工具能防止偏差或提升下游任务表现。

如果 E1 在更大规模的测试中得出空结果,我们会将其发布,而不是掩盖。这与 Hermes Labs 其他开源工具遵循的既定约定相同。

本地机制门禁

在请求任何推送或发布之前,请运行本地机制门禁:

./scripts/local-ci.sh

它会运行 ShellCheck、包含 11 项断言的 Bash 测试套件、包含 13 项测试的 MCP 测试套件,以及片段大小和标记检查。托管工作流(.github/workflows/ci.yml)会在 macOS 和 Ubuntu 上运行相同的测试套件。退出代码为 0 仅表明当前代码树通过了这些指定检查;这不代表获得推送、发布或公开发布的授权。

许可证

MIT。请参阅 LICENSE。


由 Hermes Labs 构建。

关于 Hermes Labs

Hermes Labs 是一家 Agent 基础设施公司,致力于为自主系统构建可靠性层。本仓库是其产品组合中的一个小型机制;其声明仅限于上述检查实际验证的行为。

企业部署和 AI 可靠性项目请联系:
[email protected] · hermes-labs.ai

关于命名。Hermes Labs 以希腊信使之神赫尔墨斯(Hermes)命名——他是通信与诠释的守护神,也是穿梭于不同世界、传递意义的使者。这个名字与我们的工作之间的联系是诠释学:这门以赫尔墨斯命名的阐释理论,是一家 Agent 基础设施公司的哲学基石,而语言正是其底层基础。我们与 NousResearch 的 Hermes LLM 系列或其 hermes-agent 框架并无关联——公司不同,业务也不同。

创始人:Rolando(Roli)Bosch。
网站:hermes-labs.ai
引用:Bosch, R. (2026). Hermes Labs:面向生产环境 Agent 和 LLM 应用的 AI 可靠性工程。https://hermes-labs.ai

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。