Orphograph 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. No
pip installrequired. - 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 hello@orphograph.com.
Metadata
Release files for orphograph-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| orphograph_mcp-0.1.1.tar.gz | 14.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| orphograph_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.2 kB
Release files / orphograph_mcp-0.1.1.tar.gz
| Download URL | orphograph_mcp-0.1.1.tar.gz |
|---|---|
| Size | 14.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e8908e092077c8fdebc4eec0a3930e233413df0cb3bdf888f0506d4dbfa296a9
|
|
BLAKE2b-256 checksum How to use checksums |
30e1c52a78ac18dd320738365c17e25262ee16acb1daa698b6e3a48cb5c631c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / orphograph_mcp-0.1.1-py3-none-any.whl
| Download URL | orphograph_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 14.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5820a61f1903c81f1f60f40ede4696d21f34d29b6578bbf2ae8898ecf16bfe8
|
|
BLAKE2b-256 checksum How to use checksums |
f542c4b95c75d90da01e1c18d6622803517f9f0d233da99abcf24d47506613bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|