Skip to main content
Glama

gmail.users.drafts.delete

Permanently deletes a specified Gmail draft by user ID and draft ID, bypassing trash; use it to remove unwanted drafts irreversibly.

Instructions

Immediately and permanently deletes the specified draft. Does not simply trash it. For more information, see Create and send draft emails [HTTP DELETE] — removes the resource; irreversible unless the API documents a trash/undo flow; refused under --readonly safety profiles. Returns the post-delete resource state (or empty) as JSON — request bodies are built from the typed parameters (typed flags win over the params map), or read whole from body_file Siblings over the same resource: create, get, list, send, update.

Input Schema

NameRequiredDescriptionDefault
idYes[URL path segment] The ID of the draft to delete.
queryNoExtra KEY=VALUE query pairs for endpoints whose parameters Discovery does not describe.
paramsNoParameter map merged into the request; typed parameters win.
userIdYes[URL path segment] The user's email address. The special value `me` can be used to indicate the authenticated user.me
dry_runNoReturn the request that would be sent, without sending it.
body_fileNoRead the request body from this file ('-' for stdin) instead of building one from the parameters.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / id / description
      Previous value: -"The ID of the draft to delete."New value: +"[URL path segment] The ID of the draft to delete."
    • addedInput schema / properties / userId / default
      Added value: +"me"
    • changedInput schema / properties / userId / description
      Previous value: -"The user's email address. The special value `me` can be used to indicate the authenticated user."New value: +"[URL path segment] The user's email address. The special value `me` can be used to indicate the authenticated user."
  2. First observed

TDQS

A4/5.0
Behavior4/5

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

With no annotations at all, the description carries the full burden and does disclose the critical traits: permanence, irreversibility, rejection under read-only safety profiles, and the post-delete return shape. The irreversibility phrasing is hedged ("unless the API documents a trash/undo flow"), which slightly weakens it, but the core destructive profile is conveyed.

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

Conciseness3/5

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

The first two sentences are an excellent front-loaded lead, but the remainder is templated boilerplate (HTTP DELETE, request-body construction, sibling enumeration) that repeats generic harness text rather than draft-delete specifics. It is usable but padded.

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

Completeness4/5

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

Given no output schema and no annotations, the description fills the important gaps: it explains the return value and the destructive safety behavior. It never mentions dry_run, which is the natural escape hatch for a permanent delete, leaving one meaningful gap for a 6-parameter mutation tool.

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 100%, so every parameter including userId, id, dry_run, params, and body_file is already documented. The description only adds the precedence rule between typed flags and the params map, which the schema itself already states, so it sits at the baseline.

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?

States a specific verb and resource ("Immediately and permanently deletes the specified draft") and explicitly disambiguates from the soft-delete alternative ("Does not simply trash it"). It also names the sibling set over the same resource (create, get, list, send, update), so an agent can place it without opening another schema.

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?

Clear about the destructive context and that it is refused under --readonly profiles, and the "does not simply trash it" line nudges toward the trash/untrash alternative. It stops short of naming the exact alternative tool (e.g. gmail.users.messages.trash) or an explicit when-to-use condition, so it is strong context rather than a full routing rule.

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

Deploy Server

Other Tools