{
    "id": 2,
    "jsonrpc": "2.0",
    "result": {
        "tools": [
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": false,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Create draft email"
                },
                "description": "Creates a new draft email in the authenticated user's Gmail account.\n\nThis tool takes recipient addresses, a subject, and body content as inputs. If the draft is created as a reply to an existing message, the ID of the original message should be passed to the tool in the replyToMessageId field.\n\nReturns a Draft object with the `id` and `threadId` fields populated.\n",
                "inputSchema": {
                    "$defs": {
                        "Attachment": {
                            "description": "Represents an attachment to be included in an email.",
                            "properties": {
                                "content": {
                                    "description": "Required. The base64-encoded content of the attachment.",
                                    "format": "byte",
                                    "type": "string"
                                },
                                "filename": {
                                    "description": "Optional. The name of the file to be attached, e.g. \"invoice.pdf\". For inline attachments, this is used for Content-ID generation. For regular attachments, filename is used to specify the filename to email clients. If not provided, the attachment may be received with no name.",
                                    "type": "string"
                                },
                                "id": {
                                    "description": "Optional. Output only. When present, contains the ID of an external attachment that can be retrieved in a separate `GetMessageAttachment` request.",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "inline": {
                                    "description": "Optional. If true, this attachment is handled as inline. An inline attachment is a content that is intended to be displayed within the body of an HTML email, as opposed to being listed as a separate file for download. If false or absent, defaults to false, and it's treated as a regular attachment.",
                                    "type": "boolean"
                                },
                                "mimeType": {
                                    "description": "Optional. The field representing a content or media type must use IANA MIME type, https:\/\/www.iana.org\/assignments\/media-types\/media-types.xhtml. If not provided, defaults to \"application\/octet-stream\".",
                                    "type": "string"
                                }
                            },
                            "required": [
                                "content"
                            ],
                            "type": "object"
                        }
                    },
                    "description": "Request message for CreateDraft RPC.",
                    "properties": {
                        "attachments": {
                            "description": "Optional. The attachments to include in the email. The combined size of attachments in the message cannot exceed 25MB. If you need to send files larger than 25MB, upload the file to Drive first and then insert the Drive link into `body` or `html_body`.",
                            "items": {
                                "$ref": "#\/$defs\/Attachment"
                            },
                            "type": "array"
                        },
                        "bcc": {
                            "description": "Optional. The blind carbon copy recipients of the email draft. Each string MUST be a valid plain email address (e.g., \"user@example.com\").",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "body": {
                            "description": "Optional. The main body content of the email draft. If `html_body` is also provided, this field is treated as the plain-text alternative.",
                            "type": "string"
                        },
                        "cc": {
                            "description": "Optional. The carbon copy recipients of the email draft. Each string MUST be a valid plain email address (e.g., \"user@example.com\").",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "htmlBody": {
                            "description": "The HTML content of the email draft. If provided, this will be used as the rich-text version of the email.",
                            "type": "string"
                        },
                        "replyToMessageId": {
                            "description": "Optional. The ID of the message to reply to. If provided, this will be used as the reply-to message ID for the email draft, and the `body` and `html_body` will be appended to the original message body.",
                            "type": "string"
                        },
                        "subject": {
                            "description": "Optional. The subject line of the email. Defaults to empty if not provided.",
                            "type": "string"
                        },
                        "to": {
                            "description": "Optional. The primary recipients of the email draft. Each string MUST be a valid plain email address (e.g., \"user@example.com\").",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                },
                "name": "create_draft",
                "outputSchema": {
                    "description": "Details of a draft.",
                    "properties": {
                        "bccRecipients": {
                            "description": "List of 'Bcc' recipient email addresses extracted from headers.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ccRecipients": {
                            "description": "List of 'Cc' recipient email addresses extracted from headers.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "date": {
                            "description": "Date of the draft in RFC 3339 UTC timestamp format (YYYY-MM-DDTHH:MM:SSZ).",
                            "type": "string"
                        },
                        "htmlBody": {
                            "description": "The HTML body content of the draft, if available.",
                            "type": "string"
                        },
                        "id": {
                            "description": "The unique identifier of the draft resource.",
                            "type": "string"
                        },
                        "labelIds": {
                            "description": "The ids of the labels attached to the draft message.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "messageId": {
                            "description": "The ID of the message associated with this draft.",
                            "type": "string"
                        },
                        "plaintextBody": {
                            "description": "Plain text body content, if available.",
                            "type": "string"
                        },
                        "raw": {
                            "description": "The raw MIME message content, only populated if MessageFormat was RAW.",
                            "type": "string"
                        },
                        "sender": {
                            "description": "Sender email address.",
                            "type": "string"
                        },
                        "snippet": {
                            "description": "Snippet of the message body.",
                            "type": "string"
                        },
                        "subject": {
                            "description": "The subject line of the draft message.",
                            "type": "string"
                        },
                        "threadId": {
                            "description": "The ID of the thread this draft belongs to.",
                            "type": "string"
                        },
                        "toRecipients": {
                            "description": "List of 'To' recipient email addresses extracted from headers.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": false,
                    "openWorldHint": false,
                    "readOnlyHint": true,
                    "title": "List draft emails"
                },
                "description": "Lists draft emails from the authenticated user's Gmail account.\n\nThis tool can filter drafts based on a query string and supports pagination. It returns a list of drafts, including their IDs and subjects (unless `view` is set to `DRAFT_VIEW_METADATA_ONLY`). `page_token` can be used to paginate the results. To retrieve subsequent pages of results, use the `page_token` returned in the previous response.\n\nThe `view` parameter controls which fields are populated in the response. By default (or with `DRAFT_VIEW_FULL`), it returns full content. Use `DRAFT_VIEW_METADATA_ONLY` to exclude sensitive content like subject and body.\n\nNote: An empty JSON object `{}` represents zero matching items, not an error.\n",
                "inputSchema": {
                    "description": "Request message for ListDrafts RPC.",
                    "properties": {
                        "pageSize": {
                            "description": "Optional. The maximum number of drafts to return. If unspecified, defaults to 20. The maximum allowed value is 50.",
                            "format": "int32",
                            "type": "integer"
                        },
                        "pageToken": {
                            "description": "Optional. A token received from a previous list_drafts call to retrieve the next page of results. Leave empty to fetch the first page. This is primarily used for pagination to continue fetching results from where the previous `ListDraft` call left off, especially when the number of drafts matching the query exceeds the page_size limit.",
                            "type": "string"
                        },
                        "query": {
                            "description": "Examples: - `subject:OneMCP Update` - `from:gduser1@workspacesamples.dev` - `to:gduser2@workspacesamples.dev AND newer_than:7d` - `project proposal has:attachment` - `is:unread` A space or a dash (`-`) will separate a number while a dot (`.`) will be a decimal. For example, `01.2047-100` is considered two numbers: `01.2047` and `100`. Note: If we want to ensure all drafts for the query are returned, we can paginate the results by making repeated calls to the tool until the response contains an empty list of drafts.",
                            "type": "string"
                        },
                        "view": {
                            "description": "Optional. Controls the fields populated for drafts in the draft list. Defaults to returning metadata only (`id`, `thread_id`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`). Set to `DRAFT_VIEW_FULL` to include `subject` and `plaintext_body` content.",
                            "enum": [
                                "DRAFT_VIEW_UNSPECIFIED",
                                "DRAFT_VIEW_METADATA_ONLY",
                                "DRAFT_VIEW_FULL"
                            ],
                            "type": "string",
                            "x-google-enum-descriptions": [
                                "Unspecified view. Defaults to DRAFT_VIEW_METADATA_ONLY.",
                                "Returns metadata only (`id`, `thread_id`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`) (if applicable); omits `subject` and `plaintext_body` content.",
                                "Returns full draft content, including `subject` and `plaintext_body` in addition to draft metadata (if applicable)."
                            ]
                        }
                    },
                    "type": "object"
                },
                "name": "list_drafts",
                "outputSchema": {
                    "$defs": {
                        "Draft": {
                            "description": "Details of a draft.",
                            "properties": {
                                "bccRecipients": {
                                    "description": "List of 'Bcc' recipient email addresses extracted from headers.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                "ccRecipients": {
                                    "description": "List of 'Cc' recipient email addresses extracted from headers.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                "date": {
                                    "description": "Date of the draft in RFC 3339 UTC timestamp format (YYYY-MM-DDTHH:MM:SSZ).",
                                    "type": "string"
                                },
                                "htmlBody": {
                                    "description": "The HTML body content of the draft, if available.",
                                    "type": "string"
                                },
                                "id": {
                                    "description": "The unique identifier of the draft resource.",
                                    "type": "string"
                                },
                                "labelIds": {
                                    "description": "The ids of the labels attached to the draft message.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                "messageId": {
                                    "description": "The ID of the message associated with this draft.",
                                    "type": "string"
                                },
                                "plaintextBody": {
                                    "description": "Plain text body content, if available.",
                                    "type": "string"
                                },
                                "raw": {
                                    "description": "The raw MIME message content, only populated if MessageFormat was RAW.",
                                    "type": "string"
                                },
                                "sender": {
                                    "description": "Sender email address.",
                                    "type": "string"
                                },
                                "snippet": {
                                    "description": "Snippet of the message body.",
                                    "type": "string"
                                },
                                "subject": {
                                    "description": "The subject line of the draft message.",
                                    "type": "string"
                                },
                                "threadId": {
                                    "description": "The ID of the thread this draft belongs to.",
                                    "type": "string"
                                },
                                "toRecipients": {
                                    "description": "List of 'To' recipient email addresses extracted from headers.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "description": "Response message for ListDrafts RPC.",
                    "properties": {
                        "drafts": {
                            "description": "List of drafts.",
                            "items": {
                                "$ref": "#\/$defs\/Draft"
                            },
                            "type": "array"
                        },
                        "nextPageToken": {
                            "description": "A token that can be used in a subsequent call to retrieve the next page of drafts. If the number of drafts matching the query exceeds the page_size limit, the response will contain a `next_page_token`. To retrieve the next page of results, pass this token in the `page_token` field of the next `ListDraftsRequest`.",
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": false,
                    "openWorldHint": false,
                    "readOnlyHint": true,
                    "title": "Retrieves a specific draft email from the authenticated user's Gmail account."
                },
                "description": "Retrieves a specific draft email from the authenticated user's Gmail account by ID.\n\nThe optional `messageFormat` parameter controls the format of the draft returned. Use `MINIMAL` to return snippet and key headers, `METADATA_ONLY` to exclude snippet, subject, and body, `FULL_CONTENT` for the complete draft, or `RAW` for the raw MIME message content.\n",
                "inputSchema": {
                    "description": "Request message for GetDraft RPC.",
                    "properties": {
                        "draftId": {
                            "description": "Required. The unique identifier of the draft to fetch.",
                            "type": "string"
                        },
                        "messageFormat": {
                            "description": "Optional. Specifies the format of the draft returned. Defaults to FULL_CONTENT.",
                            "enum": [
                                "MESSAGE_FORMAT_UNSPECIFIED",
                                "MINIMAL",
                                "FULL_CONTENT",
                                "METADATA_ONLY",
                                "PLAIN_TEXT",
                                "RAW"
                            ],
                            "type": "string",
                            "x-google-enum-descriptions": [
                                "Defaults to FULL_CONTENT.",
                                "Returns `id`, `snippet`, `subject`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids` (if applicable). Omits `plaintext_body`, `html_body`, `attachment_ids`, `attachments`.",
                                "Returns all message fields (`id`, `snippet`, `subject`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids`, `attachment_ids`, `plaintext_body`, `html_body`, `attachments`) if applicable.",
                                "Returns `id`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids` (if applicable). Omits `subject`, `snippet`, `plaintext_body`, `html_body`, `attachment_ids`, `attachments`.",
                                "Returns all information in \"MINIMAL\" plus `plaintext_body`, `attachment_ids`, and `attachments` (if applicable). If plain text body is not available, converts the HTML body to plain text\/markdown. Omits `html_body`.",
                                "Returns the raw MIME message content."
                            ]
                        }
                    },
                    "required": [
                        "draftId"
                    ],
                    "type": "object"
                },
                "name": "get_draft",
                "outputSchema": {
                    "description": "Details of a draft.",
                    "properties": {
                        "bccRecipients": {
                            "description": "List of 'Bcc' recipient email addresses extracted from headers.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ccRecipients": {
                            "description": "List of 'Cc' recipient email addresses extracted from headers.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "date": {
                            "description": "Date of the draft in RFC 3339 UTC timestamp format (YYYY-MM-DDTHH:MM:SSZ).",
                            "type": "string"
                        },
                        "htmlBody": {
                            "description": "The HTML body content of the draft, if available.",
                            "type": "string"
                        },
                        "id": {
                            "description": "The unique identifier of the draft resource.",
                            "type": "string"
                        },
                        "labelIds": {
                            "description": "The ids of the labels attached to the draft message.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "messageId": {
                            "description": "The ID of the message associated with this draft.",
                            "type": "string"
                        },
                        "plaintextBody": {
                            "description": "Plain text body content, if available.",
                            "type": "string"
                        },
                        "raw": {
                            "description": "The raw MIME message content, only populated if MessageFormat was RAW.",
                            "type": "string"
                        },
                        "sender": {
                            "description": "Sender email address.",
                            "type": "string"
                        },
                        "snippet": {
                            "description": "Snippet of the message body.",
                            "type": "string"
                        },
                        "subject": {
                            "description": "The subject line of the draft message.",
                            "type": "string"
                        },
                        "threadId": {
                            "description": "The ID of the thread this draft belongs to.",
                            "type": "string"
                        },
                        "toRecipients": {
                            "description": "List of 'To' recipient email addresses extracted from headers.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": true,
                    "title": "Get email thread"
                },
                "description": "Retrieves a specific email thread from the authenticated user's Gmail account, including a list of its messages.\n\nNote: This tool does not support retrieving drafts. Any draft messages within a thread are omitted. To view drafts, use the `list_drafts` tool instead.\n\nThe optional `messageFormat` parameter controls the format of the messages returned. By default (or with `FULL_CONTENT`), it returns the full content of messages. We recommend using `PLAIN_TEXT`, which returns the plain text body without the HTML body. Use `MINIMAL` to include only subject and snippet (excluding body). Use `METADATA_ONLY` to include only basic metadata (message ID, thread ID, labels, timestamp, and size estimate).\n",
                "inputSchema": {
                    "description": "Request message for GetThread RPC.",
                    "properties": {
                        "messageFormat": {
                            "description": "Optional. Specifies the format of the messages returned within the thread. Defaults to `FULL_CONTENT`. We recommend using `PLAIN_TEXT` to prevent context exhaustion. Note: `MINIMAL` format returns `id`, `snippet`, `subject`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids`. `METADATA_ONLY` format returns `id`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids`. `FULL_CONTENT` returns `id`, `snippet`, `subject`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids`, `attachment_ids`, `plaintext_body`, `html_body`, `attachments`. `PLAIN_TEXT` returns `id`, `snippet`, `subject`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids`, `attachment_ids`, `plaintext_body`, `attachments` (without `html_body`).",
                            "enum": [
                                "MESSAGE_FORMAT_UNSPECIFIED",
                                "MINIMAL",
                                "FULL_CONTENT",
                                "METADATA_ONLY",
                                "PLAIN_TEXT",
                                "RAW"
                            ],
                            "type": "string",
                            "x-google-enum-descriptions": [
                                "Defaults to FULL_CONTENT.",
                                "Returns `id`, `snippet`, `subject`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids` (if applicable). Omits `plaintext_body`, `html_body`, `attachment_ids`, `attachments`.",
                                "Returns all message fields (`id`, `snippet`, `subject`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids`, `attachment_ids`, `plaintext_body`, `html_body`, `attachments`) if applicable.",
                                "Returns `id`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids` (if applicable). Omits `subject`, `snippet`, `plaintext_body`, `html_body`, `attachment_ids`, `attachments`.",
                                "Returns all information in \"MINIMAL\" plus `plaintext_body`, `attachment_ids`, and `attachments` (if applicable). If plain text body is not available, converts the HTML body to plain text\/markdown. Omits `html_body`.",
                                "Returns the raw MIME message content."
                            ]
                        },
                        "threadId": {
                            "description": "Required. The unique identifier of the thread to fetch.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "threadId"
                    ],
                    "type": "object"
                },
                "name": "get_thread",
                "outputSchema": {
                    "$defs": {
                        "AttachmentMetadata": {
                            "description": "Represents an attachment associated with a message.",
                            "properties": {
                                "filename": {
                                    "description": "The filename of the attachment.",
                                    "type": "string"
                                },
                                "id": {
                                    "description": "Output only. The ID of the attachment.",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "mimeType": {
                                    "description": "The MIME type of the attachment.",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Message": {
                            "description": "Message within a thread.",
                            "properties": {
                                "attachmentIds": {
                                    "description": "Output only. The attachment ids, only populated if MessageFormat was FULL_CONTENT or PLAIN_TEXT.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "readOnly": true,
                                    "type": "array"
                                },
                                "attachments": {
                                    "description": "Output only. The attachments, only populated if MessageFormat was FULL_CONTENT.",
                                    "items": {
                                        "$ref": "#\/$defs\/AttachmentMetadata"
                                    },
                                    "readOnly": true,
                                    "type": "array"
                                },
                                "bccRecipients": {
                                    "description": "BCC recipient email addresses.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                "ccRecipients": {
                                    "description": "CC recipient email addresses.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                "date": {
                                    "description": "Date of the message in RFC 3339 UTC timestamp format (YYYY-MM-DDTHH:MM:SSZ).",
                                    "type": "string"
                                },
                                "historyId": {
                                    "description": "Output only. The ID of the last history record that modified this message.",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "htmlBody": {
                                    "description": "The HTML content of the email, only populated if MessageFormat was FULL_CONTENT.",
                                    "type": "string"
                                },
                                "id": {
                                    "description": "The unique identifier of the message.",
                                    "type": "string"
                                },
                                "internalDate": {
                                    "description": "Output only. The internal message creation timestamp (epoch ms).",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "labelIds": {
                                    "description": "The ids of the labels attached to the message. Includes ids of user labels and standard system labels limited to `INBOX`, `TRASH`, `UNREAD`, `STARRED`, `IMPORTANT`, `SENT`, `CHAT`.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                "originalMessageId": {
                                    "description": "Optional. Output only. The unique identifier of the original message that was forwarded. Only populated for forwarded messages.",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "plaintextBody": {
                                    "description": "Full body content, only populated if MessageFormat was FULL_CONTENT or PLAIN_TEXT.",
                                    "type": "string"
                                },
                                "raw": {
                                    "description": "The raw MIME message content, only populated if MessageFormat was RAW.",
                                    "type": "string"
                                },
                                "sender": {
                                    "description": "Sender email address.",
                                    "type": "string"
                                },
                                "sizeEstimate": {
                                    "description": "Output only. Estimated size in bytes of the message.",
                                    "format": "int32",
                                    "readOnly": true,
                                    "type": "integer"
                                },
                                "snippet": {
                                    "description": "Snippet of the message body.",
                                    "type": "string"
                                },
                                "subject": {
                                    "description": "The message subject extracted from headers:",
                                    "type": "string"
                                },
                                "threadId": {
                                    "description": "Output only. The ID of the thread this message belongs to.",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "toRecipients": {
                                    "description": "To recipient email addresses.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "description": "Thread containing a list of messages.",
                    "properties": {
                        "id": {
                            "description": "The unique identifier of the thread.",
                            "type": "string"
                        },
                        "messages": {
                            "description": "A list of messages in the thread, ordered chronologically.",
                            "items": {
                                "$ref": "#\/$defs\/Message"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": true,
                    "title": "Get email message"
                },
                "description": "Retrieves a specific email message from the authenticated user's Gmail account by its unique message ID.\n\nUse this tool to inspect a single, individual email when you already know its message ID. If the user wants to read a specific email in detail, check the exact wording of a message, or examine attachment metadata for a single email, this is the right tool. It is not suitable for retrieving entire conversations or viewing back-and-forth discussion threads; use the 'get_thread' tool instead.\nNote: This tool does not support retrieving draft messages. To view drafts, use the 'list_drafts' tool instead.\nKey indicators include if the user asks for the full content of a specific message ID returned by a previous search, or if the query asks to inspect a specific individual email rather than an entire thread.\nExample user prompts are: \"Get the full text of message ID 18f123456789abcd.\", \"Read the latest message in that thread from Alice.\", and \"What are the attachment names in the email I just received from HR?\" \n\nThe optional `messageFormat` parameter controls the format of the message returned. By default (or with `FULL_CONTENT`), it returns the full content of the message. We recommend using `PLAIN_TEXT`, which returns the plain text body without the HTML body. Use `MINIMAL` to include only subject and snippet (excluding body). Use `METADATA_ONLY` to include only basic metadata (message ID, thread ID, labels, timestamp, and size estimate).\n",
                "inputSchema": {
                    "description": "Request message for GetMessage RPC.",
                    "properties": {
                        "messageFormat": {
                            "description": "Optional. Specifies the format of the message returned. Defaults to FULL_CONTENT. We recommend using PLAIN_TEXT to prevent context exhaustion.",
                            "enum": [
                                "MESSAGE_FORMAT_UNSPECIFIED",
                                "MINIMAL",
                                "FULL_CONTENT",
                                "METADATA_ONLY",
                                "PLAIN_TEXT",
                                "RAW"
                            ],
                            "type": "string",
                            "x-google-enum-descriptions": [
                                "Defaults to FULL_CONTENT.",
                                "Returns `id`, `snippet`, `subject`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids` (if applicable). Omits `plaintext_body`, `html_body`, `attachment_ids`, `attachments`.",
                                "Returns all message fields (`id`, `snippet`, `subject`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids`, `attachment_ids`, `plaintext_body`, `html_body`, `attachments`) if applicable.",
                                "Returns `id`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids` (if applicable). Omits `subject`, `snippet`, `plaintext_body`, `html_body`, `attachment_ids`, `attachments`.",
                                "Returns all information in \"MINIMAL\" plus `plaintext_body`, `attachment_ids`, and `attachments` (if applicable). If plain text body is not available, converts the HTML body to plain text\/markdown. Omits `html_body`.",
                                "Returns the raw MIME message content."
                            ]
                        },
                        "messageId": {
                            "description": "Required. The unique identifier of the message to fetch.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "messageId"
                    ],
                    "type": "object"
                },
                "name": "get_message",
                "outputSchema": {
                    "$defs": {
                        "AttachmentMetadata": {
                            "description": "Represents an attachment associated with a message.",
                            "properties": {
                                "filename": {
                                    "description": "The filename of the attachment.",
                                    "type": "string"
                                },
                                "id": {
                                    "description": "Output only. The ID of the attachment.",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "mimeType": {
                                    "description": "The MIME type of the attachment.",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "description": "Message within a thread.",
                    "properties": {
                        "attachmentIds": {
                            "description": "Output only. The attachment ids, only populated if MessageFormat was FULL_CONTENT or PLAIN_TEXT.",
                            "items": {
                                "type": "string"
                            },
                            "readOnly": true,
                            "type": "array"
                        },
                        "attachments": {
                            "description": "Output only. The attachments, only populated if MessageFormat was FULL_CONTENT.",
                            "items": {
                                "$ref": "#\/$defs\/AttachmentMetadata"
                            },
                            "readOnly": true,
                            "type": "array"
                        },
                        "bccRecipients": {
                            "description": "BCC recipient email addresses.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "ccRecipients": {
                            "description": "CC recipient email addresses.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "date": {
                            "description": "Date of the message in RFC 3339 UTC timestamp format (YYYY-MM-DDTHH:MM:SSZ).",
                            "type": "string"
                        },
                        "historyId": {
                            "description": "Output only. The ID of the last history record that modified this message.",
                            "readOnly": true,
                            "type": "string"
                        },
                        "htmlBody": {
                            "description": "The HTML content of the email, only populated if MessageFormat was FULL_CONTENT.",
                            "type": "string"
                        },
                        "id": {
                            "description": "The unique identifier of the message.",
                            "type": "string"
                        },
                        "internalDate": {
                            "description": "Output only. The internal message creation timestamp (epoch ms).",
                            "readOnly": true,
                            "type": "string"
                        },
                        "labelIds": {
                            "description": "The ids of the labels attached to the message. Includes ids of user labels and standard system labels limited to `INBOX`, `TRASH`, `UNREAD`, `STARRED`, `IMPORTANT`, `SENT`, `CHAT`.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "originalMessageId": {
                            "description": "Optional. Output only. The unique identifier of the original message that was forwarded. Only populated for forwarded messages.",
                            "readOnly": true,
                            "type": "string"
                        },
                        "plaintextBody": {
                            "description": "Full body content, only populated if MessageFormat was FULL_CONTENT or PLAIN_TEXT.",
                            "type": "string"
                        },
                        "raw": {
                            "description": "The raw MIME message content, only populated if MessageFormat was RAW.",
                            "type": "string"
                        },
                        "sender": {
                            "description": "Sender email address.",
                            "type": "string"
                        },
                        "sizeEstimate": {
                            "description": "Output only. Estimated size in bytes of the message.",
                            "format": "int32",
                            "readOnly": true,
                            "type": "integer"
                        },
                        "snippet": {
                            "description": "Snippet of the message body.",
                            "type": "string"
                        },
                        "subject": {
                            "description": "The message subject extracted from headers:",
                            "type": "string"
                        },
                        "threadId": {
                            "description": "Output only. The ID of the thread this message belongs to.",
                            "readOnly": true,
                            "type": "string"
                        },
                        "toRecipients": {
                            "description": "To recipient email addresses.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": true,
                    "title": "Search email threads"
                },
                "description": "Lists email threads from the authenticated user's Gmail account.\n\nThis tool can filter threads based on a query string and supports pagination. It returns a list of threads, including their IDs and related messages. Each related message contains details like a snippet of the message body, the subject, the sender, the recipients etc. The `view` parameter controls which fields are populated in the related messages. By default (or with `THREAD_VIEW_MINIMAL`), it includes subject and snippet. Use `THREAD_VIEW_METADATA_ONLY` to exclude subject and snippet. Note that the full message bodies are not returned by this tool; use the 'get_thread' tool with a thread ID to fetch the full message body if needed. Threads with excluded criteria may still appear in the results. This occurs because Gmail identifies matching messages first. For example, if you search for -is:starred, Gmail will find an entire thread if it contains at least one unstarred message, even if other emails in that same conversation are starred.\n\nNote: An empty JSON object `{}` represents zero matching items, not an error.\n",
                "inputSchema": {
                    "description": "Request message for SearchThreads RPC.",
                    "properties": {
                        "includeTrash": {
                            "description": "Optional. Include threads from TRASH in the results. Defaults to false.",
                            "type": "boolean"
                        },
                        "pageSize": {
                            "description": "Optional. The maximum number of threads to return. If unspecified, defaults to 20. The maximum allowed value is 50.",
                            "format": "int32",
                            "type": "integer"
                        },
                        "pageToken": {
                            "description": "Optional. Page token to retrieve a specific page of results in the list. Leave empty to fetch the first page. This is primarily used for pagination to continue fetching results from where the previous `SearchThreads` call left off, especially when the number of threads matching the query exceeds the page_size limit.",
                            "type": "string"
                        },
                        "query": {
                            "description": "Optional. A query string to filter the threads. Natural language queries must be pre-converted into Gmail syntax queries to use this tool. If omitted, all threads (excluding spam and trash by default) are listed. Supported Operators by Category: Sender & Recipient: - `from:` \u2014 Sent from a specific person. - `to:` \u2014 Sent to a specific person. - `cc:` \u2014 Specific people in Cc. - `bcc:` \u2014 Specific people in Bcc. - `deliveredto:` \u2014 Delivered to a specific address. - `list:` \u2014 From a specific mailing list. Time & Date: - `after:YYYY\/MM\/DD` \/ `newer:YYYY\/MM\/DD` \u2014 Received after a date. - `before:YYYY\/MM\/DD` \/ `older:YYYY\/MM\/DD` \u2014 Received before a date. - `older_than:` \u2014 Older than a duration (for example, `1y`, `2d`). - `newer_than:` \u2014 Newer than a duration. Content: - `subject:` \u2014 Words in the subject line. - `has:` \u2014 Has specific content types (attachment, drive, youtube, document). - `filename:` \u2014 Attachment with a specific name or type. - `\"\"` \u2014 Search for an exact word or phrase. (for example, `\"holiday\"`, `\"holiday vacation\"`). - `+` \u2014 Match a word exactly. (for example, `+holiday`, `+unicorn`) - `rfc822msgid:` \u2014 Specific message ID header. - `AROUND ` \u2014 Find words near each other (for example, `holiday AROUND 10 vacation`). Labels & Categories: - `label:` \u2014 Under a specific label. The tool accepts label IDs, not display names. Use the list_labels tool to get the ID. - `category:` \u2014 In a category (primary, social, promotions, updates, forums, reservations, purchases). - `in:` \u2014 Search in specific labels (archive, snoozed, trash, sent, inbox). For example, `in:trash`, `in:inbox`. Archived and sent messages are included by default; use `-in:archive` and `-in:sent` to exclude them. Drafts are explicitly excluded by default by the tool. Use `in:inbox` to restrict search to the inbox only. - `has:userlabels` \u2014 Has any user labels. - `has:nouserlabels` \u2014 Does not have any user labels. - `has:*-star` \u2014 Specific star colors (if enabled, for example, `has:yellow-star`). - `in:draft` \u2014 Search in drafts. -in:draft means exclude drafts from the search results. - `in:sent` \u2014 Search in sent messages. - `in:anywhere` \u2014 Search in all folders (including spam and trash). Status: - `is:` \u2014 Search by status (important, starred, unread, read, muted). Size: - `size:` \u2014 Specific size in bytes. - `larger:` \/ `smaller:` \u2014 Larger or smaller than a size (for example, `10M` for 10 MB). Logic & Grouping: - `AND` \u2014 Match all criteria (default behavior). - `OR` or `{ }` \u2014 Match one or more criteria (for example, `from:amy OR from:david`, `{from:amy from:david}`). - `-` (minus) \u2014 Exclude criteria (for example, `-movie`). - `( )` \u2014 Group multiple search terms (for example, `subject:(dinner film)`). Examples: - `subject:OneMCP Update` - `from:user@example.com` - `to:user2@example.com AND newer_than:7d` - `project proposal has:attachment` - `is:unread -in:draft`",
                            "type": "string"
                        },
                        "view": {
                            "description": "Optional. Controls the fields populated for threads in the thread list. Defaults to `THREAD_VIEW_MINIMAL`. `THREAD_VIEW_MINIMAL` returns `id`, `snippet`, `subject`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids`. `THREAD_VIEW_METADATA_ONLY` returns `id`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids`.",
                            "enum": [
                                "THREAD_VIEW_UNSPECIFIED",
                                "THREAD_VIEW_METADATA_ONLY",
                                "THREAD_VIEW_MINIMAL"
                            ],
                            "type": "string",
                            "x-google-enum-descriptions": [
                                "Maps to THREAD_VIEW_MINIMAL for backward compatibility.",
                                "Returns `id`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids` (if applicable).",
                                "Returns `id`, `snippet`, `subject`, `sender`, `to_recipients`, `cc_recipients`, `bcc_recipients`, `date`, `label_ids` (if applicable)."
                            ]
                        }
                    },
                    "type": "object"
                },
                "name": "search_threads",
                "outputSchema": {
                    "$defs": {
                        "AttachmentMetadata": {
                            "description": "Represents an attachment associated with a message.",
                            "properties": {
                                "filename": {
                                    "description": "The filename of the attachment.",
                                    "type": "string"
                                },
                                "id": {
                                    "description": "Output only. The ID of the attachment.",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "mimeType": {
                                    "description": "The MIME type of the attachment.",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "Message": {
                            "description": "Message within a thread.",
                            "properties": {
                                "attachmentIds": {
                                    "description": "Output only. The attachment ids, only populated if MessageFormat was FULL_CONTENT or PLAIN_TEXT.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "readOnly": true,
                                    "type": "array"
                                },
                                "attachments": {
                                    "description": "Output only. The attachments, only populated if MessageFormat was FULL_CONTENT.",
                                    "items": {
                                        "$ref": "#\/$defs\/AttachmentMetadata"
                                    },
                                    "readOnly": true,
                                    "type": "array"
                                },
                                "bccRecipients": {
                                    "description": "BCC recipient email addresses.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                "ccRecipients": {
                                    "description": "CC recipient email addresses.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                "date": {
                                    "description": "Date of the message in RFC 3339 UTC timestamp format (YYYY-MM-DDTHH:MM:SSZ).",
                                    "type": "string"
                                },
                                "historyId": {
                                    "description": "Output only. The ID of the last history record that modified this message.",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "htmlBody": {
                                    "description": "The HTML content of the email, only populated if MessageFormat was FULL_CONTENT.",
                                    "type": "string"
                                },
                                "id": {
                                    "description": "The unique identifier of the message.",
                                    "type": "string"
                                },
                                "internalDate": {
                                    "description": "Output only. The internal message creation timestamp (epoch ms).",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "labelIds": {
                                    "description": "The ids of the labels attached to the message. Includes ids of user labels and standard system labels limited to `INBOX`, `TRASH`, `UNREAD`, `STARRED`, `IMPORTANT`, `SENT`, `CHAT`.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                "originalMessageId": {
                                    "description": "Optional. Output only. The unique identifier of the original message that was forwarded. Only populated for forwarded messages.",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "plaintextBody": {
                                    "description": "Full body content, only populated if MessageFormat was FULL_CONTENT or PLAIN_TEXT.",
                                    "type": "string"
                                },
                                "raw": {
                                    "description": "The raw MIME message content, only populated if MessageFormat was RAW.",
                                    "type": "string"
                                },
                                "sender": {
                                    "description": "Sender email address.",
                                    "type": "string"
                                },
                                "sizeEstimate": {
                                    "description": "Output only. Estimated size in bytes of the message.",
                                    "format": "int32",
                                    "readOnly": true,
                                    "type": "integer"
                                },
                                "snippet": {
                                    "description": "Snippet of the message body.",
                                    "type": "string"
                                },
                                "subject": {
                                    "description": "The message subject extracted from headers:",
                                    "type": "string"
                                },
                                "threadId": {
                                    "description": "Output only. The ID of the thread this message belongs to.",
                                    "readOnly": true,
                                    "type": "string"
                                },
                                "toRecipients": {
                                    "description": "To recipient email addresses.",
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                }
                            },
                            "type": "object"
                        },
                        "Thread": {
                            "description": "Thread containing a list of messages.",
                            "properties": {
                                "id": {
                                    "description": "The unique identifier of the thread.",
                                    "type": "string"
                                },
                                "messages": {
                                    "description": "A list of messages in the thread, ordered chronologically.",
                                    "items": {
                                        "$ref": "#\/$defs\/Message"
                                    },
                                    "type": "array"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "description": "Response message for SearchThreads RPC.",
                    "properties": {
                        "nextPageToken": {
                            "description": "A token that can be used in a subsequent call to retrieve the next page of threads. Present only if there are more results. If the number of threads matching the query exceeds the page_size limit, the response will contain a `next_page_token`. To retrieve the next page of results, pass this token in the `page_token` field of the next `SearchThreadsRequest`.",
                            "type": "string"
                        },
                        "resultCountEstimate": {
                            "description": "The estimated result count for this query. It should be treated as a lower bound, so for example if it is 500, then the count can be reported to the user as \"500+\".",
                            "format": "int64",
                            "type": "string"
                        },
                        "threads": {
                            "description": "List of thread summaries.",
                            "items": {
                                "$ref": "#\/$defs\/Thread"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Add labels to thread"
                },
                "description": "Adds labels to an entire thread in the authenticated user's Gmail account. This operation affects all messages currently in the thread and any future messages added to it.\n\nIf unsure of the thread ID, use the `search_threads` tool first.\n\nIf unsure of a user label's ID, use the `list_labels` tool first to discover available labels and their IDs. To add a Trash label or a Spam label to a thread, or move a specific thread to Trash, please use the `apply_sensitive_thread_label` tool instead.\n",
                "inputSchema": {
                    "description": "Request message for LabelThread RPC.",
                    "properties": {
                        "labelIds": {
                            "description": "Required. The unique identifiers of the labels to add. Can be a system label ID (e.g., `INBOX`, `STARRED`, `UNREAD`, `IMPORTANT`) or a user-defined label ID. The tool accepts `label_ids` and not label names. Use the `list_labels` tool to get the corresponding label id to a display name for user-defined labels.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "threadId": {
                            "description": "Required. The unique identifier of the thread to add labels to.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "threadId",
                        "labelIds"
                    ],
                    "type": "object"
                },
                "name": "label_thread",
                "outputSchema": {
                    "description": "Response message for LabelThread RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": true,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Remove labels from thread"
                },
                "description": "Removes labels from an entire thread in the authenticated user's Gmail account. If unsure of the thread ID, use the `search_threads` tool first. If unsure of a user label's ID, use the `list_labels` tool first.",
                "inputSchema": {
                    "description": "Request message for UnlabelThread RPC.",
                    "properties": {
                        "labelIds": {
                            "description": "Required. The unique identifiers of the labels to remove. Can be a system label ID (e.g., `INBOX`, `TRASH`, `SPAM`, `STARRED`, `UNREAD`, `IMPORTANT`) or a user-defined label ID. The tool accepts `label_ids` and not label names. Use the `list_labels` tool to get the corresponding label id to a display name for user-defined labels.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "threadId": {
                            "description": "Required. The unique identifier of the thread to remove labels from.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "threadId",
                        "labelIds"
                    ],
                    "type": "object"
                },
                "name": "unlabel_thread",
                "outputSchema": {
                    "description": "Response message for UnlabelThread RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": true,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Apply sensitive label (Trash or Spam) to thread"
                },
                "description": "Adds a sensitive label (Trash or Spam) to a single thread in the authenticated user's Gmail account. This operation affects all messages currently in the thread.\n\nUse `apply_sensitive_thread_label` when applying Trash or Spam to exactly 1 thread. To apply sensitive labels to multiple threads, use `batch_apply_sensitive_thread_labels` instead.\n\nTo find the thread ID, use the `search_threads` tool first.\n",
                "inputSchema": {
                    "description": "Request message for ApplySensitiveThreadLabel RPC.",
                    "properties": {
                        "labelOption": {
                            "description": "Required. The sensitive label option to add.",
                            "enum": [
                                "LABEL_OPTION_UNSPECIFIED",
                                "TRASH",
                                "SPAM"
                            ],
                            "type": "string",
                            "x-google-enum-descriptions": [
                                "Unspecified label option.",
                                "Trash label.",
                                "Spam label."
                            ]
                        },
                        "threadId": {
                            "description": "Required. The ID of the thread to add the label to.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "threadId",
                        "labelOption"
                    ],
                    "type": "object"
                },
                "name": "apply_sensitive_thread_label",
                "outputSchema": {
                    "description": "Response message for ApplySensitiveThreadLabel RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": true,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Moves a thread to Trash."
                },
                "description": "Moves an entire thread to the Trash in the authenticated user's Gmail account. This operation affects all messages currently in the thread.\n\nUse `trash_thread` when trashing a thread, even if it currently contains only 1 message. Trashing at the thread level ensures all current messages in the thread are moved to Trash. If unsure of the thread ID, use the `search_threads` tool first.\n",
                "inputSchema": {
                    "description": "Request message for TrashThread RPC.",
                    "properties": {
                        "threadId": {
                            "description": "Required. The ID of the thread to move to Trash.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "threadId"
                    ],
                    "type": "object"
                },
                "name": "trash_thread",
                "outputSchema": {
                    "description": "Response message for TrashThread RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Removes a thread from Trash."
                },
                "description": "Removes an entire thread from the Trash in the authenticated user's Gmail account.\n\nIf unsure of the thread ID, use the `search_threads` tool first.\n",
                "inputSchema": {
                    "description": "Request message for UntrashThread RPC.",
                    "properties": {
                        "threadId": {
                            "description": "Required. The ID of the thread to remove from Trash.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "threadId"
                    ],
                    "type": "object"
                },
                "name": "untrash_thread",
                "outputSchema": {
                    "description": "Response message for UntrashThread RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": true,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Marks a thread as Spam."
                },
                "description": "Marks an entire thread as Spam in the authenticated user's Gmail account. This operation affects all messages currently in the thread.\n\nUse `mark_thread_spam` when marking a thread as spam, even if it currently contains only 1 message. Marking spam at the thread level ensures all current messages in the thread are marked as Spam. If unsure of the thread ID, use the `search_threads` tool first.\n",
                "inputSchema": {
                    "description": "Request message for MarkThreadSpam RPC.",
                    "properties": {
                        "threadId": {
                            "description": "Required. The ID of the thread to mark as Spam.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "threadId"
                    ],
                    "type": "object"
                },
                "name": "mark_thread_spam",
                "outputSchema": {
                    "description": "Response message for MarkThreadSpam RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Unmarks a thread as Spam."
                },
                "description": "Unmarks an entire thread as Spam in the authenticated user's Gmail account.\n\nIf unsure of the thread ID, use the `search_threads` tool first.\n",
                "inputSchema": {
                    "description": "Request message for UnmarkThreadSpam RPC.",
                    "properties": {
                        "threadId": {
                            "description": "Required. The ID of the thread to unmark as Spam.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "threadId"
                    ],
                    "type": "object"
                },
                "name": "unmark_thread_spam",
                "outputSchema": {
                    "description": "Response message for UnmarkThreadSpam RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": true,
                    "title": "List labels"
                },
                "description": "Lists all labels available in the authenticated user's Gmail account. Use this tool to discover the `id` of a label before calling `label_thread`, `unlabel_thread`, `label_message`, or `unlabel_message`. Note: the system labels, `DRAFT` and `SENT`, cannot be set on messages and are read only.\n\nNote: An empty JSON object `{}` represents zero matching items, not an error.\n",
                "inputSchema": {
                    "description": "Request message for ListLabels RPC.",
                    "properties": [],
                    "type": "object"
                },
                "name": "list_labels",
                "outputSchema": {
                    "$defs": {
                        "Label": {
                            "description": "Details of a label.",
                            "properties": {
                                "color": {
                                    "$ref": "#\/$defs\/LabelColor",
                                    "deprecated": true,
                                    "description": "Deprecated: Do not use. Use color_preset instead. Legacy field for raw text and background color hex strings."
                                },
                                "colorPreset": {
                                    "description": "Optional. The color preset tile assigned to the label (e.g., LABEL_COLOR_PRESET_RED, LABEL_COLOR_PRESET_BLUE). Represents a pre-configured contrast-safe text and background color pair from the Gmail UI color palette. Returns LABEL_COLOR_PRESET_UNSPECIFIED if the label has a custom hex color.",
                                    "enum": [
                                        "LABEL_COLOR_PRESET_UNSPECIFIED",
                                        "LABEL_COLOR_PRESET_BLACK",
                                        "LABEL_COLOR_PRESET_DARK_GRAY",
                                        "LABEL_COLOR_PRESET_GRAY",
                                        "LABEL_COLOR_PRESET_LIGHT_GRAY",
                                        "LABEL_COLOR_PRESET_WHITE",
                                        "LABEL_COLOR_PRESET_RED",
                                        "LABEL_COLOR_PRESET_ORANGE",
                                        "LABEL_COLOR_PRESET_YELLOW",
                                        "LABEL_COLOR_PRESET_GREEN",
                                        "LABEL_COLOR_PRESET_MINT",
                                        "LABEL_COLOR_PRESET_TEAL",
                                        "LABEL_COLOR_PRESET_BLUE",
                                        "LABEL_COLOR_PRESET_PURPLE",
                                        "LABEL_COLOR_PRESET_PINK",
                                        "LABEL_COLOR_PRESET_DARK_RED",
                                        "LABEL_COLOR_PRESET_DARK_ORANGE",
                                        "LABEL_COLOR_PRESET_DARK_GREEN",
                                        "LABEL_COLOR_PRESET_DARK_BLUE",
                                        "LABEL_COLOR_PRESET_DARK_PURPLE",
                                        "LABEL_COLOR_PRESET_DARK_PINK",
                                        "LABEL_COLOR_PRESET_BROWN"
                                    ],
                                    "type": "string",
                                    "x-google-enum-descriptions": [
                                        "Default unspecified label color preset.",
                                        "Black label color tile (#000000 background with #ffffff text).",
                                        "Dark Gray label color tile (#434343 background with #ffffff text).",
                                        "Gray label color tile (#666666 background with #ffffff text).",
                                        "Light Gray label color tile (#cccccc background with #000000 text).",
                                        "White label color tile (#ffffff background with #000000 text).",
                                        "Red label color tile (#fb4c2f background with #ffffff text).",
                                        "Orange label color tile (#ffad47 background with #000000 text).",
                                        "Yellow label color tile (#fad165 background with #000000 text).",
                                        "Green label color tile (#16a765 background with #ffffff text).",
                                        "Mint label color tile (#43d692 background with #000000 text).",
                                        "Teal label color tile (#2da2bb background with #ffffff text).",
                                        "Blue label color tile (#4a86e8 background with #ffffff text).",
                                        "Purple label color tile (#a479e2 background with #ffffff text).",
                                        "Pink label color tile (#f691b2 background with #000000 text).",
                                        "Dark Red label color tile (#822111 background with #ffffff text).",
                                        "Dark Orange label color tile (#a46a21 background with #ffffff text).",
                                        "Dark Green label color tile (#076239 background with #ffffff text).",
                                        "Dark Blue label color tile (#1c4587 background with #ffffff text).",
                                        "Dark Purple label color tile (#41236d background with #ffffff text).",
                                        "Dark Pink label color tile (#83334c background with #ffffff text).",
                                        "Brown label color tile (#7a4706 background with #ffffff text)."
                                    ]
                                },
                                "labelId": {
                                    "description": "The unique identifier of the label.",
                                    "type": "string"
                                },
                                "messagesTotal": {
                                    "description": "The total number of messages under the label.",
                                    "format": "int32",
                                    "type": "integer"
                                },
                                "messagesUnread": {
                                    "description": "The number of unread messages under the label.",
                                    "format": "int32",
                                    "type": "integer"
                                },
                                "name": {
                                    "description": "The human-readable display name of the label.",
                                    "type": "string"
                                },
                                "threadsTotal": {
                                    "description": "The total number of threads under the label.",
                                    "format": "int32",
                                    "type": "integer"
                                },
                                "threadsUnread": {
                                    "description": "The number of unread threads under the label.",
                                    "format": "int32",
                                    "type": "integer"
                                }
                            },
                            "type": "object"
                        },
                        "LabelColor": {
                            "description": "Deprecated: Do not use. Use LabelColorPreset instead. The color of the label.",
                            "properties": {
                                "backgroundColor": {
                                    "deprecated": true,
                                    "description": "Deprecated: Do not use. Use LabelColorPreset instead. The background color of the label, specified as either a 6-digit hex string (e.g., `#000000`) or a supported color name.",
                                    "type": "string"
                                },
                                "textColor": {
                                    "deprecated": true,
                                    "description": "Deprecated: Do not use. Use LabelColorPreset instead. The text color of the label, specified as either a 6-digit hex string (e.g., `#ffffff`) or a supported color name.",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "description": "Response message for ListLabels RPC.",
                    "properties": {
                        "labels": {
                            "description": "List of all labels in the user's account.",
                            "items": {
                                "$ref": "#\/$defs\/Label"
                            },
                            "type": "array"
                        }
                    },
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Add labels to message"
                },
                "description": "Adds one or more labels to a specific message in the authenticated user's Gmail account.\n\nTo find the message ID, use tools like `search_threads` or `get_thread`. If unsure of a user label's ID, use the `list_labels` tool first to discover available labels and their IDs.\nTo add a Trash label or a Spam label to a message, or move a specific message to Trash, please use the `apply_sensitive_message_label` tool instead.\n",
                "inputSchema": {
                    "description": "Request message for LabelMessage RPC.",
                    "properties": {
                        "labelIds": {
                            "description": "Required. The IDs of the labels to add. Can be a system label ID (e.g., `INBOX`, `STARRED`, `UNREAD`, `IMPORTANT`) or a user-defined label ID. The tool accepts `label_ids` and not label names. Use the `list_labels` tool to get the corresponding label id to a display name for user-defined labels.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "messageId": {
                            "description": "Required. The ID of the message to add the labels to.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "messageId",
                        "labelIds"
                    ],
                    "type": "object"
                },
                "name": "label_message",
                "outputSchema": {
                    "description": "Response message for LabelMessage RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Modify message labels"
                },
                "description": "Atomically adds and\/or removes labels from a specific message in the authenticated user's Gmail account.\n\nRequires at least one of `addLabelIds` or `removeLabelIds` to be provided. Moving an email between labels can be accomplished in a single call by specifying the target label in `addLabelIds` and the current label in `removeLabelIds`.\n",
                "inputSchema": {
                    "description": "Request message for UpdateMessageLabels RPC.",
                    "properties": {
                        "addLabelIds": {
                            "description": "Optional. The IDs of the labels to add. Can be a system label ID (e.g., `INBOX`, `STARRED`, `UNREAD`, `IMPORTANT`) or a user-defined label ID.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "messageId": {
                            "description": "Required. The ID of the message to modify labels for.",
                            "type": "string"
                        },
                        "removeLabelIds": {
                            "description": "Optional. The IDs of the labels to remove. Can be a system label ID or a user-defined label ID.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "messageId"
                    ],
                    "type": "object"
                },
                "name": "update_message_labels",
                "outputSchema": {
                    "description": "Response message for UpdateMessageLabels RPC.",
                    "properties": {
                        "labelIds": {
                            "description": "The updated list of label IDs on the message.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "messageId": {
                            "description": "The ID of the modified message.",
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": true,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Remove labels from message"
                },
                "description": "Removes one or more labels from a specific message in the authenticated user's Gmail account. To find the message ID, use tools like `search_threads` or `get_thread`. If unsure of a user label's ID, use the `list_labels` tool first to discover available labels and their IDs.",
                "inputSchema": {
                    "description": "Request message for UnlabelMessage RPC.",
                    "properties": {
                        "labelIds": {
                            "description": "Required. The IDs of the labels to remove. Can be a system label ID (e.g., `INBOX`, `TRASH`, `SPAM`, `STARRED`, `UNREAD`, `IMPORTANT`) or a user-defined label ID. The tool accepts `label_ids` and not label names. Use the `list_labels` tool to get the corresponding label id to a display name for user-defined labels.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "messageId": {
                            "description": "Required. The ID of the message to remove the labels from.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "messageId",
                        "labelIds"
                    ],
                    "type": "object"
                },
                "name": "unlabel_message",
                "outputSchema": {
                    "description": "Response message for UnlabelMessage RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": true,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Apply sensitive label (Trash or Spam) to message"
                },
                "description": "Adds a sensitive label (Trash or Spam) to a single message in the authenticated user's Gmail account.\n\nUse `apply_sensitive_message_label` when applying Trash or Spam to exactly 1 message. To apply sensitive labels to multiple messages, use `batch_apply_sensitive_message_labels` instead. If the message belongs to a thread that should be labeled as a whole, prefer `apply_sensitive_thread_label`.\n\nTo find the message ID, use tools like `search_threads` or `get_thread`. To find the draft message ID, use tools like `list_drafts`.\n",
                "inputSchema": {
                    "description": "Request message for ApplySensitiveMessageLabel RPC.",
                    "properties": {
                        "labelOption": {
                            "description": "Required. The sensitive label option to add.",
                            "enum": [
                                "LABEL_OPTION_UNSPECIFIED",
                                "TRASH",
                                "SPAM"
                            ],
                            "type": "string",
                            "x-google-enum-descriptions": [
                                "Unspecified label option.",
                                "Trash label.",
                                "Spam label."
                            ]
                        },
                        "messageId": {
                            "description": "Required. The ID of the message to add the label to.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "messageId",
                        "labelOption"
                    ],
                    "type": "object"
                },
                "name": "apply_sensitive_message_label",
                "outputSchema": {
                    "description": "Response message for ApplySensitiveMessageLabel RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": true,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Moves a message to Trash."
                },
                "description": "Moves a specific message to the Trash in the authenticated user's Gmail account.\n\nUse `trash_message` when targeting a specific message within a thread. To trash an entire thread or a single-message thread, prefer `trash_thread`.\n\nTo find the message ID, use tools like `search_threads` or `get_thread`. To find the draft message ID, use tools like `list_drafts`.\n",
                "inputSchema": {
                    "description": "Request message for TrashMessage RPC.",
                    "properties": {
                        "messageId": {
                            "description": "Required. The ID of the message to move to Trash.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "messageId"
                    ],
                    "type": "object"
                },
                "name": "trash_message",
                "outputSchema": {
                    "description": "Response message for TrashMessage RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Removes a message from Trash."
                },
                "description": "Removes a specific message from the Trash in the authenticated user's Gmail account.\n\nTo find the message ID, use tools like `search_threads` or `get_thread`.\n",
                "inputSchema": {
                    "description": "Request message for UntrashMessage RPC.",
                    "properties": {
                        "messageId": {
                            "description": "Required. The ID of the message to remove from Trash.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "messageId"
                    ],
                    "type": "object"
                },
                "name": "untrash_message",
                "outputSchema": {
                    "description": "Response message for UntrashMessage RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": true,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Marks a message as Spam."
                },
                "description": "Marks a specific message as Spam in the authenticated user's Gmail account.\n\nTo find the message ID, use tools like `search_threads` or `get_thread`.\n",
                "inputSchema": {
                    "description": "Request message for MarkMessageSpam RPC.",
                    "properties": {
                        "messageId": {
                            "description": "Required. The ID of the message to mark as Spam.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "messageId"
                    ],
                    "type": "object"
                },
                "name": "mark_message_spam",
                "outputSchema": {
                    "description": "Response message for MarkMessageSpam RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": true,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Unmarks a message as Spam."
                },
                "description": "Unmarks a specific message as Spam in the authenticated user's Gmail account.\n\nTo find the message ID, use tools like `search_threads` or `get_thread`.\n",
                "inputSchema": {
                    "description": "Request message for UnmarkMessageSpam RPC.",
                    "properties": {
                        "messageId": {
                            "description": "Required. The ID of the message to unmark as Spam.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "messageId"
                    ],
                    "type": "object"
                },
                "name": "unmark_message_spam",
                "outputSchema": {
                    "description": "Response message for UnmarkMessageSpam RPC.",
                    "properties": [],
                    "type": "object"
                }
            },
            {
                "annotations": {
                    "destructiveHint": false,
                    "idempotentHint": false,
                    "openWorldHint": false,
                    "readOnlyHint": false,
                    "title": "Create label"
                },
                "description": "Creates a new label in the authenticated user's Gmail account.\nSupports creating nested labels (sub-labels) using a forward slash (e.g., 'Projects\/Alpha\/Sprint-1').\nBy default, parent labels will be automatically created if they do not exist.\n",
                "inputSchema": {
                    "$defs": {
                        "LabelColor": {
                            "description": "Deprecated: Do not use. Use LabelColorPreset instead. The color of the label.",
                            "properties": {
                                "backgroundColor": {
                                    "deprecated": true,
                                    "description": "Deprecated: Do not use. Use LabelColorPreset instead. The background color of the label, specified as either a 6-digit hex string (e.g., `#000000`) or a supported color name.",
                                    "type": "string"
                                },
                                "textColor": {
                                    "deprecated": true,
                                    "description": "Deprecated: Do not use. Use LabelColorPreset instead. The text color of the label, specified as either a 6-digit hex string (e.g., `#ffffff`) or a supported color name.",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "description": "Request message for CreateLabel RPC.",
                    "properties": {
                        "autoCreateParentLabels": {
                            "description": "Optional. Whether to automatically create parent labels for nested labels (separated by `\/`). Defaults to `true`. When set to `true`, missing parent labels in the hierarchy (e.g., `Projects` and `Projects\/Alpha` for `Projects\/Alpha\/Sprint-1`) are created automatically. When set to `false`, parent label auto-creation is disabled.",
                            "type": "boolean"
                        },
                        "color": {
                            "$ref": "#\/$defs\/LabelColor",
                            "deprecated": true,
                            "description": "Deprecated: Do not use. Use color_preset instead. Legacy field for raw text and background color hex strings."
                        },
                        "colorPreset": {
                            "description": "Optional. The color preset tile to assign to the new label. Select from predefined contrast-safe color options (e.g., LABEL_COLOR_PRESET_RED, LABEL_COLOR_PRESET_BLUE, LABEL_COLOR_PRESET_BLACK, LABEL_COLOR_PRESET_GREEN). If omitted, default label styling is applied.",
                            "enum": [
                                "LABEL_COLOR_PRESET_UNSPECIFIED",
                                "LABEL_COLOR_PRESET_BLACK",
                                "LABEL_COLOR_PRESET_DARK_GRAY",
                                "LABEL_COLOR_PRESET_GRAY",
                                "LABEL_COLOR_PRESET_LIGHT_GRAY",
                                "LABEL_COLOR_PRESET_WHITE",
                                "LABEL_COLOR_PRESET_RED",
                                "LABEL_COLOR_PRESET_ORANGE",
                                "LABEL_COLOR_PRESET_YELLOW",
                                "LABEL_COLOR_PRESET_GREEN",
                                "LABEL_COLOR_PRESET_MINT",
                                "LABEL_COLOR_PRESET_TEAL",
                                "LABEL_COLOR_PRESET_BLUE",
                                "LABEL_COLOR_PRESET_PURPLE",
                                "LABEL_COLOR_PRESET_PINK",
                                "LABEL_COLOR_PRESET_DARK_RED",
                                "LABEL_COLOR_PRESET_DARK_ORANGE",
                                "LABEL_COLOR_PRESET_DARK_GREEN",
                                "LABEL_COLOR_PRESET_DARK_BLUE",
                                "LABEL_COLOR_PRESET_DARK_PURPLE",
                                "LABEL_COLOR_PRESET_DARK_PINK",
                                "LABEL_COLOR_PRESET_BROWN"
                            ],
                            "type": "string",
                            "x-google-enum-descriptions": [
                                "Default unspecified label color preset.",
                                "Black label color tile (#000000 background with #ffffff text).",
                                "Dark Gray label color tile (#434343 background with #ffffff text).",
                                "Gray label color tile (#666666 background with #ffffff text).",
                                "Light Gray label color tile (#cccccc background with #000000 text).",
                                "White label color tile (#ffffff background with #000000 text).",
                                "Red label color tile (#fb4c2f background with #ffffff text).",
                                "Orange label color tile (#ffad47 background with #000000 text).",
                                "Yellow label color tile (#fad165 background with #000000 text).",
                                "Green label color tile (#16a765 background with #ffffff text).",
                                "Mint label color tile (#43d692 background with #000000 text).",
                                "Teal label color tile (#2da2bb background with #ffffff text).",
                                "Blue label color tile (#4a86e8 background with #ffffff text).",
                                "Purple label color tile (#a479e2 background with #ffffff text).",
                                "Pink label color tile (#f691b2 background with #000000 text).",
                                "Dark Red label color tile (#822111 background with #ffffff text).",
                                "Dark Orange label color tile (#a46a21 background with #ffffff text).",
                                "Dark Green label color tile (#076239 background with #ffffff text).",
                                "Dark Blue label color tile (#1c4587 background with #ffffff text).",
                                "Dark Purple label color tile (#41236d background with #ffffff text).",
                                "Dark Pink label color tile (#83334c background with #ffffff text).",
                                "Brown label color tile (#7a4706 background with #ffffff text)."
                            ]
                        },
                        "displayName": {
                            "description": "Required. The display name of the label to create. Supports nested label hierarchy using `\/` (e.g., `Projects\/Alpha\/Sprint-1`).",
                            "type": "string"
                        }
                    },
                    "required": [
                        "displayName"
                    ],
                    "type": "object"
                },
                "name": "create_label",
                "outputSchema": {
                    "$defs": {
                        "LabelColor": {
                            "description": "Deprecated: Do not use. Use LabelColorPreset instead. The color of the label.",
                            "properties": {
                                "backgroundColor": {
                                    "deprecated": true,
                                    "description": "Deprecated: Do not use. Use LabelColorPreset instead. The background color of the label, specified as either a 6-digit hex string (e.g., `#000000`) or a supported color name.",
                                    "type": "string"
                                },
                                "textColor": {
                                    "deprecated": true,
                                    "description": "Deprecated: Do not use. Use LabelColorPreset instead. The text color of the label, specified as either a 6-digit hex string (e.g., `#ffffff`) or a supported color name.",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "description": "Details of a label.",
                    "properties": {
                        "color": {
                            "$ref": "#\/$defs\/LabelColor",
                            "deprecated": true,
                            "description": "Deprecated: Do not use. Use color_preset instead. Legacy field for raw text and background color hex strings."
                        },
                        "colorPreset": {
                            "description": "Optional. The color preset tile assigned to the label (e.g., LABEL_COLOR_PRESET_RED, LABEL_COLOR_PRESET_BLUE). Represents a pre-configured contrast-safe text and background color pair from the Gmail UI color palette. Returns LABEL_COLOR_PRESET_UNSPECIFIED if the label has a custom hex color.",
                            "enum": [
                                "LABEL_COLOR_PRESET_UNSPECIFIED",
                                "LABEL_COLOR_PRESET_BLACK",
                                "LABEL_COLOR_PRESET_DARK_GRAY",
                                "LABEL_COLOR_PRESET_GRAY",
                                "LABEL_COLOR_PRESET_LIGHT_GRAY",
                                "LABEL_COLOR_PRESET_WHITE",
                                "LABEL_COLOR_PRESET_RED",
                                "LABEL_COLOR_PRESET_ORANGE",
                                "LABEL_COLOR_PRESET_YELLOW",
                                "LABEL_COLOR_PRESET_GREEN",
                                "LABEL_COLOR_PRESET_MINT",
                                "LABEL_COLOR_PRESET_TEAL",
                                "LABEL_COLOR_PRESET_BLUE",
                                "LABEL_COLOR_PRESET_PURPLE",
                                "LABEL_COLOR_PRESET_PINK",
                                "LABEL_COLOR_PRESET_DARK_RED",
                                "LABEL_COLOR_PRESET_DARK_ORANGE",
                                "LABEL_COLOR_PRESET_DARK_GREEN",
                                "LABEL_COLOR_PRESET_DARK_BLUE",
                                "LABEL_COLOR_PRESET_DARK_PURPLE",
                                "LABEL_COLOR_PRESET_DARK_PINK",
                                "LABEL_COLOR_PRESET_BROWN"
                            ],
                            "type": "string",
                            "x-google-enum-descriptions": [
                                "Default unspecified label color preset.",
                                "Black label color tile (#000000 background with #ffffff text).",
                                "Dark Gray label color tile (#434343 background with #ffffff text).",
                                "Gray label color tile (#666666 background with #ffffff text).",
                                "Light Gray label color tile (#cccccc background with #000000 text).",
                                "White label color tile (#ffffff background with #000000 text).",
                                "Red label color tile (#fb4c2f background with #ffffff text).",
                                "Orange label color tile (#ffad47 background with #000000 text).",
                                "Yellow label color tile (#fad165 background with #000000 text).",
                                "Green label color tile (#16a765 background with #ffffff text).",
                                "Mint label color tile (#43d692 background with #000000 text).",
                                "Teal label color tile (#2da2bb background with #ffffff text).",
                                "Blue label color tile (#4a86e8 background with #ffffff text).",
                                "Purple label color tile (#a479e2 background with #ffffff text).",
                                "Pink label color tile (#f691b2 background with #000000 text).",
                                "Dark Red label color tile (#822111 background with #ffffff text).",
                                "Dark Orange label color tile (#a46a21 background with #ffffff text).",
                                "Dark Green label color tile (#076239 background with #ffffff text).",
                                "Dark Blue label color tile (#1c4587 background with #ffffff text).",
                                "Dark Purple label color tile (#41236d background with #ffffff text).",
                                "Dark Pink label color tile (#83334c background with #ffffff text).",
                                "Brown label color tile (#7a4706 background with #ffffff text)."
                            ]
                        },
                        "labelId": {
                            "description": "The unique identifier of the label.",
                            "type": "string"
                        },
                        "messagesTotal": {
                            "description": "The total number of messages under the label.",
                            "format": "int32",
                            "type": "integer"
                        },
                        "messagesUnread": {
                            "description": "The number of unread messages under the label.",
                            "format": "int32",
                            "type": "integer"
                        },
                        "name": {
                            "description": "The human-readable display name of the label.",
                            "type": "string"
                        },
                        "threadsTotal": {
                            "description": "The total number of threads under the label.",
                            "format": "int32",
                            "type": "integer"
                        },
                        "threadsUnread": {
                            "description": "The number of unread threads under the label.",
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "type": "object"
                }
            }
        ]
    }
}