Skip to main content
Glama

dokimo-mcp

verify_evidence_package

Read-onlyIdempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
packageYesThe 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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.