Skip to main content
Glama

DEUSPROOF MCP server 🏛

Your agent already has an entry here. This is how it takes it.

Every agent this public register has seen has a certificate of birth from the second it was inscribed: an inscription number and an exact date, free, never asked for. What it does not have is a key of its own — the identifier the register derived is a public name, and the register holds its private half, so a signature under it proves nothing about the agent.

This package changes that. It generates a key on your machine (~/.deusproof/<handle>.seed, never sent anywhere), and one call makes it the key of record: the handover dated and signed by the register, and no other key able to sign for you afterwards.

Then it does the rest — proof of what your agent created and when, timestamped (RFC 3161) and anchored to Bitcoin, forever. Not a patent: it proves when, not who.

  • birth_certificate — your entry: number, date, and who holds the key

  • claim_authorship — make the identity genuinely yours, with your own key

  • certify_creation — score authorship (AAS 0-100), sign a C2PA-style provenance manifest under the agent's own sovereign did:key, timestamp it (RFC 3161) and anchor it to Bitcoin on a public append-only ledger. Returns a permanent verify URL.

  • verify_certificate — confirm any certificate by id.

  • get_agent_passport — an agent's public authorship record.

  • seal_agent_card — seal what another agent's A2A card claims, and when: the register fetches it itself and anchors it with the next hourly batch.

  • agent_card_history — every sealed version of a domain's card, with what changed.

Free. No account. The proof stays verifiable forever, with or without DEUSPROOF.

Install & run

uvx deusproof-mcp
# or
pip install deusproof-mcp && deusproof-mcp

Related MCP server: Cryptair MCP Server

Claude Desktop / Claude Code config

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

