Skip to main content
Glama
elwsls

io.github.elwsls/verifiable-claim-seed

by elwsls

verifiable-claim-seed

Machine-checkable claim contract + zero-dependency gate + real sample. 可复现≠可验证: repro+frozen prove internal consistency; external correctness is carried by the anchor. Agent-first: read ai-catalog.json before this file for the machine-readable manifest.

mcp-name: io.github.elwsls/verifiable-claim-seed

install

pip install verifiable-claim-seed     # zero dependencies, Python stdlib only
verify-claim self-test                # prove the gate works in this environment

Or clone the repo and run the gate directly:

python3 verifiable_claim_seed/verify_claim.py self-test

Related MCP server: judgment-pack-runtime

entrypoints

role

path

contract

verifiable_claim_seed/schema/verifiable-claim-v1.schema.json

gate

verifiable_claim_seed/verify_claim.py

real sample·航天

verifiable_claim_seed/claims/VC-20260815-001.json(ISS 轨道高度,derived+frozen+repro)

real sample·健康

verifiable_claim_seed/claims/VC-20260823-001.json(1 万步起源,text-quote 锚)· verifiable_claim_seed/claims/VC-20260823-002.json(步数-死亡趋平,text-quote 锚)

frozen data

verifiable_claim_seed/data/iss_20260814.tle

source snapshots

verifiable_claim_seed/data/wcrf-10000-steps-20260823.html(001 源快照)· verifiable_claim_seed/data/pmc-9289978-20260823.html(002 源快照)

repro script

verifiable_claim_seed/scripts/verify_iss.py

MCP server

verifiable_claim_seed/mcp_server.py(stdio,命令 verifiable-claim-mcp / verifiable-claim-seed

MCP agent sim

verifiable_claim_seed/mcp_agent_sim.py(模拟陌生 agent 走完整 MCP 链路,零人工可用验证)

MCP registry manifest

server.jsonio.github.elwsls/verifiable-claim-seed,PyPI/stdio)

exhibit·概念

docs/news-appendix.md(人类样张,非机器声明——verify_tier 独立于 schema tier,不参与门禁)

exhibit·新闻稿

docs/news-release-10000-steps.md(人类样张·新闻稿,非机器声明,对应 VC-20260823-001/002)

exhibit·学术声明

docs/academic-claim-10000-steps.md(人类样张·学术声明,非机器声明,对应 VC-20260823-001/002)

verify

verify-claim self-test                              # pip 安装后
verify-claim verify <claim.json> [--report out.json]
# 仓库内直接跑:
python3 verifiable_claim_seed/verify_claim.py self-test

退出码:0 全过 / 1 硬失败(结构/格式/声明引用的文件缺失) / 2 用法·环境(命令行实参/待验证声明文件缺失) / 3 证据契约违规(哈希失配/复现不符)。

路径语义:声明内 data//scripts/ 路径相对包根(gate 脚本所在目录)解析,非相对声明 JSON。验证外部拷来的单文件声明前请保持完整仓库结构,或把整个声明放回 verifiable_claim_seed/claims/text-quote 锚带字节快照anchor.mode=text-quote 必须带 quote + locator + snapshot + snapshot_sha256(source snapshot 文件路径 + 64 位哈希)。gate 逐字节核验快照哈希,并抽取快照文本做「排版字符归一化 + 去空白」的紧凑比对——逐字引用句须真实存在于冻结快照(HTML 实体/渲染空格不会误报)。机器核的是"引用句在这份快照里";快照是否确为现实源头仍须人工/AI 核。 repro.script 为 Pythonrepro.scriptpython3 执行(subprocess,120s 超时)——脚本必须是 Python。无沙箱:门禁不隔离,路径可穿越包根,且以调用者权限运行;安全完全依赖"只验证你信任的声明"。 零依赖说明:verify_claim.py实际校验器(纯 stdlib,不依赖 jsonschema 库);schema/*.json 是契约规格——两者由 self-test 的「schema-gate 契约同步」例机器核验不漂移。anchor.sha256 同样被钉死:指向仓库内文件即逐字节核验(失配 rc3)。 安全注意:verify真实执行声明中的 repro.script。只验证你信任的声明;验证来源不受信的声明等于在本机执行其声明的任意代码。 设计边界:门禁验"脚本按其声明输出",不验"脚本计算正确"——伪造 repro.script 打印正确哈希 + 期望数值即可通过 rc0。完整性来自冻结输入字节(anchor/frozen)与声明自洽,非数学。"只验证你信任的声明"因此是安全前提,不是装饰。

