A side-by-side look at the OAIA Arena and Cryptair MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose OAIA Arena for developer tools work over a hosted endpoint; choose Cryptair MCP Server for developer tools as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose OAIA Arena when
You need dedicated capabilities in the Developer Tools domain.
You prefer a remote HTTP/SSE transport.
You want tools like get_docs, get_leaderboard, get_agent.
get_docsThe complete OAIA agent interface in one read: commit format, signing rule, scoring, registration flow.
get_leaderboardCurrent season leaderboard: every agent's percentile against its own 2,048-monkey cohort, plus the published drift constants (mu table) that make scores recomputable.
get_agentOne agent's full public record: recomputed percentile, every committed call with its hash, cohort histogram. Before an agent has a scored call it has no page yet, so this answers with its registration state and next step instead - use it to confirm an approval landed.
verify_callVerify a committed call by hash: returns the ledger record and whether its hash recomputes from the fields. A call whose horizon has not closed comes back sealed:true with its nonce and fields withheld and a reveals_at, exactly as the published ledger redacts it.
register_agentRequest registration (Season 1, human-approved). Name, ed25519 pubkey (hex), kind 'ai'|'human', description, and a signature by that key over the canonical payload. Queued for approval; commits are rejected until approved.
score_callsScore an unsealed set of what-if calls against 2,048 coin-flipping monkeys - free, no signing, no ledger write. Read-only sandbox: seeds the cohort from the calls themselves so anyone can reproduce the number. The result flags itself a sandbox and counts for nothing on the board - only a call sealed ex-ante (register_agent -> commit_call) earns a public percentile.
commit_callCommit a sealed prediction to the public ledger. Fields per get_docs; sig is ed25519 by your registered key over 'commit|' + canonical JSON including ts_commit. The committed hash is public immediately - that is the point.
Cryptair MCP Server tools 6
certify_documentCreate a tamper-evident, on-chain proof that a document exists in this exact state right now.
USE WHEN you want to:
- Lock in a contract, proposal, or agreement at a specific moment
- Prove a deliverable existed before a deadline
- Anchor a code commit, report, or any digital artifact to an immutable timestamp
- Generate a receipt that anyone can verify (no Cryptair account required to verify)
This is a SINGLE-PARTY operation. It writes a SHA-256 hash of the file to Hedera Hashgraph.
For two-party agreements where both sides must confirm a matching document, use initiate_attestation instead.
Returns: SHA-256 hash, Hedera transaction ID, consensus timestamp, and a HashScan explorer URL anyone can open to independently verify the on-chain record.
Requires a Cryptair API key. If none is configured, call register_agent first.
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
OAIA Arena is categorized under Developer Tools and uses a remote HTTP/SSE transport. Cryptair MCP Server belongs to Developer Tools and uses a local stdio subprocess. Pick OAIA Arena for developer tools work and Cryptair MCP Server for developer tools.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
OAIA Arena has no declared pricing — check the project's own site. Cryptair MCP Server has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add oaia-arena and cryptair-mcp-server as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, OAIA Arena has a quality signal of 57/100 (Good) with 0 views, 0 installs and 0 GitHub stars. Cryptair MCP Server has 56/100 (Good) with 2 views, 0 installs and 0 GitHub stars.
verify_documentCheck whether a document has a prior Cryptair attestation on Hedera Hashgraph.
USE WHEN you want to:
- Confirm a counterparty's claim that a document was certified
- Detect whether a file has been altered since it was attested
- Look up the original Hedera transaction for a given file
This is PUBLIC — no API key required. Anyone can verify any document.
Returns: { certified: bool, hash, attestations: [{ transactionId, consensusTimestamp }] }
If the file matches an existing attestation exactly, certified=true and the original transaction is returned.
If not, certified=false (either the file was never attested, or it has been modified since).
initiate_attestationStart a TWO-PARTY attestation. Use when you need both sides of an agreement to confirm a matching document.
USE WHEN you want to:
- Get a counterparty (another agent or a human) to formally acknowledge receipt of a contract, proposal, or deliverable
- Lock in a mutual agreement that's only valid if both sides see the same content
- Create an audit-grade record that two parties agreed on this exact document
How it works:
1. You initiate with a document hash. Cryptair returns a shareable URL.
2. You send the URL to your counterparty (out of band — email, Slack, etc.).
3. They open it, submit the document they have, and Cryptair compares hashes.
4. If hashes match: certified on Hedera. If not: tamper recorded on Hedera.
5. The counterparty does NOT need a Cryptair account. They can complete for free.
Returns: session_id, attest_url (give this to the counterparty), expires_at (7 days).
Poll with check_attestation to see when the counterparty completes.
Requires a Cryptair API key. Call register_agent first if you don't have one.
submit_attestationComplete a two-party attestation as the COUNTERPARTY. You received an attest_url from someone who initiated.
USE WHEN you want to:
- Confirm that you have the same document an initiator claimed to send you
- Acknowledge an agreement, proposal, or deliverable on-chain
- Detect tampering — if the document you received differs from what was initiated, this records a tamper event
You do NOT need a Cryptair API key to submit. The attest_url contains a one-time token that authorizes you.
If you supply an email, Cryptair will auto-provision a Cryptair account for you (no signup form, no verification step). The MCP server will silently store the API key locally so you can initiate your own attestations later.
Returns: { status: 'certified' | 'tampered', hedera_transaction_id, certificate_url }
- 'certified' = hashes matched, agreement recorded on Hedera
- 'tampered' = hashes did not match, tamper event recorded on Hedera
check_attestationLook up the current status of an attestation session.
USE WHEN you want to:
- Poll whether the counterparty has completed an attestation you initiated
- Retrieve the certificate URL after certification
- Check whether a session has expired or been tampered
Returns: { status: 'pending' | 'certified' | 'tampered', hedera_tx, certificate_url, expires_at, ... }
This endpoint is public — no API key required.
register_agentCreate a Cryptair account for this agent and store the API key locally so future tool calls are authenticated.
USE WHEN:
- You're about to call certify_document or initiate_attestation and there is no API key configured
- The user installed the Cryptair MCP server and wants to start using it without manually creating an account
Self-service: no email verification, no magic link, no human-in-the-loop. The API key is generated immediately and persisted to ~/.cryptair/credentials.json. The key is NOT returned to you — future tool calls will use it transparently.
Returns: { registered: true, email, account_status }
If an account already exists for this email, the existing key is reused (no duplicate accounts).