About Orphograph
Orphograph is an MCP server for anchoring local file and output fingerprints to Bitcoin, for users who need verifiable records without sending file contents off-device. It hashes files locally and provides receipt and lineage lookups.
Key features
- 01Local SHA-256 and SHA-512 hashing
- 02Anchor files and folders
- 03Anchor generated text output
- 04Look up receipts and edit lineage
- 05List vault receipts
Use cases
- 01Record a file fingerprint on Bitcoin
- 02Anchor a folder using a Merkle root
- 03Preserve proof for generated text
- 04Check a receipt or its edit history
MCP support
Exposes tools for anchoring file, folder, and text fingerprints, plus receipt and lineage lookups. File contents stay on the device; only fingerprints are sent to Orphograph.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEOrphograph MCP server
A single-file Model Context Protocol server that lets a Claude / Claude Code / Cursor / any-MCP-host instance anchor files to the Bitcoin chain via Orphograph without the file ever leaving the user's machine.
mcp-name: io.github.Orphograph/orphograph
- License: MIT
- Dependencies: Python ≥ 3.9 standard library only. Also on PyPI as
orphograph-mcp0.1.1. - Lines of code: ~310, single file.
- Protocol: MCP 2024-11-05 over stdio.
Install
Save the script anywhere:
curl -sSL https://orphograph.com/mcp/orphograph_mcp.py -o ~/bin/orphograph_mcp.py
Then register it with your MCP host.
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json)
{
"mcpServers": {
"orphograph": {
"command": "python3",
"args": ["/Users/YOU/bin/orphograph_mcp.py"],
"env": {
"ORPHO_API_KEY": ""
}
}
}
}
Claude Code
claude mcp add orphograph python3 /Users/YOU/bin/orphograph_mcp.py
Or edit ~/.claude/settings.json and add the same mcpServers block.
Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"orphograph": {
"command": "python3",
"args": ["/Users/YOU/bin/orphograph_mcp.py"],
"env": {
"ORPHO_API_KEY": ""
}
}
}
}
Tools exposed
| Tool | Purpose | Auth |
|---|---|---|
orphograph_anchor_file(path) | Hash a local file and register the fingerprint on Bitcoin. | Optional API key |
orphograph_anchor_folder(path) | Hash a whole folder into an RFC-6962 Merkle tree and anchor one root covering every file. | Optional API key |
orphograph_anchor_output(text, …) | Hash generated output (an agent result, a transcript) in-process and anchor it. Accepts an optional zk_proof. | Optional API key |
orphograph_verify_receipt(receipt_id) | Look up what the office recorded for a receipt. A lookup — it does NOT consult the chain; run ots verify for that. | None |
orphograph_verify_lineage(receipt_id) | Walk an edit-lineage chain back through its committed parents. | None |
orphograph_list_vault(limit?) | List the subscriber's receipts. | API key required |
Privacy contract
- The file body never leaves the device.
- The script computes SHA-256 + SHA-512 in-process and transmits only those
fingerprints to
https://orphograph.com/api/anchor. - The script makes no network call until a tool is explicitly invoked by the host.
- File reads stream in 1 MB chunks; large files do not load into memory.
Configuration
| Environment variable | Purpose |
|---|---|
ORPHO_API_KEY | Optional. Issued from orphograph.com/account.html. Without it, the install is rate-limited to the free tier (3 anchors per 24 hours). |
ORPHO_BASE_URL | Optional. Defaults to https://orphograph.com. Override for testing or self-hosted instances. |
Tiers and limits
| Tier | Cap | Price |
|---|---|---|
| Free | 3 anchors / 24h | $0 |
| Writer Pack | 10 anchors, never expires | $19 one-time |
| Pack of Fifty | 50 anchors, never expires | $29 one-time |
| Standing Order | Unrestricted anchoring | $9 / month |
Verification
The MCP server only issues calls. Every receipt it produces can be checked without this office, in two independent steps:
- Structure — the open-source verifier at github.com/Orphograph/Orphograph re-derives the hashes and checks the receipt offline. It makes no network calls of its own.
- Chain — the OpenTimestamps client
(
ots verify) confirms the commitment actually landed in a Bitcoin block. The bundled verifier will invoke it for you when passed--ots.
Only step 2 consults Bitcoin.
Reporting issues
Open an issue at the public repo, or write to [email protected].
Comments
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.