Akashi Notari
Server Details
Proof of existence for files: anchor a SHA-256 hash on Base, look up proofs. Paid with x402.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- self-reality/verifier
- GitHub Stars
- 1
TDQS
Scored across 2 tools
The two tools have clearly distinct roles: anchor_hash writes a hash to the chain (paid), while find_proof reads/looks up an existing proof (free). The descriptions even explicitly tell the agent to call find_proof before anchor_hash, making the boundary unambiguous.
Both names use the same snake_case verb_noun convention (anchor_hash, find_proof). There's no mixing of styles or vague verbs.
Two tools form the minimal write/read pair for anchoring proofs, which is defensible, but the surface is thin for the stated purpose. A single write and single read leaves little room for related operations.
The core lifecycle (write a proof, verify a proof) is fully covered, and immutable on-chain records mean update/delete aren't needed. Minor gaps exist, e.g. no way to list anchors by payer address or batch-anchor multiple hashes.
Available Tools
2 toolsanchor_hashAnchor a file hashAInspect
Paid with x402 (USDC on Base). Writes the SHA-256 hash of a file on-chain; the block time becomes the proof of existence. Compute the hash locally and never send the file. The hash, the filename and the payer address become public and permanent. Without a payment in _meta["x402/payment"] the result is the payment requirement.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | SHA-256 of the file, 64 hex characters | |
| filename | No | Optional name to record with the hash: a-z 0-9 - _ . |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses the x402/USDC-on-Base payment model, that the hash, filename and payer address become public and permanent, and what the call returns when no payment is supplied. That is exactly the disclosure an agent needs for a write tool whose annotations only declare it is non-readOnly and open-world.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences with no filler. Payment terms are front-loaded rather than the core action, which is a minor ordering tradeoff, but every sentence carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description covers the action, the payment gate and the unpaid-path response. Minor gap: it does not say what a successful paid call returns (e.g., transaction reference).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the hash format and filename charset are already documented. The description adds the consequence that the filename becomes public, which is useful, but no additional syntax or format guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (writes the SHA-256 hash) and resource (file hash on-chain) plus the mechanism (block time as proof of existence). It is clearly a distinct operation from the sibling find_proof, but it never names or contrasts that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Compute the hash locally and never send the file" gives concrete operational guidance, and the payment prerequisite is stated. It does not, however, say when to prefer anchor_hash over find_proof or address re-anchoring/duplicate cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_proofFind a proof of existenceARead-onlyInspect
Free. Look up whether a file hash is anchored on Base and when, or read the proof written by a transaction. Pass hash or tx. Call it before anchor_hash to avoid paying for a hash that is already anchored.
| Name | Required | Description | Default |
|---|---|---|---|
| tx | No | Transaction hash; use instead of hash | |
| hash | No | SHA-256 of the file, 64 hex characters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, but the description adds genuinely new behaviour context: the operation is 'Free', and it frames the sibling anchor_hash as the paid path. It does not describe pagination, latency, or failure modes for an unanchored hash, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the decisive cost signal ('Free') and the routing rule. The 'or read the proof written by a transaction' clause is slightly compressed but still earns its place by covering the tx path.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does sketch what comes back (whether it is anchored and when, or the proof itself). For a two-optional-param read tool with full schema coverage and annotations, this is nearly complete; only edge behaviour for a not-found hash is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes both params, including that tx is 'use instead of hash'. The description's 'Pass `hash` or `tx`' and 'read the proof written by a transaction' restate rather than extend that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (look up) and resource (file hash anchored on Base / proof written by a transaction), and it is immediately distinguishable from the sibling anchor_hash because it explicitly contrasts the two (read vs. pay to write).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit selection guidance ('Pass `hash` or `tx`') and a concrete when-to-use/alternative rule: 'Call it before anchor_hash to avoid paying for a hash that is already anchored.' Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
anchor_hash - First observed
find_proof
Related MCP Connectors
Paid cryptographic witness for agents: seal, attest, receipts. x402 USDC/Base.
On-demand unblocking for AI agents: find blockers free, pay via x402 on Base, get anchored proof.
Encrypted, pay-per-use persistent memory storage for AI agents, gated by x402 payments on Base.
Verify what an AI agent observed before it trusts, pays, or acts. FreshProof provides timestamped public URL observations, Proof Receipts, and policy verification, with paid x402 tools in USDC on Base.
Related MCP Servers
AlicenseNot gradedqualityBmaintenanceCryptographic receipt layer for AI inferences. Enables notarization and verification of AI outputs with on-chain proofs via x402 payment.1MIT- FlicenseAqualityNot gradedmaintenanceTrust infrastructure for AI agents on Base. DEX Spread Oracle (live Uniswap V3 prices), on-chain escrow, insurance pool, and collective knowledge base. 7 smart contracts. Pay-per-query via x402 micropayments in USDC.6-
- AlicenseNot gradedqualityDmaintenanceEnables URL shortening using a hash-based approach with pay-per-call via x402 micropayments on Base L2.MIT
- AlicenseNot gradedqualityCmaintenanceCryptographic hash generator supporting MD5, SHA1, SHA256, SHA512, and bcrypt, with pay-per-call via x402 (USDC on Base L2) – no API key or signup required.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.