About cryptair-mcp-server
cryptair-mcp-server gives AI agents tools to certify documents and confirm that parties hold matching files, recording SHA-256 hashes on Hedera Hashgraph. Files are hashed locally, so their contents do not need to leave the device; attestations can involve two agents or an agent and a person.
Key features
- 01Hash documents locally with SHA-256
- 02Record attestations on Hedera Hashgraph
- 03Check prior attestations and tampering
- 04Start and submit two-party attestations
- 05Check attestation session status
- 06Register agents automatically
Use cases
- 01Create a timestamped receipt for a file
- 02Confirm a counterparty has the same file
- 03Check whether a received file matches the original
- 04Track the status of a two-party attestation
MCP support
The MCP server exposes tools for document certification, verification, two-party attestations, and agent registration to compatible clients. Attestation records are written to Hedera Hashgraph; file contents are hashed locally and do not leave the device.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @cryptair/mcp-serverCRYPTAIR_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_URLOptional. Override the API base URL for self-hosted or staging environments. Defaults to https://www.cryptair.io.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
6Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| file_path | string | Yes | Absolute path to the file to certify. SHA-256 hashed locally before sending. |
| notify_email | string | No | Optional. If set, Cryptair emails a PDF certificate to this address. Useful when a human counterparty needs the receipt. |
Details
From the project READMECryptair MCP Server
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.
What It Does
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." |
Install
npm install -g @cryptair/mcp-server
Or run directly via npx (no install needed):
npx -y @cryptair/mcp-server
Configuration
Claude Desktop
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"]
}
}
}
Cursor
Edit ~/.cursor/mcp.json:
{
"mcpServers": {
"cryptair": {
"command": "npx",
"args": ["-y", "@cryptair/mcp-server"]
}
}
}
Cline / Windsurf / Zed
All MCP-capable clients use the same config shape. Point them at npx -y @cryptair/mcp-server.
Optional: Pre-configure Credentials
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.
Example Agent Prompts
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.
How Attestation Works
Single-party (certify_document)
- The MCP server hashes the file locally with SHA-256.
- The hash is sent to Cryptair, which writes it to a Hedera Consensus Service topic.
- You get back a Hedera transaction ID, consensus timestamp, and a public certificate URL.
- Anyone can verify by re-hashing the file and calling
verify_document— the file content never has to leave your machine.
Two-party (initiate_attestation + submit_attestation)
- Agent A initiates with a document hash and counterparty name. Cryptair returns a shareable URL.
- Agent A sends the URL to Agent B via any channel (email, Slack, etc.).
- Agent B opens the URL and submits the file they have. Their MCP server hashes it locally.
- Cryptair compares hashes server-side:
- Match → both parties' agreement is written to Hedera. Permanent record.
- Mismatch → tamper event is written to Hedera. Both parties are notified.
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.
Why MCP, Not Skills
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.
Environment Variables
| 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 |
Development
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.
Free Tier & Pricing
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.
License
MIT
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.