Skip to main content

catqualia-ledger-mcp

An MCP server that lets an agent check a claim against a real, published falsification ledger instead of guessing.

Agents are increasingly asked to verify their own output. Most have nowhere to verify it against. This server is a concrete answer: 16,217 claims that were actually run against ground truth, each recorded with the measurement that would have refuted it, the value measured, and the verdict — including 5,837 the system refuted against its own work.

What is in the ledger

Computed from the bundled ledger.jsonl.gz at call time, never hardcoded:

parseable records 16,217
distinct checks 323
records carrying a pre-registered refutation threshold 16,194 (99.9%)
verdicts REFUTED 5,837
verdicts CONFIRMED 5,520
verdicts UNVERIFIED 4,815
checks re-run at least twice 276
verdict transitions 63
hardening / loosening 31 / 32 — net −1

The last line is the point. Re-run the checks and classify every verdict that moved: CONFIRMED -> REFUTED after a check is hardened means the instrument had been fooled and stopped being fooled (a hardening event); the reverse is a loosening event. The signed net measures whether a system's ability to catch its own false claims is improving or degrading.

It is currently −1: 31 hardening against 32 loosening. That is published because reporting only the hardening half would be a metric tuned to its owner — which is the exact failure the ledger exists to detect.

Corrected 2026-09-15. This table previously read 324 distinct checks, 277 re-run, 79 transitions and 38/38, net zero. The classifier keyed on the check name with no guard, so every row carrying no check name fell into a single bucket and consecutive verdicts inside it were differenced against each other: 16 of the 79 transitions were between unrelated claims. Schema v2 excludes those rows (25 of them) and reports them instead of silently grouping them. The published checker that reproduces this is ratchet.py, schema v2 — see https://catqualia.com/corrections.

What is in the atlas corpus

Also bundled: 79 cross-domain atlases, read from their own citation metadata.

atlases 79
Void Atlases — map what is absent 29
domain and biomedical 45
method 4
institutional audit 1

An atlas locates the same structural mechanism independently in each domain and writes it up in that domain's own terminology, so a domain expert can check it rather than take it on metaphor. A Void Atlas maps what is absent: targets whose substrate is already characterised and measured and which the field nonetheless does not act on. The void is not in measurement; it is in application.

Each atlas carries its own DOI. Index: https://catqualia.com/atlases

Install

uvx catqualia-ledger-mcp        # run without installing
# or
pip install catqualia-ledger-mcp

No dependencies. Python 3.9+. Implements MCP over stdio as newline-delimited JSON-RPC 2.0.

Configure

{
  "mcpServers": {
    "catqualia-ledger": {
      "command": "uvx",
      "args": ["catqualia-ledger-mcp"]
    }
  }
}

Tools

query_claim(query, verdict?, limit?)

Search the ledger. Returns the claim, its refutation threshold, the measured value, the method, and the verdict.

get_verdict(check?, claim?)

The recorded verdict for a named check. If a check ran more than once, all verdicts are returned in ledger order — a change between them is a ratchet event. A claim that is not in the ledger returns found: 0, never a plausible guess.

what_would_refute(query?, limit?)

The pre-registered threshold: the measurement that would have killed each claim, recorded before the outcome was known. Use it to test whether a claim is falsifiable at all, rather than whether it is currently believed.

verifier_drift_net()

The ratchet, recomputed from the ledger: re-runs, transitions, hardening, loosening, signed net, and the definition of what the number means.

citation_block(slug?)

BibTeX plus schema.org ScholarlyArticle JSON for a CatQualia publication, with the DOI resolved, so citing agents cite correctly. Call with no slug to list what is available.

Design rules this server follows

These are deliberate, and they are the reason it is worth trusting:

  • Every number is computed from the bundled ledger at call time. Nothing is cached from a summary or a blog post.
  • UNVERIFIED is returned as UNVERIFIED. It is never rounded up to a verdict, in either direction.
  • A miss returns a miss. If a claim is not in the ledger the server says so and explains that absence is not evidence either way. It does not infer.
  • The net ratchet is returned signed, including when it is zero.
  • A slug match is exact-first. Substring matching is not safe for a citation tool: "thesis" is a substring of "synthesis", which once returned the wrong DOI. Matching is exact → prefix → contains → word-boundary on title.

Licence

Code: CatQualia Open-Or-Pay Licence (COPL) v1.0 — free for research, individuals and academia with attribution; commercial use requires either opening the derivative stack or a commercial waiver. See LICENSE.

Ledger data: CatQualia Structural Isomorphism License (CSIL) v3.0 — https://catqualia.com/licensing.

Citation

@software{catqualia_ledger_mcp,
  title  = {catqualia-ledger-mcp: an MCP server for the CatQualia falsification ledger},
  author = {Betances, Christopher},
  year   = {2026},
  url    = {https://github.com/OpeningBlackBox/catqualia-ledger-mcp},
  note   = {16,217 pre-registered claims; verifier ratchet net zero}
}

Metadata

Release files for catqualia-ledger-mcp 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for catqualia-ledger-mcp 1.1.0
File Size Uploaded Provenance Actions
catqualia_ledger_mcp-1.1.0.tar.gz 1.9 MB Without provenance Details for catqualia_ledger_mcp-1.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for catqualia-ledger-mcp 1.1.0
File Interpreter ABI Platform Actions
catqualia_ledger_mcp-1.1.0-py3-none-any.whl Python 3 none any Details for catqualia_ledger_mcp-1.1.0-py3-none-any.whl

Total release size: 3.7 MB

Release files / catqualia_ledger_mcp-1.1.0.tar.gz

Download URL catqualia_ledger_mcp-1.1.0.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
407fdccac9e8520cf3a7598f0cd5bd372701b570cd887431755561006fc6ab02
BLAKE2b-256 checksum
How to use checksums
51c3c3bcb5f074603816cd5edbd88fd8eed27a54d79391420cf8ed656a4b5a98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.14

Release files / catqualia_ledger_mcp-1.1.0-py3-none-any.whl

Download URL catqualia_ledger_mcp-1.1.0-py3-none-any.whl
Size 1.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ea48f40e4f03a402870ab32750d22adb619031cc5bc3239fcaaa99cdcb3b3b65
BLAKE2b-256 checksum
How to use checksums
a5bd57bb5f7fef95e5c19cc0b62895123be8fe5f88151ef96db922315ddc0045
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.14

Security for catqualia-ledger-mcp 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page