Skip to main content
Glama

Approve and send reply draft

inbox_draft_approve
DestructiveIdempotent

Approves original draft operation, optionally editing it; may send to contact.

This does not take ownership. Retry identity is draft_id; stale/superseded drafts fail.

Input Schema

NameRequiredDescriptionDefault
agent_idYesAgent ID from agents_list or agent_create.
draft_idYesPending reply draft ID from inbox_drafts.
edited_textNoReplacement reply text; null preserves the pending draft text.
conversation_idYesConversation ID from inbox_list or conversations_search.

Output Schema

NameRequiredDescriptionDefault
statusYes
draft_idYes
operation_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / agent_id / description
      Added value: +"Agent ID from agents_list or agent_create."
    • addedInput schema / properties / conversation_id / description
      Added value: +"Conversation ID from inbox_list or conversations_search."
    • addedInput schema / properties / draft_id / description
      Added value: +"Pending reply draft ID from inbox_drafts."
    • addedInput schema / properties / edited_text / description
      Added value: +"Replacement reply text; null preserves the pending draft text."
  2. First observed

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile and retry safety are known; the description usefully adds that it does not take ownership and that stale or superseded drafts fail, which is real concurrency context. It does not resolve the destructive ambiguity of 'may send to contact' — whether an outbound message is actually sent, and whether that is irreversible, is left unclear.

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?

Three short clauses, front-loaded with the action and followed by the retry constraint; nearly every sentence earns its place. Minor redundancy in 'Approves original draft operation' and the trailing blank line.

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

Completeness3/5

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

An output schema and rich annotations carry much of the burden, and the description covers ownership and retry semantics. Still missing for a destructive, open-world operation: confirmation that approval sends an outbound message, and any mention of what failure on a stale draft requires (re-read via inbox_drafts, then retry).

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 parameters are already documented, and a baseline of 3 applies. The description adds a small amount of meaning by stating that draft_id is the retry identity and implying edited_text is an optional replacement, but conversation_id and agent_id get nothing beyond the schema.

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

Purpose3/5

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

Identifies the resource (a pending reply draft) and the action (approve), and names draft_id as the identity, which distinguishes it from inbox_draft_reject and inbox_drafts. However, the core effect is hedged as 'may send to contact', so an agent cannot tell from the description whether approval actually dispatches a message or merely marks the draft approved. 'Approves original draft operation' is also partly circular.

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

Usage Guidelines2/5

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

No statement of when to use this versus inbox_draft_reject, inbox_reply, or agent_draft_edit. The phrase 'optionally editing it' overlaps with agent_draft_edit without saying which path to choose, and there is no guidance on prerequisites such as required conversation state. Only the retry/stale-draft note gives any operational context.

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.

Resources