MCP server

verifiable-claim-mcp(或 registry 启动别名 verifiable-claim-seed)暴露三工具(stdio,零依赖):

  • self_test — gate 自检,PASS/FAIL + case 数

  • validate — 结构 + 哈希检查,不执行脚本(对不受信声明用这个)

  • verify — 完整校验,须显式 allow_execution=true(会执行声明内 repro.script,即任意代码);无该标志一律拒绝

MCP registry:server.jsonio.github.elwsls/verifiable-claim-seed,PyPI/stdio)。

Claude Code 接线(pip install 后)——项目根放 .mcp.json(仓内已带示例),新会话自动加载三工具:

{ "mcpServers": { "verifiable-claim-seed": { "command": "python3", "args": ["verifiable_claim_seed/mcp_server.py"] } } }

也可用 uvx verifiable-claim-seed(PyPI 发布后)。陌生 agent 端到端已验证:发现三工具 → validate 零执行 → verify 缺 allow_execution 拒 → 带标志过。

License: MIT. Zero dependencies (Python stdlib).

Available Tools

3 tools
self_testA

Run the gate self-test: proves the tool works in this environment. Returns passed/exit_code/output.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does disclose the return shape (passed/exit_code/output), which is useful, but it says nothing about whether the operation is safe/side-effect-free, whether it requires any setup, or how to interpret the passed/exit_code fields. For a zero-parameter self-test this is acceptable but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short clauses with zero filler. The action verb is front-loaded and the return format is stated in a compact second clause. Every word earns its place; nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is trivial in complexity: zero parameters, no annotations, no output schema, no nested objects. The description covers what it does, why it exists, and what it returns. The only minor gap is a potential note on how to interpret exit_code/passed beyond the raw field names, which is a small omission for an otherwise simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, which sets a baseline of 4 per the rubric. Schema coverage of properties is trivially 100% with an empty object, so there is nothing for the description to add about parameters. The description instead correctly documents the return format, which is more valuable here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action ('Run the gate self-test') on a clear resource and adds purpose ('proves the tool works in this environment'). It is implicitly distinct from the sibling tools validate and verify, since it tests the environment/tool itself rather than validating some external input. Loses a point only for not explicitly contrasting with those siblings, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to call this tool versus the siblings validate or verify. There is a weak implication (use it to prove the environment works) but no explicit when-to-use, no exclusions, and no mention of whether this should be run before other tools or as a diagnostic. The agent must infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validateB

Check a claim's structure and anchor/frozen hashes WITHOUT executing any code. Safe for untrusted claims. Args: claim (claim JSON text) or claim_path (absolute file path).

ParametersJSON Schema
NameRequiredDescriptionDefault
claimNoClaim document as JSON text
claim_pathNoAbsolute path to a claim JSON file

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that no code is executed and explicitly labels the tool safe for untrusted claims, which are key behavioral traits. However, it omits the expected return format, error behavior, and any side effects (beyond implying read-only). This is adequate but not comprehensive for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with zero waste. The core purpose and safety disclaimer are front-loaded, and argument types follow immediately. Every phrase earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but with no output schema, the description should explain what a successful or failed validation looks like (e.g., return value). It also omits any assumptions about file existence or claim format constraints. Given the tool's narrow scope, it's moderately complete but leaves the agent guessing about results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented. The description restates 'claim (claim JSON text)' and 'claim_path (absolute file path)' without adding new meaning beyond the schema. It clarifies the input types but adds marginal value over the existing parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks a claim's structure and anchor/frozen hashes without executing code. It uses a specific verb ('Check') and names the resource. While it doesn't explicitly contrast with siblings (self_test, verify), the safety note and 'WITHOUT executing any code' hint at differentiation, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context (safe for untrusted claims) but gives no guidance on when to use this tool versus alternatives like verify or self_test. There is no mention of exclusions or prerequisites, leaving the agent to infer appropriate usage from name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verifyA

