Skip to main content
Glama
gmail-mcp

gmail-mcp

archive_emails

Archive multiple Gmail messages in one request using batchModify, reducing many individual archive calls. Pass message IDs to remove them from the inbox non-destructively.

Instructions

CHOICE HINT: When the user asks to "archive" or "remove from inbox" multiple
emails, ALWAYS prefer this tool over making N calls to archive_email(). It uses
Gmail's batchModify API in chunks of at most 1000 message IDs.

Archive multiple emails in a single MCP request.

Uses messages().batchModify() with up to 1000 IDs per Gmail API call.

Required:
  message_ids (list[str]) — Gmail message IDs.

Returns on success:
  {"ok": true, "data": {
    "requested": N, "succeeded": N, "failed": 0,
    "results": [{"id": "...", "ok": true}, ...]
  }}

Workflow note: Non-destructive. Use this instead of N archive_email() calls.

Input Schema

NameRequiredDescriptionDefault
message_idsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden and does well: it says the operation is non-destructive, uses Gmail batchModify in chunks of at most 1000 IDs, and returns per-ID success/failure results. It does not state required OAuth scopes or permission prerequisites, which leaves a moderate gap for a mutation tool.

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 definition is front-loaded with a choice hint and structured into usage, API behavior, required parameter, return shape, and workflow note. It is slightly repetitive because the preference over N archive_email() calls is stated twice, but the redundancy is minor.

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 simple one-parameter batch tool with no output schema, the description covers the important behavior: batching, non-destructiveness, and the success response shape. It could be more complete by mentioning authentication or permission requirements, but the core invocation guidance is present.

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

Parameters4/5

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

Schema description coverage is 0%, but the single parameter is clearly documented as a required list of Gmail message IDs. The description also clarifies the chunking behavior at 1000 IDs, which adds useful meaning beyond the bare schema.

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 states a specific verb and resource: archive multiple emails in one request. It also explicitly distinguishes this batch operation from the single-message sibling archive_email(), so an agent can select it correctly without opening schemas.

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?

The CHOICE HINT gives explicit when-to-use guidance: when the user asks to archive or remove multiple emails from the inbox, prefer this over making N archive_email() calls. It names the alternative and gives the condition that selects this tool.

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