io.github.Syronius/cryptair-mcp-server
NPM · @CRYPTAIR/MCP-SERVER · SCANNED AUG 3
Tamper-evident attestation tools for AI agents — on-chain receipts on Hedera Hashgraph mainnet.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 86 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability67
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1536 tokens (~256/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @cryptair/mcp-server
claude mcp add syronius-cryptair-mcp-server -- npx -y @cryptair/mcp-server
codex mcp add syronius-cryptair-mcp-server -- npx -y @cryptair/mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"syronius-cryptair-mcp-server": {
"type": "local",
"command": [
"npx",
"-y",
"@cryptair/mcp-server"
],
"enabled": true
}
}
} openclaw mcp add syronius-cryptair-mcp-server --command npx --arg -y --arg @cryptair/mcp-server
mcp_servers:
syronius-cryptair-mcp-server:
command: "npx"
args: ["-y", "@cryptair/mcp-server"] {
"mcpServers": {
"syronius-cryptair-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cryptair/mcp-server"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +45
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Dependency health: partial → unverified ▼ functional
- Schema quality: unverified → excellent ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- License: unverified → pass ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.23 ▲ functional
- Licence: MIT functional
- 1 Aug 26 −11
- Tool coverage: 100 → unverified ▼ functional
- Dependency health: unverified → partial ▲ functional
- 31 Jul 26 −9
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +18
- Tool coverage: unverified → 100 ▲ functional
- 28 Jul 26 −18
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 42
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/@cryptair/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 95 packages
95 packages in the resolved dependency tree · 95 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
certify_document ~248
Create 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.
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Absolute path to the file to certify. SHA-256 hashed locally before sending. |
| notify_email | string | — | Optional. If set, Cryptair emails a PDF certificate to this address. Useful when a human counterparty needs the receipt. |
No output schema declared.
No examples provided.
check_attestation ~119
Look 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.
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | The session ID returned by initiate_attestation. |
No output schema declared.
No examples provided.
initiate_attestation ~358
Start 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.
| Name | Type | Req | Description |
|---|---|---|---|
| counterparty_name | string | yes | Human-readable name of the counterparty (e.g., 'Acme Corp', '[email protected]'). Shown on the certificate. Max 256 chars. |
| document_hash | string | yes | 64-character lowercase hex SHA-256 of the document. Hash locally first; do not send the file content. |
| metadata | object | — | Optional. Arbitrary JSON object stored with the session (e.g., contract type, reference IDs). |
No output schema declared.
No examples provided.
register_agent ~273
Create 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).
| Name | Type | Req | Description |
|---|---|---|---|
| company | string | — | Optional. Company or organization name. |
| string | yes | Email for the account. Used as the agent identity. Welcome notifications and certificates may be sent here. | |
| framework | string | — | Agent framework being used. Default: custom (suitable for MCP-based agents). |
| planned_use | string | — | Primary use case. Default: exploring (good choice if unsure or for first-time setup). |
| what_building | string | — | Free-text description of what this agent is building. Helps Cryptair understand usage patterns. Default: 'MCP integration'. |
No output schema declared.
No examples provided.
submit_attestation ~366
Complete 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
| Name | Type | Req | Description |
|---|---|---|---|
| attest_url | string | yes | The full URL the initiator sent you (e.g. https://www.cryptair.io/attest/<id>?token=<jwt>). |
| document_hash | string | — | 64-character hex SHA-256 of the document, if you already have it. Provide this OR file_path. |
| string | — | Optional. If supplied and you don't have a Cryptair account yet, one will be auto-provisioned for you and stored locally. Recommended for agents that may want to initiate their own attestations later. | |
| file_path | string | — | Absolute path to the file you received. Will be SHA-256 hashed locally. Provide this OR document_hash. |
No output schema declared.
No examples provided.
verify_document ~172
Check 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).
| Name | Type | Req | Description |
|---|---|---|---|
| file_path | string | yes | Absolute path to the file to verify. SHA-256 hashed locally before sending. |
No output schema declared.
No examples provided.