Skip to main content
Glama

approve_draft

Destructive

Approves a pending draft from a write tool and executes it using the same pacing, deduplication, and metrics as direct mode. Each draft can be approved once; unknown or consumed IDs return an error.

Instructions

Execute a pending draft created by a write tool. Runs the exact same execution path as direct mode (pacing, dedup, metrics). A draft can be approved exactly once; unknown or consumed ids return an error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
draft_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.1

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructive=true, idempotent=false, and openWorld=true. The description adds real value beyond them: the execution path mirrors direct mode with pacing, dedup, and metrics, and consumed/unknown ids raise an error rather than silently no-op. This is meaningful behavioral context, though it doesn't cover auth requirements or downstream side effects like what gets destroyed.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the core action. Every clause carries distinct information (execution semantics, idempotency/error behavior) with no redundancy or filler.

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 one-parameter mutation tool with an output schema and full annotation coverage, the description supplies what the structured fields cannot: execution-path parity and one-shot semantics. An agent has enough to invoke it correctly without additional context.

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

Parameters3/5

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

Schema description coverage is 0% for the single draft_id parameter, so the description must carry the meaning. It loosely implies the id references a draft created by a write tool and that consumed ids error, but never says where to obtain a valid draft_id (e.g., list_drafts). Baseline 3 given one schema-documented param name but no added format or sourcing guidance.

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

Purpose4/5

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

States a specific verb and resource: it executes/approves a pending draft, and clarifies the draft originates from a write tool. An agent can distinguish it from list_drafts, get_draft, and reject_draft by name alone. It stops short of explicitly naming the sibling it is not (reject_draft), so it falls just short of a 5.

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?

Gives clear triggering context (a pending draft produced by a write tool) and the precondition that approval is a one-shot operation. It does not explicitly state when to prefer reject_draft or how to recover from the 'consumed id' error, so no exclusions/alternatives are spelled out.

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