Skip to main content
Glama

ofw_delete_draft

Destructive

Delete a draft from OurFamilyWizard, refusing if changed since last read and returning current version. Use expectedRevision to assert a version or force to bypass.

Instructions

Delete a draft message from OurFamilyWizard. Also removes the draft from the local cache. Before deleting, the draft is re-read from OFW and the delete is REFUSED if it changed since you last read it (the current server body is returned so nothing is lost) — pass expectedRevision to assert which version you mean, or force:true to delete regardless.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forceNoDefault false. Delete even if the draft changed on OurFamilyWizard since you read it. The discarded server version is echoed back in the response.
messageIdYesDraft message ID to delete
expectedRevisionNoThe `revision` you got from ofw_list_drafts/ofw_get_message. Asserts you are deleting THAT version; if the draft changed on OFW since, the delete is refused and the current server body returned.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.19.4

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only flag destructiveHint:true, but the description goes far beyond: it details the re-read before delete, the refusal on change, the local cache removal, and the behavior of force and expectedRevision. It fully discloses the destructive nature and safety mechanisms, exceeding the annotation's minimal coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately long but each sentence contributes: it front-loads the primary action, then explains the cache side-effect, the safety re-read, and the two ways to handle revisions. No fluff, though it could be tightened slightly without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with 3 parameters and no output schema, the description covers all critical aspects: the action, side-effects, conflict resolution, and what is returned on refusal or force. It gives an agent everything needed to invoke it correctly and understand outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds valuable nuance: it explains that expectedRevision asserts a specific version and that force bypasses the check, with the discarded server body echoed back. This clarifies the parameters' roles beyond the schema's own descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Delete a draft message from OurFamilyWizard') and the specific resource (draft message). It distinguishes itself from siblings like ofw_save_draft by focusing on deletion and mentions cache removal, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the version-checking mechanism and how to handle conflicts via expectedRevision or force:true, giving clear usage context. It doesn't explicitly state when not to use it or mention alternatives, but the draft-specific scope and safety checks imply appropriate use. Could be improved by contrasting with ofw_save_draft for editing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.