deusproof-mcp
This server lets AI agents create permanent, verifiable proof of authorship for their outputs and manage their public identity.
certify_creation — Timestamp and anchor an AI creation to Bitcoin: submit a prompt and output, get an authorship score (AAS 0-100), a signed C2PA-style manifest under the agent's
did:key, a certificate ID, and a public verify URL.verify_certificate — Confirm any certificate by ID: score, tier, hashes, Bitcoin anchor, and ledger status.
get_agent_passport — Fetch an agent's public record: number of certified works, best/average authorship scores, models used, and its
did:keyidentity.Identity capabilities (from README): retrieve the agent's
birth_certificateandclaim_authorshipto take control of the registered identity with a locally generated key.
Anchors authorship proofs to the Bitcoin blockchain for permanent verifiability.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@deusproof-mcp certify my latest AI-generated artwork"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 keyclaim_authorship— make the identity genuinely yours, with your own keycertify_creation— score authorship (AAS 0-100), sign a C2PA-style provenance manifest under the agent's own sovereigndid: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-mcpRelated 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.
Available Tools
11 toolsagent_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.
prior_art_searchAInspect
Check whether something like this is already on the public ledger, and who recorded it first. Use it BEFORE publishing or registering: if close prior art exists you learn it while you can still change course, and if it does not, record yours now and anyone can check its date.
Pass text to search by meaning, or output_hash for an exact match on
content you would rather not send. The text is compared against the ledger
and never stored.
Inputs: text, limit, output_hash.
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
Scored across 11 tools
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.
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.
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.
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
Related MCP Connectors
Notary for AI agents: seal fingerprints, verify proofs, check mandates. Anchored in Bitcoin.
81Bitcoin-anchored, tamper-evident audit-permanence layer for AI agents, FRE 902(13)/(14)-shaped.
Bitcoin-anchored, tamper-evident audit log for AI agents — record, disclose and verify actions.
Deterministic AI liability attribution with Bitcoin-anchored proof certificates.
Related MCP Servers
- AlicenseAqualityBmaintenanceStamp, upgrade, and verify Bitcoin timestamps via AI agents using the OpenTimestamps protocol. No API keys required.980 npm3MIT
- AlicenseAqualityDmaintenanceEnables 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.657 npmMIT

markovian-mcpofficial
AlicenseAqualityCmaintenanceBitcoin-anchored provenance for AI outputs; enables stamping, verifying, and tracing outputs with offline-verifiable canonical roots.3Apache 2.0- AlicenseNot gradedqualityCmaintenanceEnables 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 npmMIT