Discard a candidate email draft
yardstick_email_drafts_discardDiscard a pending candidate email draft without provider mutation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| request_id | No | ||
| idempotency_key | No |
yardstick_email_drafts_discardDiscard a pending candidate email draft without provider mutation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| request_id | No | ||
| idempotency_key | No |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, but the description adds minimal context: it says 'without provider mutation', which is somewhat counterintuitive given destructiveHint. There is no mention of what happens to the draft, whether it is recoverable, or what the response is. The description does not contradict annotations but does little to explain the behavior beyond the 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 a single sentence, concise and front-loaded with the primary action and resource. However, it is too brief given the lack of parameter documentation, but as far as structure, it is adequate.
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?
The tool has three parameters, no output schema, no enums, and annotations carry only basic hints. The description does not explain the state of the draft, the effect of discarding, or the idempotency implications. Given the complexity of a destructive action with idempotency keys, more context is expected.
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%, and the description does not explain any of the three parameters. The id, request_id, and idempotency_key are defined only by their names and types, which is insufficient. The description should clarify that id identifies the draft and that request_id and idempotency_key are optional for idempotency, but it does not.
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 action (discard), a specific resource (candidate email draft), and the state (pending). It distinguishes from siblings like send, update, and list by focusing on discarding. It does not explicitly mention the alternative tools for discarding (e.g., a delete or discard action) but the verb is clear.
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 usage when discarding a pending draft, but provides no when-to-use guidance such as prerequisites (e.g., draft must be pending, not sent) or alternatives (e.g., use update to modify instead). There is no mention of when not to use.
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.