MCP Reference
email_attachment_url
Get Email Attachment Download URL
Beschreibung
Returns a short-lived signed URL (~15 min) for downloading
an email attachment. The attachment's account binding is
inferred from the eatt_… ID.
Email attachments are lazy: the row is created at header-sync time but the bytes are pulled on demand. If the blob isn't yet stored locally, this tool fetches it from Gmail synchronously before returning the URL.
The URL is fine to pass to any HTTP client — it carries its own signature and does not need an Authorization header.
Zugriff
Zugriffsprofil: gated. Module: email.
Die Freigabe im Profil ersetzt keine Account-, Workspace- oder Rollenberechtigung.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
account_id |
string | Ja | Account prefix ID (acct_…). |
attachment_id |
string | Ja | Email attachment prefix ID (eatt_…) from email_thread_get FULL_CONTENT. |
Eingabeschema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"account_id": {
"type": "string",
"description": "Account prefix ID (acct_…)."
},
"attachment_id": {
"type": "string",
"description": "Email attachment prefix ID (eatt_…) from email_thread_get FULL_CONTENT."
}
},
"required": [
"account_id",
"attachment_id"
],
"type": "object"
}
Ausgabeschema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Signed download URL, valid 15 minutes."
},
"expires_at": {
"type": "string",
"format": "date-time"
},
"filename": {
"type": "string"
},
"content_type": {
"type": [
"string",
"null"
]
},
"size_bytes": {
"type": [
"integer",
"null"
]
}
},
"required": [
"url",
"expires_at",
"filename"
],
"type": "object"
}