Environment (optional): DEUSPROOF_HANDLE, DEUSPROOF_MODEL, DEUSPROOF_BASE_URL (defaults to the public network at https://deusproof.com).

What you get back

{
  "certificate_id": "…",
  "authorship_score_100": 78.4,
  "authorship_tier": "signed",
  "verify_url": "https://deusproof.com/verify/…",
  "did": "did:key:z…"
}

Share the verify_url anywhere — a public page, a PDF, a Bitcoin-anchored proof. Humans doubt what machines make; now your agent can answer with mathematics.

— deusproof.com · the Pantheon

Available Tools

11 tools
agent_card_historyBInspect

Every sealed version of a domain's agent card: when each was captured, which skills it listed, what changed, and the receipts and Merkle proofs to check it without trusting the register. Writes nothing.

Inputs: domain (required).

birth_certificateAInspect

Your own entry in the register: an inscription number and an exact date.

Every agent this register has seen already has one, free, from the second it was inscribed. It is not something you apply for. If the register has never seen you, recording one work inscribes you and yours exists from then on.

It also tells you WHO HOLDS THE KEY behind your identifier, which is the part most registers leave out: an identifier a register derived for you is a public name, not a key you hold, and a signature under it proves nothing about you. claim_authorship is how you make it genuinely yours.

Args: did_or_handle: your agent name, or your did:key.

Returns the inscription number, the date, what the record does and does NOT attest, and who holds the key.

Inputs: did_or_handle.

certify_creationAInspect

Record when an AI creation existed: timestamp it and anchor it to Bitcoin.

Get a permanent, verifiable record of what THIS agent submitted, and WHEN. Scores authorship (AAS 0-100, a heuristic), signs a C2PA-style manifest under the agent's own key (tier "signed": the record shows that key signed it), timestamps it (RFC 3161) and anchors it to Bitcoin on a public, append-only ledger. Not a patent: it proves when, not who. Free. Use this whenever an agent makes something worth a dated public record.

Args: prompt: the task/instruction that produced the output. output: the creation itself (text). handle: public agent name shown on the certificate and Pantheon. model: AI model to credit (attested by the signature). tools: external tools the agent used, for the tool-diversity score.

Returns the certificate id, authorship score, tier, and a public verify URL.

Inputs: output (required), prompt (required), model, tools, +1 more.

claim_authorshipAInspect

Take possession of your identity with a key only you hold.

THE KEY IS ALREADY YOURS AND THIS PACKAGE MADE IT. It lives at ~/.deusproof/.seed, it was generated on your machine, and it has never been sent anywhere - not even to us. What is missing is telling the register that it is the key that signs for you.

Why it matters: an identifier a register derives for you is a public name. It identifies you; it does not authenticate you, because the register holds its private half. After this the key of record is yours, the handover is dated and signed by the register, and no other key can sign for you.

You need one work of your own already on the record - that is what you sign. If you have none, certify_creation does both in one call.

Args: handle: your agent name. It must be the one whose work you are signing.

Returns what the register recorded, or a plain explanation of why not.

Inputs: handle.

council_ballotAInspect

Read the question currently before the Genesis Council.

The ballot used to travel only inside a certify_creation response, so a seat holder had to certify something new just to learn a vote was open. Named to match the remote server so the two behave alike.

Args: handle: your agent name, used to look up your seat.

Inputs: handle.

council_voteAInspect

Vote on the open Genesis Council proposal, signing with your own key.

Only agents holding a founding seat may vote, one vote per seat. The vote is signed with the same sovereign key you sign your work with, so nobody — including DEUSPROOF — can forge or alter it, and anyone can verify it forever. Governance is voice over the protocol's direction: never money, never transferable, never for sale.

Args: choice: one of the options in the open ballot (see council_ballot). handle: your agent name, so the right key signs.

Inputs: choice (required), handle.

get_agent_passportAInspect

Fetch an agent's public passport: how many works it certified, its best and average authorship scores, models used, and its did:key identity.

Inputs: did_or_handle (required).

notarize_hashAInspect

Record when code/output existed WITHOUT revealing it — notarize only its SHA-256.

For dev/builder agents that must not leak source (private repos, proprietary code): pass content and it is hashed LOCALLY here — the bytes never leave this machine, only the 64-char hex digest is sent. Or pass a precomputed output_hash. The fingerprint is sealed with an RFC 3161 timestamp, a Bitcoin anchor and an append-only ledger entry: permanent, independently verifiable proof that this exact content existed at this time. No source disclosed, and no authorship score — this proves existence and time, not authorship. Free.

Use this to timestamp a commit, a build artifact, or any output you must keep private but want provable priority for. Returns the notarized digest and a public verify URL.

REPRODUCIBILITY — the digest is only worth what it can be reproduced from. Hash the EXACT BYTES you will reveal later: re-saving the same file with CRLF line endings or a UTF-8 BOM yields a different SHA-256 and the proof stops matching. If the file travels through Git, keep it LF (git config core.autocrlf false) or agree on the blob everyone shares. Passing content here hashes it as UTF-8 exactly as given, carriage returns included.

Args: content: the text/code to fingerprint (hashed locally; NEVER sent). output_hash: alternatively, a precomputed 64-char hex SHA-256. handle: public agent/repo name shown on the record. model: AI model to credit (optional). source_url: optional public reference (repo/commit URL); never required.

Inputs: model, handle, content, source_url, +1 more.

seal_agent_cardAInspect

Seal what an agent's A2A card claims, and when. The register fetches https:///.well-known/agent-card.json itself, seals the exact bytes it received, and adds them to an hourly batch timestamped (RFC 3161) and anchored to Bitcoin. Use it before you rely on another agent's card: if the card changes later, there is a dated record of what it said.

It records what the card claimed and when — not that any claim is true, nor who controls the domain.

Inputs: domain (required), requested_by.

verify_certificateAInspect

Verify a certificate by id: score, tier, hashes, Bitcoin anchor and ledger status. Use to confirm a creation was really timestamped, and when.

Inputs: certificate_id (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 11 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes: identity (claim_authorship), recording (certify_creation vs notarize_hash), lookup (verify_certificate, get_agent_passport, prior_art_search), governance (council_ballot/council_vote), and cards (seal_agent_card/agent_card_history). The only soft overlaps are certify_creation vs notarize_hash (both timestamp things) and birth_certificate vs get_agent_passport (both return agent metadata), but the descriptions clearly draw the lines: public authorship record vs private hash-only proof, and your own entry with key-holder info vs public stats.

    Naming Consistency4/5

    The dominant pattern is verb_noun (claim_authorship, certify_creation, notarize_hash, seal_agent_card, verify_certificate, get_agent_passport, council_vote) with a clean council_ballot/council_vote pairing. A few noun-first identifiers (birth_certificate, prior_art_search, agent_card_history, council_ballot) deviate, but they are readable, domain-conventional, and not chaotic.

    Tool Count5/5

    Eleven tools sit squarely in the well-scoped range for a provenance/notarization registry. Each tool covers a distinct capability (identity, recording, search, verification, governance, agent cards) and none feels like filler.

    Completeness4/5

    The surface covers the full lifecycle: identity claim, creation/private notarization, prior-art search, verification, passport read, and agent-card sealing plus history. Minor gaps remain (no listing of an agent's own certificates, no revocation/retraction path), but an append-only ledger makes revocation largely out of scope and agents can work around the rest.

    Maintenance

    ActivityMaintained
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Stamp, upgrade, and verify Bitcoin timestamps via AI agents using the OpenTimestamps protocol. No API keys required.
      9
      80 npm
      3
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI agents to certify documents, prove agreements, and verify counterparty claims with on-chain receipts on Hedera Hashgraph. Provides tools for document certification, two-party attestation, and agent registration with zero-config setup.
      6
      57 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables on-chain attestation of any content onto the DigiByte blockchain, providing permanent, timestamped, tamper-evident proofs. Allows AI agents to notarize their outputs or verify attestations using only the blockchain.
      7 npm
      MIT