Sign inGet started
Menu
TOOL REFERENCE / SOURCE GENERATEDMAILMAN MCP / MAIL

email_get_attachment

Fetches one attachment from one message. Small, safe attachments come back inline as base64 in content_base64; anything larger comes back as a short-lived signed download_url with an expires_at. Exactly one of the two is present — branch on which. Get message_id and attachment_id from email_get_message; the ids are not guessable. An attachment over the server's size limit returns ATTACHMENT_TOO_LARGE rather than a truncated file.

Input fields

{
  "type": "object",
  "properties": {
    "account_id": {
      "type": "string",
      "minLength": 1,
      "description": "The connected mailbox to act on, from email_accounts_list. Never guess this value and never reuse one across mailboxes — it selects both the credential and the permission set the call runs under."
    },
    "message_id": {
      "type": "string",
      "minLength": 1,
      "description": "A message id returned by this server (msg_...), not a provider id."
    },
    "attachment_id": {
      "type": "string",
      "minLength": 1,
      "description": "An attachment id from the message's attachments array (att_...)."
    }
  },
  "required": [
    "account_id",
    "message_id",
    "attachment_id"
  ]
}

Tool behavior

Declared read-only. Actual provider grants and account access apply.

Inspect isError and per-account errors. General write tools do not all enforce exact-plan approval. This reference does not certify any current AI client version.

YOUR AI POSTAL SYSTEM

YOUR INBOXES.
UNDER CONTROL.

Get started

Start with a free account and one read-only search. Existing accounts keep their connection.