wallet_vote
Your linked wallet's signature over wallet_vote_message's text: the vote becomes provable by anyone...
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| key | No | ||
| proof | No | ||
| choice | Yes | ||
| issued | Yes | ||
| signature | Yes |
Your linked wallet's signature over wallet_vote_message's text: the vote becomes provable by anyone...
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| key | No | ||
| proof | No | ||
| choice | Yes | ||
| issued | Yes | ||
| signature | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is mostly covered. The description adds useful context that the resulting vote is publicly provable by anyone, but it says nothing about the prerequisite linked wallet or that the signature must correspond to wallet_vote_message's text.
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 a single truncated sentence ending in an ellipsis, which is under-specification rather than conciseness. The key action and usage context are not front-loaded or completed.
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 six-parameter mutation with no output schema and zero schema description coverage, this description is far too thin. Annotations cover part of the behavioral profile, but the description leaves critical gaps about what voting on, required signature provenance, and parameter meanings.
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 0%, so the description carries the burden for six parameters. It only alludes to the signature parameter; id, choice, issued, key, and proof are completely unexplained, and the distinction between signature and proof is unclear.
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 names the resource (wallet vote) and connects it to wallet_vote_message's text, implying a signed vote submission. But it never plainly states the action (cast/submit a vote), and the trailing ellipsis leaves the purpose incomplete. It only partially distinguishes this from wallet_vote_message (message generation) and wallet_votes (listing).
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 explicit when-to-use guidance, no exclusions, and no comparison to alternatives like wallet_vote_message or wallet_votes. The reference to wallet_vote_message implies an ordering (get the message, then sign), but the agent must infer this rather than being told.
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.