claude-code - 💡(How to fix) Fix Feature Request: Add gmail_send_draft / gmail_send_message tool to Gmail MCP connector [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#48459Fetched 2026-04-16 06:59:35
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Timeline (top)
labeled ×2commented ×1
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing requests and this feature hasn't been requested yet
  • This is a single feature request (not multiple features)

Problem Statement

The current Gmail MCP connector workflow requires me to manually open Gmail to send emails. When using Claude Code to automate tasks like sending AI-generated digests, newsletters, or reports, I can only create a draft — there is no tool to actually send it. This breaks fully automated email workflows.The current Gmail MCP connector workflow requires me to manually open Gmail to send emails. When using Claude Code to automate tasks like sending AI-generated digests, newsletters, or reports, I can only create a draft — there is no tool to actually send it. This breaks fully automated email workflows.

Proposed Solution

Add one (or both) of the following tools to the Gmail MCP connector:

  1. gmail_send_draft — accepts a draftId and sends the existing draft
  2. gmail_send_message — sends an email directly without a prior draft step

The ideal experience: after calling gmail_create_draft, I can immediately call gmail_send_draft with the returned draftId to complete the send in the same workflow.

Alternative Solutions

Currently working around this by saving a draft and manually opening Gmail to click Send. Also considered using a self-hosted Gmail MCP server that includes send functionality, but that adds unnecessary complexity for something the official connector should support natively.

Priority

High - Significant impact on productivity

Feature Category

MCP server integration

Use Case Example

Example scenario:

  1. I ask Claude to research today's top AI news and compile a digest
  2. Claude formats and calls gmail_create_draft with the content
  3. Currently I must stop and manually go to Gmail to send it
  4. With gmail_send_draft, Claude could complete the full workflow autonomously — research → format → send — without manual steps

Additional Context

The draftId returned from gmail_create_draft (e.g. r-519844011788993847) is already available in the tool response, so the implementation simply needs to call the Gmail API's drafts.send endpoint with that ID. The Gmail API already supports this natively.

Reference: https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/send

extent analysis

TL;DR

Implementing a gmail_send_draft tool that utilizes the Gmail API's drafts.send endpoint can enable fully automated email workflows.

Guidance

  • The proposed solution involves adding a gmail_send_draft tool that accepts a draftId and sends the existing draft using the Gmail API.
  • To implement this, you can use the draftId returned from gmail_create_draft and call the Gmail API's drafts.send endpoint with that ID.
  • Review the Gmail API documentation for the drafts.send endpoint to ensure correct implementation: https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/send
  • Consider testing the gmail_send_draft tool with a sample draftId to verify its functionality.

Example

import requests

def gmail_send_draft(draft_id):
    # Assuming you have the necessary authentication and API setup
    url = f"https://www.googleapis.com/gmail/v1/users/me/drafts/{draft_id}/send"
    response = requests.post(url)
    if response.status_code == 200:
        print("Email sent successfully")
    else:
        print("Error sending email")

# Example usage
draft_id = "r-519844011788993847"
gmail_send_draft(draft_id)

Notes

The implementation of the gmail_send_draft tool relies on the correct usage of the Gmail API and the availability of the draftId returned from gmail_create_draft. Ensure that you have the necessary authentication and API setup to use the Gmail API.

Recommendation

Apply workaround by implementing the proposed gmail_send_draft tool, as it directly addresses the issue of manual email sending and enables fully automated email workflows.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Feature Request: Add gmail_send_draft / gmail_send_message tool to Gmail MCP connector [1 comments, 2 participants]