@unfakable/mcp
Document verification MCP server enabling AI agents to verify file authenticity by computing SHA-256 fingerprints locally and checking Bitcoin-anchored proofs via OpenTimestamps.
README
@unfakable/mcp
Document verification MCP server for AI agents.
@unfakable/mcp is a Model Context Protocol server that gives AI agents (Claude Code, Claude Desktop, Cursor, ChatGPT, Gemini CLI, any MCP host) a primitive answer to one question: is this file the record it claims to be?
It does that by computing a SHA-256 fingerprint of the file locally — the file never leaves the device — and checking whether the fingerprint is anchored to a Bitcoin block via OpenTimestamps on the Unfakable verifier index. If the file has been locked, you get back the anchor block, the locked-at timestamp, the counterparty notification status, and a permanent verifier URL.
Zero file storage. Independent verification. Built for the era where AI agents read, summarize, sign, route, and trigger workflows from documents that increasingly cannot be trusted on their face.
Five tools
| Tool | What it does |
|---|---|
verify_file(path) |
Hash a local file with SHA-256 and check whether Unfakable has a Bitcoin-anchored proof for that fingerprint. The file never uploads. |
verify_url(url) |
Fetch a public URL, compute its fingerprint, and check the index. Useful for verifying remote PDFs, wire instructions sent over email links, etc. |
verify_hash(hash) |
Direct lookup of a known SHA-256. Use when you already have the hash from another system. |
lock_file(path, ...) |
Create a new Bitcoin-anchored lock for a local file. Requires UNFAKABLE_API_KEY. Free key at https://unfakable.ai/lock. |
get_evidence_pack(handle) |
Retrieve Evidence Pack metadata (19-file manifest, FRE 902(14) cert info, chain-of-custody) for an existing lock. |
Install
Claude Code
claude mcp add unfakable
Or manually, in your Claude Code MCP config:
{
"mcpServers": {
"unfakable": {
"command": "npx",
"args": ["-y", "@unfakable/mcp"],
"env": {
"UNFAKABLE_API_KEY": "YOUR_KEY_HERE"
}
}
}
}
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"unfakable": {
"command": "npx",
"args": ["-y", "@unfakable/mcp"],
"env": {
"UNFAKABLE_API_KEY": "YOUR_KEY_HERE"
}
}
}
}
Restart Claude Desktop. The five tools appear in the MCP servers list.
Cursor
In Cursor → Settings → MCP, add:
{
"mcpServers": {
"unfakable": {
"command": "npx",
"args": ["-y", "@unfakable/mcp"],
"env": { "UNFAKABLE_API_KEY": "YOUR_KEY_HERE" }
}
}
}
Gemini CLI
Add to ~/.gemini/extensions.json:
{
"mcpServers": {
"unfakable": {
"command": "npx",
"args": ["-y", "@unfakable/mcp"],
"env": { "UNFAKABLE_API_KEY": "YOUR_KEY_HERE" }
}
}
}
Standalone
npm install -g @unfakable/mcp
unfakable-mcp
Speaks JSON-RPC over stdio. Pipe it into any MCP-compatible host.
Authentication
verify_file,verify_url,verify_hash,get_evidence_pack— no key required. All four are read-only against the public verifier index.lock_file— requiresUNFAKABLE_API_KEY. Free key at https://unfakable.ai/lock. The key authorizes lock creation against your Unfakable account, applies your dispute window settings, and emails counterparty notifications under your domain.
Why this exists
For thirty years, document proof has lived inside the vendor that holds the file — the inbox provider, the signature platform, the document portal. Breach the vendor, subpoena the vendor, retire the product, and the proof goes with it.
AI agents now read, summarize, sign, and act on documents at scale. Before an agent acts, it needs to verify the file is the record it claims to be. That primitive does not exist inside any vendor today.
@unfakable/mcp is that primitive. It lets any agent — Claude, Gemini, ChatGPT, Cursor — call a single tool and get back: locked, locked when, anchored to which Bitcoin block, verifier URL, counterparty status. The proof survives if Unfakable disappears because the anchor lives on a chain Unfakable does not control.
Links
- Site: https://unfakable.ai
- MCP docs: https://unfakable.ai/mcp
- Repo: https://github.com/unfakable/mcp
- Issues: https://github.com/unfakable/mcp/issues
- Smithery: https://smithery.ai/server/@unfakable/mcp
License
MIT — see LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.