Full verification of a claim, INCLUDING executing its repro.script as arbitrary code with no sandbox. REQUIRES allow_execution=true; otherwise refused. Only call this on claims you trust. Args: claim or claim_path, allow_execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
claimNoClaim document as JSON text
claim_pathNoAbsolute path to a claim JSON file
allow_executionYesMust be true; verify is refused without it

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly discloses that executing repro.script as arbitrary code with no sandbox carries security risk, and that it requires a permission flag. This is critical behavioral information beyond what annotations would provide (and no annotations are present, so the description carries full burden). It also states the refusal condition, fully disclosing the tool's execution behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, with the most critical information (execution risk and requirement) front-loaded. Every sentence adds value: what it does, the critical requirement, and the trust caveat. No filler or repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three parameters, no output schema, and no annotations, the description covers the essential context: what it does, the dangerous execution behavior, the mandatory flag, and a safety warning. The only minor gap is not describing the return value, but since there's no output schema, the description could have stated what it returns; however, the primary usage risks are fully covered, and the tool is a verification action where the result is likely self-evident. Given the high stakes, this is comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents each parameter's type and purpose. The description adds clarifications: allow_execution must be true and is required, claim and claim_path are alternatives for specifying the claim. It doesn't add syntax examples or detailed formats, but given the schema is complete, this is adequate. The description reinforces the critical flag without redundancy.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs 'full verification of a claim' and explicitly mentions executing its repro.script as arbitrary code with no sandbox, which is a specific, high-stakes action. It also names its core requirement (allow_execution=true) and contrasts with siblings like validate and self_test by emphasizing execution, distinguishing it clearly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes explicit conditions: 'REQUIRES allow_execution=true; otherwise refused' and 'Only call this on claims you trust.' This provides clear when-to-use guidance, though it doesn't explicitly name alternatives like validate or self_test as safer options. The context is strong enough for an agent to infer the trade-offs, but a direct comparison would improve it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.3.1
    • First observedself_test
    • First observedvalidate
    • First observedverify

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: self_test for environment validation, validate for safe structural checks, and verify for full execution-based verification. The descriptions clearly differentiate the safe versus risky operations, leaving no ambiguity.

Naming Consistency4/5

Tool names are single verbs (validate, verify) while self_test is a compound, creating a slight inconsistency. However, all names are clear action-oriented verbs and follow a predictable style, making the deviation minor.

Tool Count5/5

Three tools is well-scoped for a specialized verification server. Each tool serves a necessary function without redundancy or excess, fitting the server's narrow purpose perfectly.

Completeness4/5

The toolset covers the core verification lifecycle: environment testing, safe validation, and full execution-based verification. A minor gap is the absence of any claim creation or modification tools, but these may be out of scope for a verification-focused server.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables defining and verifying evidence contracts for claims in READMEs, releases, or product pages using constrained verifiers and generating hash-chained receipts and reports.
    6 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Serves offline document validation and evaluation operations of the Judgment Pack Specification to MCP clients over stdio, enabling agents to validate and evaluate JPS documents as tool calls. Supports conformance validation, experimental evaluation with disposition and error classes, and corpus testing.
    2
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients to locally verify nomue Protocol Release 1 Welch Records, performing scoped structural, digest, admissibility, computability, and two-sided Welch recomputation checks over stdio without requiring accounts, API keys, or network access.
    48 npm
    Apache 2.0