ledger_verify
Verify a ledger record's Ed25519 signature against the published keys.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| record | Yes |
Verify a ledger record's Ed25519 signature against the published keys.
| Name | Required | Description | Default |
|---|---|---|---|
| record | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the crypto scheme (Ed25519) and the trust anchor (published keys), but says nothing about the outcome of a failed verification, whether the operation is read-only, whether it hits the network for key retrieval, or what it returns.
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 or redundancy; the verb and object lead immediately. It is arguably too terse for a tool taking a nested object, but nothing in the sentence is wasted.
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 annotations, no output schema, and a nested-object parameter documented nowhere, the description should explain the verification result (boolean vs error), key source, and record shape. It leaves all three unaddressed.
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 single 'record' parameter is an untyped nested object with 0% schema description coverage. The description implies the record is the signed artifact being checked, but gives no insight into its required fields (payload, signature, key id) that an agent would need to construct it.
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 and resource: verifying a ledger record's Ed25519 signature against published keys. The verb 'verify' is clearly distinct from siblings ledger_compile, ledger_create, ledger_diff, ledger_execute, and ledger_version, though the description never names or contrasts them 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?
There is no guidance on when to use this tool versus the other ledger_* siblings, nor any stated prerequisite (e.g., that the record must first be created or that keys must be fetched). The agent must infer usage entirely from the one-line purpose.
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.