[FEATURE] Gmail MCP Connector: Add gmail_modify_labels tool for archiving, labeling, and inbox management
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
The hosted Gmail MCP connector at gmail.mcp.claude.com currently only supports read operations and draft creation. There is no way to modify message labels, which means common inbox management actions are impossible:
- Archiving emails (removing the
INBOXlabel) - Marking as read/unread (removing/adding the
UNREADlabel) - Starring messages (adding/removing the
STARREDlabel) - Categorizing messages (adding custom labels)
- Moving to trash (adding
TRASHlabel)
My use case: I'm running a scheduled Cowork task for automated email triage — it searches for unread emails, classifies them (newsletter/spam vs. relevant), and should archive the noise. Currently, the triage can identify what should be archived but cannot act on it because there's no way to remove the INBOX label.
This is a fundamental gap — the connector can read and create drafts, but cannot manage the inbox itself.
Current available tools (as of March 2026)
| Tool | Type |
|------|------|
| gmail_search_messages | Read |
| gmail_read_message | Read |
| gmail_read_thread | Read |
| gmail_list_labels | Read |
| gmail_list_drafts | Read |
| gmail_get_profile | Read |
| gmail_create_draft | Write |
| gmail_modify_labels | Missing |
| gmail_send_draft | Missing (see #32266) |
Proposed Solution
Add a single gmail_modify_labels tool to the hosted Gmail MCP connector. The Gmail API already supports this via users.messages.modify, which accepts:
{
"messageId": "string (required)",
"addLabelIds": ["string"],
"removeLabelIds": ["string"]
}
This one tool would unlock all of the following workflows:
- Archive:
removeLabelIds: ["INBOX"] - Mark as read:
removeLabelIds: ["UNREAD"] - Mark as unread:
addLabelIds: ["UNREAD"] - Star:
addLabelIds: ["STARRED"] - Categorize:
addLabelIds: ["Label_123"] - Trash:
addLabelIds: ["TRASH"]
It's a lightweight, versatile addition — one tool that enables an entire category of inbox management workflows in Cowork and Claude Code.
Alternative Solutions
Currently, the only workaround is to use a third-party Gmail MCP server that provide full Gmail API access including label modification.
However, for Cowork users this means abandoning the official hosted connector in favor of self-hosted alternatives, which defeats the purpose of the seamless built-in integration.
Related issues
- #28575 — Add file attachment support to
gmail_create_draftand addgmail_send_drafttool- #32266 —gmail_send_drafttool missing from hosted server
Priority
High - Significant impact on productivity
Feature Category
MCP server integration
Use Case Example
I have a scheduled Cowork task that runs every hour to triage my inbox:
gmail_search_messageswithis:unread in:inbox newer_than:1hto find new emailsgmail_read_messageto read each email and classify it (newsletter/spam vs. relevant)- Missing step:
gmail_modify_labelswithremoveLabelIds: ["INBOX"]to archive newsletters and spam - Missing step:
gmail_modify_labelswithremoveLabelIds: ["UNREAD"]to mark triaged emails as read - Generate a summary of remaining relevant emails grouped by project
Currently, steps 3 and 4 are impossible. The triage identifies what should be archived but I have to manually go into Gmail to do it, which defeats the purpose of the automation.
Additional Context
_No response_
This issue has 12 comments on GitHub. Read the full discussion on GitHub ↗