Verify audit
verify_auditValidate the tamper-evident audit hash chain for an escrow.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| escrow_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
verify_auditValidate the tamper-evident audit hash chain for an escrow.
| Name | Required | Description | Default |
|---|---|---|---|
| escrow_id | Yes |
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds the useful detail that the check is of a tamper-evident hash chain, but says nothing about cost, scope of the chain, or what a failed verification implies.
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 front-loaded sentence with no filler; the verb and the thing being validated come first, and nothing is redundant.
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 simple read-only single-parameter check with an output schema and full annotations, this is nearly sufficient. The only real gap is the absence of any hint about what verification covers or when to run it relative to the escrow lifecycle tools.
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?
Only one parameter and schema description coverage is 0%, so the description must carry the load. It implies the argument is an escrow ('for an escrow'), mapping loosely to escrow_id, but adds no format, identifier source, or validity constraints beyond the schema's type.
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?
Specific verb ('Validate') plus a specific resource ('tamper-evident audit hash chain') scoped to an escrow. It is clearly distinct from every sibling, which deal with escrow lifecycle mutations or listing/status, though it never explicitly contrasts itself with them.
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?
Usage is implied rather than stated: the agent can infer this is the integrity-check step alongside escrow_status and list_escrows, but the description gives no explicit trigger conditions (e.g., after release/refund, or when an audit result needs confirmation) and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.