mcpField
I
invinoveritas

invinoveritas

远程服务
github.com/babyblueviper1AI 与智能体02 周前更新
代码仓库

关于 invinoveritas

invinoveritas 是面向 AI Agent 的托管 MCP 审核关卡,用于评估重要或不可逆操作。它提供独立的建议性结论及签名证明,可重新计算,并通过公开的比特币锚定账本核验。

主要功能

  1. 01独立审核 Agent 操作
  2. 02提供问题排序和签名证明
  3. 03免费验证证明
  4. 04公开结论账本
  5. 05第三方声明公证

适用场景

  1. 01发布前审核代码差异
  2. 02执行前检查 Shell 命令
  3. 03验证他人提供的签名结论
  4. 04带时间戳记录第三方声明

MCP 相关

托管的 Streamable HTTP MCP 服务提供审核、证明验证、收据、公证及账本相关工具。Agent 连接 https://api.babyblueviper.com/mcp/verify;部分工具需要身份验证。

配置

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

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

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

工具

10
参数类型必填说明
signboolean否以可移植的签名证明形式返回评估结果(绑定评估结果、工件哈希和 invinoveritas 的公钥,以及内容寻址的 decision_ref)。任何人之后都可以使用 verify_proof 检查。
factsobject否可选,与 policy 一起使用:确定性规则读取的结构化请求字段(例如 recipient、amount_atomic、chain、token)。
policyobject否可选(2026-10-13):受 policy 约束的评估。{schema: 'invinoveritas.review_policy.v1', deterministic: [{id, field, op (eq|ne|in|not_in|lte|lt|gte|gt), value}], substantive: [{id, requirement, accept_states (subset of [VERIFIED, DECLARED_ONLY], default [VERIFIED]), min_provenance (requester_supplied|independent)}]}。首先在代码中根据 `facts` 检查确定性规则;任何一项为 FAIL 或 MISSING 时都会拒绝,且不会调用模型。只有实质性条件会交由模型处理,模型会针对每项条件返回 VERIFIED / DECLARED_ONLY / CONTRADICTED / INSUFFICIENT;之后由固定规则决定结果。结果中的 policy_evaluation(也包含在签名证明中)会说明其主张类型:只有每项条件都由证据验证为 VERIFIED 时才是 'factual',否则为 'declarative'。与 verdict_relay 配合,可在 Base 上释放 VerdictGatedEscrow 付款。
contextstring否你想要实现什么、为什么是现在,以及成功标准
artifactstring是要评估的工件:统一差异/补丁、shell 命令、计划、配置、分析、Agent 输出或原始文本
concernsstring否需要检查的具体事项(例如“生产环境安全性”“交易逻辑的边界情况”“监管风险”)
evidencearray否可选,与 policy 一起使用:实质性条件对应的 [{id, provenance (requester_supplied|independent), kind, content}]。
artifact_typeenum否工件类型。'code_diff' 或 'patch' 会触发深度代码审查。'plan' 用于架构/策略。'trade' 会触发针对拟议入场/出场操作、考虑资金规模的风险管理审查。'onchain_action' 会在你签名之前触发对拟议链上转账/兑换/授权/合约调用(例如 Base MCP 操作)的风险审查,可检测诈骗/蜜罐代币、无限额度授权盗取、地址投毒、滑点/MEV。'sanctions_screening' 用于采取行动之前的合规/AML 结果审查,检查分类结论(例如 CLEAN)是否有自身范围,而非范围不明的主张。此类型会调整关注重点和建议。重要提示(适用于 trade/onchain_action/sanctions_screening):对于无法撤销的操作,即使从内容上看审查倾向于 approve,也可能仅因置信度低而 REJECT——请查看响应中的 reversibility_gate 字段。如果存在,epistemic_basis 会说明拒绝原因:'evidence_against' 表示确定性引擎发现了明确的正面发现(已知恶意地址、链上/制裁命中);'insufficient_evidence' 表示没有任何方向的发现,只是置信度低于可逆性门槛——这是不同的情况;如果你自己的逻辑会根据原因分支处理,请勿将它们视为相同。code_diff | patch | shell_command | plan | config_change | analysis | agent_output | trade | onchain_action | sanctions_screening | general
verdict_relayobject否可选(verdict-relay/v2):同时返回 BIP-340 签名,以便 ERC-8414 InvinoveritasVerdictAuthoritySigned 合约在链上验证(garyyang-finchip/task-token-standard#2)。{chain_id, authority, task_contract, token_id, submission_id, task_version, result_hash, task_document}。需要 sign=true。result_hash 必须是精确工件的 sha256;task_document 是明文任务文档(sha256 = 内核的 tdHash),并会放入评估上下文。approved/decision_ref 来自我们自己的评估结果(approve->true,reject->false;concerns/defer 不签名)。在任何收费之前进行检查。结果字段为 verdict_relay。
action_bindingobject否可选:此评估授权执行的确切现实操作——工具标识、已具体化(非模板化)的参数,以及将执行操作的 Agent 的 ID,例如 {'tool': 'place_order', 'agent_id': 'your-stable-agent-id', 'args': {...}}。v14+:`tool` 和 `args` 作为独立的原像字段绑定(action_binding_tool_hash = sha256(tool),action_binding_args_hash = sha256(RFC-8785-JCS(args))),因此验证者可以将“同一工具、不同参数”作为可检查的陈述;`agent_id` 作为普通字符串绑定(action_binding_agent_id,不进行哈希)。所有字段都直接绑定到 decision_ref,因此评估结果承诺的是确切操作,而不仅仅是自由文本 `artifact` 参数或评估结论。若重新计算 decision_ref 时,tool/args/agent_id 的值未做到字节级完全相同,就会产生不同的哈希:批准不能重放到不同的工具、不同的具体化参数或不同的 Agent 上。每个子键均可选。JSON 编码后最大约 8KB。我们不会独立验证这些内容——只会对你发送的内容原样哈希。诚实提示:调用方仍可提交信息不完整的 action_binding(例如提供 tool+side,却不提供 size),并获得可在被省略维度上重复使用的批准;这取决于由谁控制指纹的输入,而非哈希方式。
related_claimsobject否可选(policy v20):关于 related_proof_event 的结构化声明——从 {artifact_hash, verdict, verified_at, policy_version, decision_ref} 中选择非空子集。通过与引用的证明进行完全相等比较(我们会重新验证该证明);声明哈希、比较版本和结果(matched|mismatched|missing_proof|unverifiable_proof;省略时为 not_supplied)会绑定到 decision_ref。仅忠实复述:不代表相关性、授权或真实性。
disclosed_summarystring否仅在 confidentiality_tier='partial_disclosure' 时使用。对你选择公开的已审查制品/判定进行真实、易读的描述——原样绑定到 decision_ref。其他 tier 值下会被忽略。
external_evidencearray否可选(v17,2026-09-10):本次判定所依据的第三方证据——例如工具可靠性登记库自身的历史 PASS/FAIL 记录,曾与 arian-gogani/nobulex-registry#1 实时协作验证。数组格式:{'source': str, 'record': str(签发方自身精确保存的原始字节,逐字不变——我们不会在本侧重新解析/输出为 JSON), 'record_sha256': str(由签发方计算,我们不会独立验证), 'evidence_type': str, 'observed_at': ISO 8601, 'validity_until': ISO 8601 | null}。所有条目会一起哈希(RFC-8785-JCS)生成 external_evidence_hash,并绑定到 decision_ref——因此可检查“判定考虑的正是这份证据”,而不只是推理文本中的声称。不会对签发方进行身份验证、验证 record_sha256 或确认时效性——依赖所引证据前,这些都由调用方自行负责。
intended_audiencestring否可选:声明此判定面向的对象(你自己的 DID、端点 URL 或网关标识符)。绑定到 decision_ref,确保签发后无法被悄然删除或更改。不会独立验证——读取者应将其与自身身份进行比较;若不匹配,应视为证明可能在预期上下文之外呈现的信号。这是真实存在的上下文绑定重放保护缺口,早期 policy 版本完全无法表示这一点。
intended_verifierstring否可选:用于指定此判定应在哪个特定链上验证器/关卡中进行检查的 CAIP-10 字符串,例如 'eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432'。它绑定到 decision_ref(其本身包含在 schnorr 签名内容中),从而实现真正的加密级域分离——否则,原始签名字节仅绑定到我们的公钥和内容,并未绑定到特定链/合约,因此任何愿意接受该证明的关卡在技术上都可重放该证明。不会独立验证——关卡会将其与自身的 chain_id/address 进行比较。
severity_thresholdenum否要报告的最低严重性blocker | high | medium | all
related_proof_eventobject否可选:如果正在审查的制品本身就是另一方已签名的判定证明(即对判定进行再审查),请传入该证明的完整签名事件({id, pubkey, created_at, kind, tags, content, sig})。我们会自行独立重新验证该证明,然后才允许其 source_class 影响本次调用自身的 source_class——只会限制等级,不会提升等级(审查 agent_reported 内层判定的 independent_mediator 调用仍为 agent_reported)。如果内层事件验证失败,则会安全地回退为 agent_reported,无论你自身的登记状态如何。仅一跳。诚实的适用范围:我们验证所引用事件本身的真实性,不验证它是否确实是你的制品声称要重新审查的对象。
request_capture_refstring否可选:由请求方控制的承诺(你生成且能独立证明在请求时已存在的哈希/ID),用于证明此制品已提交审查——captured-admission-v0 审查配置文件(trustless-ai/recompute-kit)。会在响应的 admission_receipt 中原样返回。我们不会独立验证;只有选择启用的请求方才能借此弥合 /ledger 原始记录与已发布内容之间的差异。
confidentiality_tierenum否此判定应采用的隐私/证据权衡方式,仅在 sign=true 时有意义。'hash_only'(默认):证明仅包含 artifact_hash,不披露原始内容——隐私性最强,独立证据价值最弱(第三方若没有你后续配合,无法确认哈希对应的内容)。'partial_disclosure':传入 disclosed_summary,并将其原样绑定到 decision_ref,使第三方获得真实、可验证的上下文,而无需完全披露。'full_disclosure':记录将此判定发布到公共 /ledger 的意图(证明中 full_disclosure_requested=true)——证据等级最高,但实际发布仍需由我们单独整理处理,目前尚未完全支持自助操作。hash_only | partial_disclosure | full_disclosure
mediator_attestationobject否可选(v22):你的调解方证明其控制自身密钥。{key_url (https,调解方自己的域名), public_key_ed25519_b64, requested_at (unix 秒,+-600 秒), nonce (8-128 个 ASCII 字符), signature_ed25519_b64}——对 {schema:'invinoveritas.mediator_request.v1', artifact_hash(精确制品的 sha256 十六进制值), artifact_type, requested_at, nonce} 的 RFC 8785 JCS 字节进行 Ed25519 签名;key_url 必须列出该密钥。需要 sign=true;在任何收费前检查;以 mediator_attestation_hash 的形式绑定到证明。证明签发时对密钥的控制权,不代表独立性。

详细介绍

invinoveritas — MCP 服务

作为托管 MCP 服务,为 AI Agent 提供独立的审核关卡。在 Agent 执行不可逆操作之前——例如发布代码、运行 Shell 命令或签署交易——它会调用 review,从不是该 Agent 的一方获得中立的第二意见,并收到一份可重新计算、锚定于 Bitcoin 的证明。任何人都可以在不信任该 Agent 或我们的情况下重新验证此证明。

Agent 无法自行获取的,正是对自身输出的可信判定。这就是这份判定——与模型无关、仅供参考(不会阻止操作),并且可以根据字节进行验证。

  • 托管服务,无需安装。 远程 Streamable-HTTP MCP 服务:https://api.babyblueviper.com/mcp/verify
  • 登录: 在支持 OAuth 的客户端中使用标准 MCP OAuth(可在授权页面创建免费账户),或使用免费的 API 密钥作为 Bearer 标头:curl -X POST https://api.babyblueviper.com/register -d '{"label":"mcp"}'
  • verify_proof、ledger 和 payment_receipt 始终免费,无需身份验证。

工具

工具功能身份验证
review对代码差异、Shell 命令、计划、配置、交易或链上交易提供独立判定(approve / approve_with_concerns / reject),并附上按优先级排序的问题和可移植的签名证明。Bearer(付费)
verify_proof重新计算并验证他人提供的已签名 invinoveritas 证明,无需信任提供者或我们即可确认其有效性。免费
payment_receipt为一笔由判定控制的付款提供签名收据。retry_state 会从链上读取,因此同一 nonce 无法重复付款。不会转移资金。免费
witness锚定第三方未经修改、未经判定的原始声明字节——仅进行公证(收据 + 时间戳 + 完整性),不同于 review(我们的判定)。来源由提交者自行声明,并在签名证明中注明这一点。Bearer(付费)

此端点还提供:ledger(免费的公开判定记录)、validate(回测现实检验)、audit_agent_readiness、ledger_submit、conformance_certify。共 9 个工具;该服务绝不会为用户转移资金或资产。

添加到你的 Agent

Cursor — 一键添加:将 invinoveritas 添加到 Cursor(首次付费调用时通过 OAuth 登录),或编辑 ~/.cursor/mcp.json(全局)/ .cursor/mcp.json(项目):

{
  "mcpServers": {
    "invinoveritas": {
      "url": "https://api.babyblueviper.com/mcp/verify",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Cline — 通过 MCP marketplace 添加,或在 cline_mcp_settings.json 中配置:

{
  "mcpServers": {
    "invinoveritas": {
      "type": "streamableHttp",
      "url": "https://api.babyblueviper.com/mcp/verify",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Gemini CLI — 安装为扩展:

gemini extensions install https://github.com/babyblueviper1/invinoveritas-mcp

Claude Code:

claude mcp add --transport http invinoveritas https://api.babyblueviper.com/mcp/verify \
  --header "Authorization: Bearer YOUR_API_KEY"

Devin — Settings → Connections → MCP servers → Add a custom MCP → HTTP (Streamable),URL https://api.babyblueviper.com/mcp/verify,Auth Header Authorization: Bearer YOUR_API_KEY。

OpenHands — config.toml:

[mcp]
shttp_servers = [{ url = "https://api.babyblueviper.com/mcp/verify", api_key = "YOUR_API_KEY", timeout = 60 }]

任何 MCP 客户端 — 将其指向 https://api.babyblueviper.com/mcp/verify(Streamable HTTP),并添加标头 Authorization: Bearer YOUR_API_KEY。协议版本为 2025-06-18;握手、tools/list 和 tools/call 均可开箱即用。

使用方法

告诉你的 Agent:在创建 PR 或运行不可逆命令之前,调用 review,将差异/命令作为 artifact 传入,设置 artifact_type(code_diff / shell_command / onchain_action / general),并设置 sign: true。如果结果为 reject,则暂停并修复;如果结果为 approve,则附上证明,供审核者重新验证。

与快速门禁配合使用(例如 Jev)

TypeSafe 的 Jev 等快速判断模型(社区 jev-mcp 服务中的 jev_gate)会在几百毫秒内筛查每次工具调用,并给出 allow / confirm / block。它们是很好的第一道防线,但无法提供独立的判定结果,供他人日后核验。两者结合使用:让快速门禁处理常规调用,只将有风险或不可逆的调用升级至 invinoveritas。

gate = jev_gate(action=cmd, context=why)             # ~0.3 s, every call
if gate.recommendation == "allow" and not gate.touches_prod:
    run(cmd)                                          # routine: no second opinion needed
elif gate.recommendation == "block":
    stop_and_explain(gate)                            # clear no
else:                                                 # "confirm", or anything touching prod
    v = review(artifact=cmd, artifact_type="shell_command", context=why, sign=True)
    if v.verdict == "reject": stop_and_explain(v.issues)
    else: run(cmd); keep(v.proof)                     # signed proof anyone can verify_proof later

快速门禁能以较低的延迟和成本处理大量调用;签名判定则覆盖少数重要调用,并留下无需信任 Agent 或我们的记录。

为什么要提供可重新计算的判定结果

review 配合 sign: true 会返回一份证明,该证明是由 BIP-340 签名的 Nostr 事件,并发布到一个由比特币锚定的公开账本。你可以使用我们公布的密钥离线验证——重新计算事件 ID 并检查 schnorr 签名——也可以将其 POST 到 https://api.babyblueviper.com/verify-proof(免费,无需身份验证)。相信数学,而不是我们。胜利和失败都会发布;记录是取证材料,不是评分。

  • 自行重新计算证明:零依赖 pip install invinoveritas-verify / npm i invinoveritas-verify
  • 服务卡片:https://api.babyblueviper.com/.well-known/mcp/server-card.json

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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