mcpField
B
bernstein-mcp

bernstein-mcp

远程服务
mcp.bernstein.run安全05 周前更新

关于 bernstein-mcp

bernstein-mcp 是无状态、只读的 MCP 端点,用于检查 bernstein 运行回执、哈希链、Trust Record 和签名 Agent 清单。它返回验证检查结果和签名判定,不存储或获取数据。

主要功能

  1. 01验证回执和哈希链
  2. 02检查 TRACE Trust Record
  3. 03验证签名 Agent 清单
  4. 04说明回执与 TRACE 的映射
  5. 05列出预设和内置适配器
  6. 06返回签名验证判定

适用场景

  1. 01在依赖运行回执前进行检查
  2. 02定位链中的首个断裂链接
  3. 03评估委托链
  4. 04将签名判定与回执一同保存

MCP 相关

通过 https://mcp.bernstein.run/mcp 向 MCP 客户端提供只读验证、说明和列表工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.bernstein.run/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

11

此工具无需参数。

详细介绍

bernstein-mcp

bernstein-mcp

无状态、只读的 MCP 端点,地址为 **https://mcp.bernstein.run**,用于验证 bernstein 运行回执和 哈希链。无需账户或密钥;不存储任何内容,也不获取任何内容。

claude mcp add --transport http bernstein https://mcp.bernstein.run/mcp

功能

工具结果
verify_receipt重新计算运行回执中包含的每条链,重建签名主体,并检查 Ed25519 签名;返回判定结果和每项检查对应的一行说明,此外还会返回作为签名声明的判定结果(见下文)
explain_receipt执行相同的验证并附带说明:运行记录了什么、在哪些地方存在差异,以及验证结果能证明和不能证明什么
verify_chain单独遍历日志行、沿袭条目或审计事件(传入文件文本可确保逐字节精确处理行);指出首个断链位置
verify_trace_record对单个 Trust Record 执行 TRACE v0.2 一致性检查,无状态且无需账户:包括随附的架构、配置文件规则,以及使用 cnf.jwk 中密钥的嵌入式签名(EdDSA、ES256、ES384);record_sha256 是子级跳转所链接的 RFC 8785 摘要
verify_delegation_chain从叶节点到根节点遍历一组 Trust Record,并对链进行分类(verified、provenance-invalid、authorization-invalid、unverifiable);使用与委派链接测试集相同的代码
verify_agent_manifest对已签名的 Agent 清单执行无状态检查(v0.2 COSE 信封):包括随附的架构、配置文件、规范化和嵌入式签名(Ed25519、P-256、P-384);可通过 references[] 与 Trust Record 进行交叉检查;判定结果为 valid / invalid / unverifiable
explain_trace_mapping逐项说明 bernstein 运行如何映射到 TRACE v0.2 Trust Record;传入回执即可填入其日志所能回答的内容
list_presets / get_preset此版本附带的合规预设
list_adapters此版本附带的 Agent 适配器
server_info版本和限制

与 bernstein verify-receipt 执行相同的遍历,可通过任意 MCP 客户端或 /verify 粘贴表单访问。判定结果页面的 地址就是回执本身的摘要。

信任模型

能证明不能证明
嵌入的行与签名时的行完全一致嵌入的密钥属于你认为的主体(首次使用时建立信任;请自行固定运营方公布的密钥)
签名后没有任何内容被编辑、重排、删除或追加审计范围 HMAC 值(由生成方安装实例的密钥生成;仍会检查其关联关系和内容哈希)

请将回执文件的内容作为字符串传入:已解析的对象无法区分 1 和 1.0,而参考实现会对原始拼写进行哈希。

签名判定结果

每个判定结果都会以 DSSE 信封(signed_verdict)的形式返回,并使用此部署的 Ed25519 密钥签名:其负载是一份 JCS 规范化声明,其中包含回执摘要、判定结果、每项检查,以及采用 EAR 状态词汇表(affirming / contraindicated / none)的 appraisal 块。请将其与回执一同保存; 任何人都可以使用 /.well-known/bernstein-mcp/keys.json 中的公钥离线重新验证(kid = RFC 7638 指纹)。签名覆盖 application/vnd.bernstein.verdict+json 的 DSSE PAE,构造方式与回执本身相同。它证明的是此验证器在此时针对这些字节得出了此判定结果——与回执的生成方无关。

会话收据

bernstein-attest 会将 Claude Code 或 Codex CLI 会话转换为签名运行收据,由此服务验证。

npx bernstein-attest init          # registers hooks for both agents (user scope); --claude-code / --codex / --project to narrow
bernstein-attest link              # verify link + one Markdown line for a PR description
bernstein-attest verify .bernstein/receipts/<session>.json

Codex 只有在交互式会话中通过 /hooks 信任项目钩子一次后,才会运行这些钩子;codex exec 会跳过未受信任的钩子,且不输出任何内容。使用 --project 时,Claude Code 钩子会写入 .claude/settings.local.json,Codex 钩子会写入 .codex/hooks.json;两者都会指向你主目录下的程序包,因此请勿将 .codex/hooks.json 纳入版本控制。

每次工具调用会记录:工具名称、输入和输出的哈希值、成功标记、调用所写文件相对于仓库的路径(项目外路径仅记录哈希值),以及 shell 命令的程序名称(首个词,去掉路径,最多 32 个字符)。不会记录:提示词、模型输出、命令文本、文件内容、绝对路径。每当某一轮记录了新内容,以及每累计 2 000 行时,都会封存收据;文件位于 .bernstein/receipts/,可与其描述的更改一同提交。由于后续轮次会重新封存同一文件,请在提交前立即运行 npx bernstein-attest link,以确保你粘贴的链接指向当前文件内容。

限制

请求正文1 MiB
每条链的行数2 000(更大的收据:在本地验证)
速率POST /mcp 和 POST /verify 每个地址每分钟 60 个请求
日志记录每个请求一行 JSON:路由、方法、状态、JSON-RPC 方法、工具、判定结果、生成方类别、MCP 客户端名称/版本、国家/地区、colo。绝不记录地址、标头、正文或收据

正确性

vectors/ 中有八个由 Python 参考实现生成的黄金测试向量 (通过 scripts/gen_vectors.py,使用固定版本的 bernstein 源代码)。TypeScript 验证器必须逐字节重现每个向量的判定结果、每项检查、绑定字节和收据摘要(test/vectors.test.ts)。 vectors/session/ 中有三个由 bernstein-attest 写入的冻结会话收据(scripts/gen-session-vectors.mjs)。

开发

npm install
npm test          # no-fetch guard + vitest
npm run typecheck
npm run dev       # wrangler dev

src/ 不得调用 fetch、eval 或 new Function;否则 CI 会失败。 部署说明:参见 DEPLOY.md。许可证:Apache-2.0。

评论

支持 Markdown

第一次接触 MCP?

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

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