mcpField
P
Privi Anchor

Privi Anchor

Remote
privi-discovery.onrender.comSecurity0Updated today

About Privi Anchor

Privi Anchor provides on-chain hash anchoring for AI agents and applications, creating evidence that specific content existed at a given time and has not changed. Content stays off-chain, and verification can be performed independently from Base transaction data and a Merkle proof.

Key features

  1. 01Computes SHA-256 hashes of text
  2. 02Anchors batches of up to 100 hashes
  3. 03Returns transaction receipts and Merkle proofs
  4. 04Verifies anchors using chain data
  5. 05Reports chain and anchoring status

Use cases

  1. 01Create existence proofs for reports or datasets
  2. 02Check whether generated content was altered
  3. 03Timestamp audit-log heads

MCP support

Privi Anchor exposes status, text hashing, hash anchoring, and on-chain verification tools through MCP. The anchoring tool requires an API key; only hashes, not source content, are placed on chain.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://privi-anchor.onrender.com/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

Privi Anchor MCP

Timestamped proof that data existed, on chain. Any AI agent can fingerprint what it produced or relied on (a report, generated image, dataset, contract, model card, audit-log head) and anchor that fingerprint on chain. Anyone can later prove the exact content existed at that time and hasn't changed, by checking the chain itself rather than trusting Privi.

Works with Claude, ChatGPT, Cursor, VS Code and custom agents. Part of the Privi suite with Privi Verify and Privi Ledger.

Live: https://privi-anchor.onrender.com/mcp, anchoring on Base (chain ID 8453) until the Privi chain mainnet launches, then it moves there. Anchors made earlier on the Privi EVM Devnet (chain 262144) stay recorded. anchor_verify reports them as devnet anchors instead of failing them, and you can re-anchor any hash to get a Base receipt.

Tools

ToolAccessWhat it does
anchor_statusfreeChain, anchor wallet, gas balance, totals
anchor_hash_textfreeSHA-256 of text, ready to anchor
anchor_verifyfreeProves on chain that a hash was anchored, by whom and when. With a receipt's tx_hash + proof, uses chain data only
anchor_hashesAPI keyAnchors 1-100 hashes in one transaction; returns a receipt per hash

Only hashes go on chain, never content.

How it works

  1. The hashes in a call become leaves of a SHA-256 Merkle tree (node = sha256(min(a,b) || max(a,b))).
  2. One zero-value transaction from the anchor wallet to itself carries the root in its data: 0x50525641 ("PRVA") + 0x01 + 32-byte root. No contract is needed.
  3. Each hash gets a receipt: the transaction hash and its Merkle proof.
  4. To verify, read the transaction from any Base RPC node (or basescan.org), take the root from its data, and recompute it from the hash and proof. The block's timestamp is the proof of when.

Independent check in a few lines:

import hashlib
def node(a, b): return hashlib.sha256(min(a, b) + max(a, b)).digest()
x = bytes.fromhex(my_hash)
for sib in proof: x = node(x, bytes.fromhex(sib))
assert x.hex() == tx_input[12:]   # strip "0x" + "50525641" + "01"

Access

anchor_hashes needs Authorization: Bearer <key> with a key from ANCHOR_API_KEYS and is rate-limited per key. It's free with a key. Each call is one Base transaction (a fraction of a cent of gas, paid by the anchor wallet), so the server also enforces a daily budget (ANCHOR_MAX_TX_PER_DAY, default 500). Batch up to 100 hashes per call.

Run, test, deploy

pip install -e ".[dev]"
cp .env.example .env     # set ANCHOR_PRIVATE_KEY and ANCHOR_API_KEYS
pytest
privi-anchor-mcp         # HTTP :8000, MCP at /mcp

The anchor wallet is a hot key. Keep only a little ETH on Base in it for gas (about $5 lasts weeks at the default budget). /status shows its balance and gas_ok.

Public explorer feed

For Privi Explorer (CORS open, free): GET /anchors/recent?limit&before lists anchor batches newest first (Merkle root, transaction, block, hash count; never the label or the client), and GET /anchors/verify/<sha256> runs the same on-chain check as anchor_verify for one hash.

License

MIT © 2026 Dario Canoy, Privi World Co

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.