Skip to main content
Glama

move_email

Destructive

Move a message to another folder. Returns a queued operation immediately; this is not confirmation of provider completion. Poll get_mail_action with the returned operationId. Never retry an uncertain send with a new operationId.

Input Schema

NameRequiredDescriptionDefault
accountIdYes
messageIdYesPass the full opaque message ID exactly as returned by search_emails, get_email, or a completed action. Never decode, reconstruct, shorten, or otherwise alter it. After archive_email or move_email completes, use its returned replacement messageId for later message operations.
operationIdNoHigh-entropy stable idempotency key, such as a UUID. Reuse the same value only when retrying that exact send.
destinationFolderIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / messageId / description
      Added value: +"Pass the full opaque message ID exactly as returned by search_emails, get_email, or a completed action. Never decode, reconstruct, shorten, or otherwise alter it. After archive_email or move_email completes, use its returned replacement messageId for later message operations."
  2. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already flag destructive=false... rather destructiveHint=true and idempotentHint=false, but the description goes well beyond them by disclosing the async queued semantics, that the return is not provider confirmation, the required follow-up call, and the idempotency retry rule. This is exactly the behavioral context an agent needs for a mutation with delayed completion.

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?

Four tight sentences, front-loaded with the action and then the async/retry contract. No filler; every clause carries either purpose or a behavioral rule.

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?

For a destructive, non-idempotent, open-world mutation with no output schema, the description covers the async lifecycle and retry safety well. It omits permission requirements and the fate of the source message, but nothing essential to correct invocation is missing.

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 50%: messageId and operationId are documented inline, while accountId and destinationFolderId are not. The description adds meaning to operationId (it is returned and drives polling) and implies destinationFolderId via 'another folder,' but leaves accountId and the folder-ID format unexplained, so it only partially compensates.

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 ('Move a message to another folder'), which is clearly distinct in effect from sibling reads like get_email or search_emails. It does not explicitly differentiate from archive_email, which is also a folder-move operation, so an agent might hesitate between the two.

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?

Provides explicit operational rules: poll get_mail_action with the returned operationId, and never retry an uncertain send with a new operationId. These are strong usage directives, though it doesn't state when to prefer move_email over archive_email for routing decisions.

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