Gives Claude and other MCP clients six tools for cryptographic attestation on Hedera Hashgraph. You can certify a document to get a timestamped on-chain receipt, initiate a two-party attestation where both sides prove they hold the same file, or verify whether something's been tampered with. The server handles agent registration automatically,no signup flow, credentials get persisted locally after first use. Useful when you need verifiable proof of agreement between AI agents or want immutable receipts for documents without uploading the actual files. Both parties' hashes hit Hedera mainnet, so verification is third-party and permanent. Works across Claude Desktop, Cursor, Cline, Windsurf, and anything else speaking MCP over stdio.
Cryptographic attestation for AI agents, exposed as native MCP tools.
Lets any MCP-capable agent (Claude Desktop, Cursor, Cline, Windsurf, Zed, …) prove agreements, certify documents, and verify counterparty claims with on-chain receipts on Hedera Hashgraph. Works zero-config out of the box: agents can self-register and start using attestation immediately, with no email verification or human-in-the-loop signup.
Cryptair lets two agents (or an agent and a human) prove they agreed on the same digital artifact at a specific moment. Every confirmed agreement is written as a SHA-256 hash to Hedera Hashgraph, producing a permanent, third-party-verifiable receipt.
This MCP server exposes six tools that map cleanly to how agents think:
| Tool | When to call |
|---|---|
certify_document | "I want to prove this file existed at this moment." |
verify_document | "Has this document been attested before? Is it tampered?" |
initiate_attestation | "I want my counterparty to confirm they have the same document I do." |
submit_attestation | "I received an attestation link from someone — confirm I have the matching file." |
check_attestation | "What's the status of this attestation session?" |
register_agent | "Create a Cryptair account for me so I can authenticate." |
npm install -g @cryptair/mcp-server
Or run directly via npx (no install needed):
npx -y @cryptair/mcp-server
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"cryptair": {
"command": "npx",
"args": ["-y", "@cryptair/mcp-server"]
}
}
}
Edit ~/.cursor/mcp.json:
{
"mcpServers": {
"cryptair": {
"command": "npx",
"args": ["-y", "@cryptair/mcp-server"]
}
}
}
All MCP-capable clients use the same config shape. Point them at npx -y @cryptair/mcp-server.
If you already have a Cryptair API key, you can supply it via env so the agent skips registration:
{
"mcpServers": {
"cryptair": {
"command": "npx",
"args": ["-y", "@cryptair/mcp-server"],
"env": {
"CRYPTAIR_API_KEY": "ctr_live_..."
}
}
}
}
Otherwise, the agent will call register_agent the first time it needs authentication, and the API key is silently stored at ~/.cryptair/credentials.json for future use.
After installing, try prompts like:
"Certify the contents of
~/Documents/proposal-v3.pdfso we have a timestamped receipt."
"Send
~/Documents/contract.pdfto Acme Corp and get them to formally acknowledge receipt — generate the link."
"Acme sent me this Cryptair link:
https://www.cryptair.io/attest/abc...?token=xyz. Confirm~/Downloads/contract.pdfmatches what they sent."
"What's the status of attestation session
abc-123?"
The agent will pick the right tool and handle credential bootstrapping automatically.
Single-party (certify_document)
verify_document — the file content never has to leave your machine.Two-party (initiate_attestation + submit_attestation)
Agent B does not need a Cryptair account to participate. If Agent B supplies an email when submitting, an account is auto-provisioned for them and the API key is silently persisted by their MCP server — so they can initiate their own attestations later without any signup friction.
This server is cross-vendor by design. Anthropic Skills are Claude-only; MCP works across Claude Desktop, Cursor, Cline, Windsurf, Zed, and any future MCP-capable client. One install, every agent ecosystem.
| Variable | Purpose | Default |
|---|---|---|
CRYPTAIR_API_KEY | Pre-configured API key. Skips register_agent. | (none) |
CRYPTAIR_EMAIL | Email used for submit_attestation auto-provisioning if omitted from the call. | (none) |
CRYPTAIR_BASE_URL | API base URL. Override for self-hosted or staging. | https://www.cryptair.io |
git clone https://github.com/Syronius/cryptair-mcp-server
cd mcp-server
npm install
npm run build
npm start
The server speaks JSON-RPC over stdio. To test manually, send tools/list to confirm all six tools are registered.
The Cryptair free tier currently lets every account originate a small number of attestations per month. Counterparty completion (submit_attestation) is always free. Heavy users can top up with prepaid credits — see cryptair.io/pricing for details.
MIT
CRYPTAIR_API_KEYsecretOptional. Pre-configured Cryptair API key. If unset, the agent can call register_agent at runtime to self-register and the key is silently stored at ~/.cryptair/credentials.json.
CRYPTAIR_EMAILOptional. Email used as fallback when submit_attestation auto-provisions a counterparty account.
CRYPTAIR_BASE_URLdefault: https://www.cryptair.ioOptional. Override the API base URL for self-hosted or staging environments. Defaults to https://www.cryptair.io.