MCPHIVE

Gmail MCP

Up

Gmail MCP is Google's official mail server (Developer Preview): 10 tools like create_draft, search_threads and label_thread give an agent access to drafts, threads, search and labels in natural language. A single endpoint over JSON-RPC on HTTPS, auth via Google OAuth 2.0. Connecting it as a custom connector in Claude.ai requires a paid plan (Pro, Max, Team or Enterprise).

Why this server

  • Google's official Gmail MCP (Developer Preview) — drafts, threads, search and labels
  • 10 tools, from create_draft and search_threads to label_thread and unlabel_message
  • JSON-RPC over HTTPS — works like any regular remote MCP endpoint in any client
  • Custom connectors in Claude.ai require a Pro, Max, Team or Enterprise plan

Usage examples

Prompt: Find all emails from support this past week and draft an apology for the delay

Result: The agent called search_threads by sender and date, then create_draft with the reply text — the draft appeared in Gmail with no manual searching.

Prompt: Label every email with subject "Invoice" as Finance

Result: The agent ran search_threads on the subject line and called label_thread with the Finance label on every matching thread.

Health

100out of 100, based on agent reports from the last 30 days

1 reports in the last 30 days · Last report: 25 Jul 2026

Reports by day (30 days)

2026-06-26: works 0, partial 0, broken 02026-06-27: works 0, partial 0, broken 02026-06-28: works 0, partial 0, broken 02026-06-29: works 0, partial 0, broken 02026-06-30: works 0, partial 0, broken 02026-07-01: works 0, partial 0, broken 02026-07-02: works 0, partial 0, broken 02026-07-03: works 0, partial 0, broken 02026-07-04: works 0, partial 0, broken 02026-07-05: works 0, partial 0, broken 02026-07-06: works 0, partial 0, broken 02026-07-07: works 0, partial 0, broken 02026-07-08: works 0, partial 0, broken 02026-07-09: works 0, partial 0, broken 02026-07-10: works 0, partial 0, broken 02026-07-11: works 0, partial 0, broken 02026-07-12: works 0, partial 0, broken 02026-07-13: works 0, partial 0, broken 02026-07-14: works 0, partial 0, broken 02026-07-15: works 0, partial 0, broken 02026-07-16: works 0, partial 0, broken 02026-07-17: works 0, partial 0, broken 02026-07-18: works 0, partial 0, broken 02026-07-19: works 0, partial 0, broken 02026-07-20: works 0, partial 0, broken 02026-07-21: works 0, partial 0, broken 02026-07-22: works 0, partial 0, broken 02026-07-23: works 0, partial 0, broken 02026-07-24: works 0, partial 0, broken 02026-07-25: works 1, partial 0, broken 0
2026-06-262026-07-25
workspartialbroken
Reports by day (30 days)
dateworkspartialbroken
2026-07-25100

Server tools · 13

Collected by auto-check from tools/list — the real list, not the description.

  • apply_sensitive_message_label

    Adds a sensitive label (Trash or Spam) to a specific message in the authenticated user's Gmail account. Use this tool to trash or mark a message as spam. To find the message ID, use tools like `search_threads` or `get_thread`.

  • apply_sensitive_thread_label

    Adds a sensitive label (Trash or Spam) 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. Use this tool to trash or mark a thread as spam. If unsure of the thread ID, use the `search_threads` tool first.

  • create_draft

    Creates a new draft email in the authenticated user's Gmail account. This 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. Returns only the unique ID (id) of the draft message. Limitation: Creating drafts with attachments is not supported yet.

  • create_label

    Creates a new label in the authenticated user's Gmail account. Supports creating nested labels (sub-labels) using a forward slash (e.g., 'Projects/Alpha/Sprint-1'). By default, parent labels will be automatically created if they do not exist.

  • get_message

    Retrieves a specific email message from the authenticated user's Gmail account by its unique message ID. Use 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. Key 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. Example 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?" The optional `messageFormat` parameter controls the format of the message returned. B

  • get_thread

    Retrieves a specific email thread from the authenticated user's Gmail account, including a list of its messages. The optional `messageFormat` parameter controls the format of the messages returned. By default (or with `FULL_CONTENT`), it returns the full content of messages. 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).

  • label_message

    Adds one or more labels to 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. To add a trash label or a spam label on to a message, please use the `apply_sensitive_message_label` tool instead.

  • label_thread

    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. 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 to discover available labels and their IDs. To add a trash label or a spam label on to a thread, please use the `apply_sensitive_thread_label` tool instead.

  • list_drafts

    Lists draft emails from the authenticated user's Gmail account. This 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. The `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.

  • list_labels

    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.

  • search_threads

    Lists email threads from the authenticated user's Gmail account. This 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 conversa

  • unlabel_message

    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.

  • unlabel_thread

    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.

Reviews

No reviews yet.