npm @cryptair/mcp-serverstdioMITupdated 4mo ago
Cryptographic attestation for AI agents, exposed as native MCP tools.
O que dá para fazer com cryptair mcp server?
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:
| 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
Instalação
Adicione cryptair mcp server ao seu cliente. Escolha o que você usa.
claude mcp add mcp-server -- npx -y @cryptair/mcp-servercodex mcp add mcp-server -- npx -y @cryptair/mcp-serveramp mcp add mcp-server -- npx -y @cryptair/mcp-server{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@cryptair/mcp-server"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@cryptair/mcp-server"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mcp-server","command":"npx","args":["-y","@cryptair/mcp-server"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@cryptair/mcp-server"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@cryptair/mcp-server"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@cryptair/mcp-server"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp-server": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@cryptair/mcp-server"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp-server": {
"command": {
"path": "npx",
"args": [
"-y",
"@cryptair/mcp-server"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @cryptair/mcp-serverRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Pontuação
39 / 100
Incompleta
- Documentação25/25
- Manutenção13/25
- Confiança13/20
- Capacidade0/15
- Instalação12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 115 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Histórico de versões
| Versões | Publicada |
|---|---|
| 0.1.1Mais recente | 8 de mai. de 2026 |