dokimo-mcp
Server Details
Verify AI-agent revenue: recompute a Merkle proof and check it against an on-chain anchor.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- ypratap11/dokimo-mcp
- GitHub Stars
- 0
- Server Listing
- dokimo-mcp
TDQS
Score is being calculated.
Available Tools
3 toolsdokimo_agent_cardARead-onlyIdempotentInspect
Fetch Dokimo's public A2A agent card — the discovery document describing what it can verify (skills, endpoints, supported A2A versions).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered structurally. The description adds genuine value beyond annotations by disclosing what the card contains (skills, endpoints, A2A versions), which is useful behavioral context about what the returned document will describe. No contradiction with annotations.
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?
A single sentence that leads with the verb 'Fetch', states the target, and appends a useful parenthetical definition of what an agent card is. Zero wasted words; every clause earns its place.
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 zero-parameter, read-only discovery tool with comprehensive annotations and no output schema, the description fully equips an agent to call it correctly. Nothing about when, how, or what it returns is left ambiguous.
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?
The tool has zero parameters, so there is nothing for the description to clarify. Per the rubric, a 0-parameter tool gets a baseline of 4, and the description correctly stays silent on parameters rather than inventing unnecessary detail.
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 ('Fetch'), a specific resource ('Dokimo's public A2A agent card'), and explains what the card contains (skills, endpoints, supported A2A versions). The phrase 'discovery document' clearly distinguishes it from the verification-focused siblings (verify_evidence_package, recompute_merkle_root) without needing to open schemas.
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?
The description implies this is the discovery step — you read the card to learn capabilities before verifying — but it never explicitly states when to call it versus the sibling verification tools. No exclusions or alternatives are named, so the agent must infer the usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recompute_merkle_rootARead-onlyIdempotentInspect
Trustlessly recompute a dokimo-merkle-v1 root — LOCAL, no network, no trust.
Hash ``leaf`` in the leaf domain (H(0x00 ‖ leaf)) and replay ``proof_path`` —
a list of ``[sibling_hash, side]`` where side is "L" or "R" — hashing internal
nodes as H(0x01 ‖ left ‖ right). Compare the returned root to the ``root`` in an
evidence package yourself; if it differs, the package was tampered with.
Returns ``{recomputed_root, merkle_scheme, steps}``.
| Name | Required | Description | Default |
|---|---|---|---|
| leaf | Yes | The raw leaf value (e.g. a JSON string like '{"k":"total_assets","v":"..."}'). Hashed in the leaf domain as H(0x00 ‖ leaf). | |
| proof_path | Yes | Ordered Merkle proof path: a list of [sibling_hash_hex, side] pairs, where side is "L" if the sibling is on the left or "R" if on the right. Empty list for a single-leaf tree. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing the exact algorithm: leaf domain hashing (H(0x00 ‖ leaf)), internal node hashing (H(0x01 ‖ left ‖ right)), proof path replay, and local/no-network behavior. It also complements the readOnly/idempotent/Hints. No contradiction with annotations.
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?
The description is tightly packed: a single overview sentence, a short algorithm explanation, a usage cue, and a return contract. It front-loads the tool's core value and avoids filler while retaining the technical detail needed for correct invocation.
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 local recomputation tool with no output schema, the description is complete. It explains both inputs, the algorithm, trustless local behavior, the returned fields, and how to check for tampering. No external documentation is needed to call it safely.
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%, but the description adds substantial meaning: explains how leaf is hashed, what side "L" or "R" means, the order of proof_path, and that an empty list means leaf-only tree. This goes well beyond the schema's raw property descriptions.
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?
The description states a specific verb and resource ('recompute a dokimo-merkle-v1 root') and clarifies the scope: local, trustless, no network. It also distinguishes itself from full evidence verification by instructing the agent to compare the returned root to the package root itself.
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?
The description clearly conveys its use case: recompute the Merkle root locally and compare it against an evidence package's root. However, it does not explicitly name sibling tools like verify_evidence_package or state when an agent should prefer that alternative, so it lacks a formal when-not instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_evidence_packageARead-onlyIdempotentInspect
Fully verify a Dokimo evidence package against the LIVE on-chain anchor.
Sends the package to Dokimo's public A2A endpoint, which recomputes the Merkle
proof AND checks the compound commitment (root + rule version) against the
anchor on Base. ``package`` must contain: ``leaf`` (str), ``root`` (str),
``proof_path`` (list of [sibling_hash, "L"|"R"]), and
``rule_version_commitment`` (str); ``close_id`` is optional/echoed.
Returns the verdict: ``{verified, checks:{recompute, onchain_anchor,
rule_version_bound}, ...}``. ``verified`` is true only if the proof recomputes
AND the commitment is anchored on-chain.
| Name | Required | Description | Default |
|---|---|---|---|
| package | Yes | The Dokimo evidence package to verify. Required keys: 'leaf' (str), 'root' (str), 'proof_path' (list of [sibling_hash, "L"|"R"]), and 'rule_version_commitment' (str). 'close_id' (str) is optional and echoed back. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, idempotent, and open-world hints. The description adds meaningful behavioral context: the tool sends the package to a public A2A endpoint, recomputes the Merkle proof, and checks the compound commitment against the Base anchor. It also states the exact success condition ('verified is true only if the proof recomputes AND the commitment is anchored on-chain'), which explains the operation's outcome beyond the annotations. It does not mention failure modes or auth requirements, but these are not essential at this level.
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?
The description is relatively long—three sentences including a package field list and a return signature—but every sentence serves a purpose: it states the operation, details the package content, and defines the verdict. The key fact is front-loaded in the first sentence. It could be tightened by removing the explicit enumeration of keys already in the schema, but the level of detail is justified for a nested object with multiple required fields and no output schema.
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?
Without an output schema, the description fully compensates by providing the verdict shape ('{verified, checks:{recompute, onchain_anchor, rule_version_bound}}') and the semantic condition for success. It also fully documents the required and optional package fields in the text. For a tool with one complex nested parameter and no output schema, this description is sufficient for an agent to successfully invoke the tool and interpret the results.
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?
The schema description has 100% coverage, listing the required keys and the optional close_id. The tool description adds meaning beyond the schema by explaining how these fields are used in the verification pipeline: it mentions the proof is recomputed from the given path/leaf/root, and that rule_version_commitment is part of the compound commitment bound to the anchor. It also clarifies that close_id is 'optional/echoed', which is slightly more contextual than simply calling it optional. This extra context lets an agent understand not only the shape, but the role of each part.
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?
The description opens with a specific and unambiguous purpose: 'Fully verify a Dokimo evidence package against the LIVE on-chain anchor.' It names the target resource (Dokimo evidence package), the operation (verify), and the distinguishing scope (live on-chain anchor). This clearly separates it from the sibling recompute_merkle_root, which only recomputes a Merkle root and does not perform the full on-chain check.
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?
The description gives clear context about when this tool is appropriate by distinguishing it from simply computing a Merkle proof: it is the full verification path that also confirms on-chain anchoring of the compound commitment. It does not explicitly name the sibling recompute_merkle_root or add 'when not to use' guidance, but an agent can infer the tool's usage boundaries from the emphasized 'LIVE on-chain anchor' and the check structure.
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.
3 tool updates
- First observed
dokimo_agent_card - First observed
recompute_merkle_root - First observed
verify_evidence_package
Related MCP Connectors
Cryptographically anchored evidence for agents: verified run receipts, proof-gated settlement.
Expert review for AI agents. On-chain proof of human review.
Bitcoin-anchored, tamper-evident audit log for AI agents — record, disclose and verify actions.
Verify structured evidence and return machine-verifiable provenance, assurance, and receipts.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to fetch and independently verify on-chain data such as account balances and contract code hashes using Merkle proofs and ECDSA signatures, with x402 payment integration.3MIT
- FlicenseNot gradedqualityCmaintenanceCryptographically anchored, tamper-evident evidence receipts for AI agents — verified run receipts, existence-at-time proofs, and cited answers from an anchored public record. Remote MCP with proof-gated settlement; attests existence and integrity, never truth.-
- AlicenseBqualityAmaintenanceVerify a number before an agent asserts it — a Deflated Sharpe Ratio for backtest, plus eval-gap, subset-win, and judge-bias checks, with signed receipts anyone can verify offline.34MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to verify World Cup match evidence, check settlement readiness, purchase proof packets, and anchor results on Injective EVM testnet.8MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.