discard_line_draft
Discard every unpublished change and schedule for one line.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lineKey | Yes | ||
| draftRevision | Yes |
Discard every unpublished change and schedule for one line.
| Name | Required | Description | Default |
|---|---|---|---|
| lineKey | Yes | ||
| draftRevision | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false, so the description is not required to state that it produces a destructive side effect. It adds some context by mentioning that both 'unpublished change' and 'schedule' are discarded, but it does not disclose whether the action is reversible, what happens to the draft revision, or whether any confirmation is needed. No contradiction with 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, which is concise and front-loaded with the action. However, the phrasing 'every unpublished change and schedule' is grammatically awkward and could be clearer. It earns a 4 because there is no wasted prose, though minor structural improvements would help.
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 destructive tool with no output schema, the description leaves gaps: it does not explain the role of draftRevision, what 'schedule' refers to, or the distinction from similar tools like discard_draft_endpoint. The overall context is thin, especially given the tool's destructive nature and the need to understand the revision parameter.
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 must explain parameter meanings. It implicitly covers lineKey via 'one line,' but draftRevision is completely unexplained—what it represents, how it controls the discard, and why it is required. The description does not compensate for the lack of schema documentation.
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 uses the verb 'discard' and specifies the resource as 'every unpublished change and schedule for one line.' It distinguishes from siblings like publish_line_draft and get_line_draft. However, the phrasing is slightly awkward ('change and schedule' could be misread as two separate objects) and does not explicitly mention the line's draft revision.
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?
No guidance is provided on when to use this tool versus alternatives. It does not state that this should be used to revert unpublished changes, nor does it mention when not to use it (e.g., if you want to keep the schedule). The description implies a use case but offers no explicit context or 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.