Skip to main content
Glama

Cooper Email

Delete a draft

cooper_delete_draft
DestructiveIdempotent

Use this when a draft should be discarded, including a scheduled send you want to cancel. Requires auth and message_delete, message_send, or draft_write. Inputs: inbox_id (required), draft_id (required). Deletes the draft and its attachments. A draft with send_status sending returns HTTP 409 draft_sending. Returns {object:"draft", id, deleted:true}.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "inbox_id": "<inbox_id>",
      "draft_id": "<draft_id>"
    },
    "name": "cooper_delete_draft"
  }
}

Input Schema

NameRequiredDescriptionDefault
draft_idYesDraft id (dft_…) to delete
inbox_idYesInbox id (inb_…), username, or full email address

Output Schema

NameRequiredDescriptionDefault
idNoStable id of the returned object. Pass it to the matching get, update, or delete tool.
objectNoObject type name, such as list, message, or thread.
deletedNoTrue when the object was deleted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Deletion result for the draft.",
      +  "properties": {
      +    "deleted": {
      +      "description": "True when the object was deleted."
      +    },
      +    "id": {
      +      "description": "Stable id of the returned object. Pass it to the matching get, update, or delete tool."
      +    },
      +    "object": {
      +      "description": "Object type name, such as list, message, or thread."
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare destructive=true and idempotent=true, but the description adds material context the agent could not infer: the required auth scopes, that attachments are deleted along with the draft, and the 409 draft_sending failure mode for in-flight sends. That is exactly the pre-call risk information a destructive tool needs.

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 sentence order is well front-loaded: use case, then auth, then effect, then error, then return shape. The "Inputs: inbox_id (required), draft_id (required)" clause is pure duplication of the schema and could be dropped, but it costs only a few words.

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 two-parameter destructive delete, everything an agent needs is present: when to use, permissions, side effects on attachments, the one error case, and the response shape. Nothing is missing even though an output schema exists and would have covered the return value.

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 coverage is 100%, so the schema already documents both parameters including the dft_ and inb_ id formats. The description only restates that both are required, adding no new meaning; baseline 3 applies.

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 gives a specific verb and resource ("Deletes the draft") plus the scope detail that a scheduled send can be cancelled this way. An agent can distinguish it from cooper_update_draft, cooper_send_draft, and cooper_get_draft without opening any 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?

"Use this when a draft should be discarded, including a scheduled send you want to cancel" gives an explicit triggering condition and covers the non-obvious cancel-a-scheduled-send case. It stops short of naming the alternative tools (update_draft to modify, send_draft to send), so the routing is clear but not exhaustive.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.