Skip to main content
Glama

Save an email attachment to Drive

save_gmail_attachment_to_drive

Copy one attachment of a Gmail message into this account's Google Drive, as-is — any file type, up to 10 MB, without reading it. Goes into the folder parentItemId (from list_gdrive_items or search_gdrive_items) or My Drive's root when omitted; the name defaults to the attachment's own. Drive allows two files with the same name in a folder, so calling this twice makes a second copy. Get attachmentId from get_gmail_message.

Input Schema

NameRequiredDescriptionDefault
nameNoFile name to save under; defaults to the attachment's name
mailboxYesEmail address of the connected Gmail/Google Workspace mailbox to act on. Call list_authorized_mailboxes to see available options.
messageIdYes
attachmentIdYes
parentItemIdNoDestination folder id; omit for My Drive's root

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Adds significant context beyond the annotations: a 10 MB size cap, acceptance of any file type, that the file is copied without being read, and the non-idempotent behavior where calling twice creates a second copy because Drive permits duplicate names. These are exactly the operational caveats a write 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense and front-loaded: the core action leads, followed by size/type constraints, destination behavior, duplication semantics, and parameter provenance. Every sentence carries information with no filler.

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?

Covers inputs, defaults, limits, and side effects thoroughly for a mutation tool with no output schema. The one gap is that it doesn't hint at what the call returns (e.g. the created file id), which an agent might want to chain into follow-up calls.

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 coverage is 60%, and the description compensates well: it explains the parentItemId source and default (root), that name defaults to the attachment's own name, and where attachmentId originates. messageId and mailbox rely on the schema, which already documents mailbox, so the remaining gap is minor.

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 precise verb+resource: copy one Gmail attachment into this account's Google Drive. It clearly distinguishes itself from siblings like read_gmail_attachment ('without reading it') and save_outlook_attachment_to_onedrive (Gmail vs Outlook, Drive vs OneDrive).

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?

Gives clear routing context: parentItemId comes from list_gdrive_items or search_gdrive_items, falling back to My Drive root when omitted, and attachmentId comes from get_gmail_message. It doesn't explicitly state when to prefer this over read_gmail_attachment, so it stops short of full alternative/exclusion guidance.

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