Skip to main content
Glama

Delete one email

delete_email
DestructiveIdempotent

Permanently delete one email by id. Its content, extracted code and original message are erased immediately and cannot be recovered or read again. Use it after you've used the code or link from an email. To delete while receiving, call wait_for_email with delete: true instead; to clear the whole inbox use delete_all_emails. Get the id from list_emails or wait_for_email, and check it with read_email first if unsure. Returns { deleted: 1 }, or the error 'No email with that id.' if it doesn't exist (already deleted or expired). The inbox, its address and its remaining allowance are unaffected. Parameters: id is a 16-character lowercase code (letters and digits 2-9, never l, o, 0 or 1), e.g. '9jpckse9ihxv8t76'. Ids belong to this inbox only, never change, and are never reused, so an id from an earlier call stays valid until the email is deleted or turns 7 days old. An id from a different inbox is treated as not found. Deleting the same id twice is safe: the second call just reports it as not found.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe id of the email to erase, as returned by list_emails or wait_for_email.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / id / description
      Added value: +"The id of the email to erase, as returned by list_emails or wait_for_email."
    • addedInput schema / properties / id / examples
      Added value: +[
      +  "9jpckse9ihxv8t76"
      +]
    • addedInput schema / properties / id / pattern
      Added value: +"^[a-km-np-z2-9]{16}$"
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the destructive/idempotent annotations it discloses that content, extracted code and original message are erased immediately and unrecoverable, that a repeat delete is safe and reports 'not found', that the inbox/address/allowance are unaffected, and that ids from other inboxes are treated as not found.

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?

Front-loaded with the destructive core action and the routing alternatives, then parameters and return values. It is long but nearly every sentence carries non-redundant operational detail; a slight trim of the id alphabet/example restatement would tighten it.

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?

With no output schema, the description supplies the return value ({ deleted: 1 }) and the exact failure message ('No email with that id.') plus id lifetime rules, so an agent has everything needed to call and interpret the result.

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

Parameters5/5

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

Although schema coverage is already 100%, the description adds semantics the schema cannot convey: the id is a 16-character lowercase code with a restricted alphabet, ids never change or get reused, they belong to this inbox only, and they stay valid until deletion or 7-day expiry.

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 ('Permanently delete one email by id') with the irrecoverable scope spelled out, immediately distinguishing it from delete_all_emails and wait_for_email's delete flag.

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

Usage Guidelines5/5

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

Gives explicit when-to-use ('after you've used the code or link'), explicit alternatives for adjacent cases ('to delete while receiving, call wait_for_email with delete: true', 'to clear the whole inbox use delete_all_emails'), and a prerequisite check ('check it with read_email first if unsure').

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