Tool details
| Field | Value |
|---|---|
| Name | gmail__upload_attachment |
| Group | Uploads |
Playground
Input schema
input-schema.json
{
"type": "object",
"properties": {
"project_reference": {
"type": "string",
"description": "Project ID or slug"
},
"message_id": {
"type": "string",
"minLength": 1,
"description": "Gmail message ID containing the attachment."
},
"attachment_id": {
"type": "string",
"minLength": 1,
"description": "Gmail attachment ID from the message payload part body."
},
"file_path": {
"type": "string",
"description": "Destination upload path (e.g., gmail-proof/originals/invoice.pdf). Must be URL-encoded if it contains special characters or spaces."
},
"content_type": {
"type": "string",
"description": "MIME type to store with the upload. Defaults to application/octet-stream because Gmail attachment bodies do not include content type."
},
"expected_size": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Optional exact decoded byte size guard. The tool fails if decoded bytes do not match."
},
"max_bytes": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 536870912,
"description": "Optional decoded attachment size limit in bytes. Defaults to 104857600 and is capped at 536870912."
}
},
"required": [
"message_id",
"attachment_id",
"file_path"
],
"additionalProperties": false,
"description": "Input schema for the gmail__upload_attachment tool.",
"$schema": "http://json-schema.org/draft-07/schema#"
}
Output schema
output-schema.json
{
"type": "object",
"properties": {
"upload_id": {
"type": "string",
"description": "The upload id associated with this record."
},
"file_path": {
"type": "string",
"description": "The file path associated with this record."
},
"path": {
"type": "string",
"description": "The path associated with this record."
},
"file_name": {
"type": "string",
"description": "The file name associated with this record."
},
"content_type": {
"type": "string",
"description": "The content type associated with this record."
},
"size": {
"type": "number",
"description": "The size associated with this record."
},
"status": {
"type": "string",
"description": "Lifecycle status for the record."
}
},
"required": [
"upload_id",
"file_path",
"path",
"file_name",
"content_type",
"size",
"status"
],
"additionalProperties": false,
"description": "Structured download url to project upload output schema for MCP tools.",
"$schema": "http://json-schema.org/draft-07/schema#"
}