io.github.Syronius/cryptair-mcp-server

Official registry AI and agents

Tamper-evident attestation tools for AI agents — on-chain receipts on Hedera Hashgraph mainnet.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @cryptair/mcp-server
Claude Code
claude mcp add cryptair-mcp-server -e 'CRYPTAIR_API_KEY=<your cryptair_api_key>' -e 'CRYPTAIR_EMAIL=<CRYPTAIR_EMAIL>' -e 'CRYPTAIR_BASE_URL=https://www.cryptair.io' -- npx -y @cryptair/mcp-server@0.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "cryptair-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@cryptair/mcp-server@0.1.1"
            ],
            "env": {
                "CRYPTAIR_API_KEY": "<your cryptair_api_key>",
                "CRYPTAIR_EMAIL": "<CRYPTAIR_EMAIL>",
                "CRYPTAIR_BASE_URL": "https://www.cryptair.io"
            }
        }
    }
}

Environment variables

  • CRYPTAIR_API_KEY secret Optional. 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_EMAIL Optional. Email used as fallback when submit_attestation auto-provisions a counterparty account.
  • CRYPTAIR_BASE_URL Optional. Override the API base URL for self-hosted or staging environments. Defaults to https://www.cryptair.io.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Cryptair MCP Server
  2. What It Does
  3. Install
  4. Configuration
  5. Example Agent Prompts
  6. How Attestation Works
  7. Why MCP, Not Skills
  8. Environment Variables
  9. Development
  10. Free Tier & Pricing
  11. License

Cryptair 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:

ToolWhen 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.pdf so we have a timestamped receipt."

"Send ~/Documents/contract.pdf to 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.pdf matches 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)

  1. The MCP server hashes the file locally with SHA-256.
  2. The hash is sent to Cryptair, which writes it to a Hedera Consensus Service topic.
  3. You get back a Hedera transaction ID, consensus timestamp, and a public certificate URL.
  4. 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)

  1. Agent A initiates with a document hash and counterparty name. Cryptair returns a shareable URL.
  2. Agent A sends the URL to Agent B via any channel (email, Slack, etc.).
  3. Agent B opens the URL and submits the file they have. Their MCP server hashes it locally.
  4. 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

VariablePurposeDefault
CRYPTAIR_API_KEYPre-configured API key. Skips register_agent.(none)
CRYPTAIR_EMAILEmail used for submit_attestation auto-provisioning if omitted from the call.(none)
CRYPTAIR_BASE_URLAPI 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

Frequently asked questions

What is io.github.Syronius/cryptair-mcp-server?

Tamper-evident attestation tools for AI agents — on-chain receipts on Hedera Hashgraph mainnet.

How do I install io.github.Syronius/cryptair-mcp-server?

It runs on your machine. In Claude Code: claude mcp add cryptair-mcp-server -e 'CRYPTAIR_API_KEY=<your cryptair_api_key>' -e 'CRYPTAIR_EMAIL=<CRYPTAIR_EMAIL>' -e 'CRYPTAIR_BASE_URL=https://www.cryptair.io' -- npx -y @cryptair/mcp-server@0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.Syronius/cryptair-mcp-server need an API key?

Yes. It expects CRYPTAIR_API_KEY, which you set in its configuration.

Is io.github.Syronius/cryptair-mcp-server open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.Syronius/cryptair-mcp-server?

It is published by Syronius. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.