gmail-mcp-server
Provides tools for composing Gmail drafts, allowing users to create email drafts with optional recipient and plain-text body that the owner reviews and sends manually.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gmail-mcp-serverDraft an email to myself about the Q3 budget review"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gmail-mcp-server
Standalone Gmail MCP Server — draft-only. Lane never sends; the single tool creates a Gmail draft the owner reviews and sends themselves.
Tools
gmail_draft_compose
Creates a Gmail draft.
Arg | Type | Required | Notes |
| string | no | Falls back to |
| string | no | Leave empty if unknown — the owner fills it in when reviewing the draft |
| string | yes | |
| string | yes | Plain text |
Returns { draftId, messageId, draftUrl }.
There is no send tool, no read tool, and no label/thread management in this server — it composes drafts only.
Related MCP server: Gmail MCP Server
Install / Dev
npm install
npm run dev # run the server via tsx
npm run build # compile to dist/
npm run check # test + buildAuth
Requires an OAuth 2.0 access token with the gmail.compose scope only — never gmail.send. Set it via GMAIL_ACCESS_TOKEN or pass accessToken per call. See .env.example.
Available Tools
1 toolgmail_draft_composeA
Create a Gmail draft. Draft-only — this server has no send capability. The owner reviews the draft in Gmail and sends it themselves.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Recipient email address. Leave empty if unknown — the owner fills it in when reviewing the draft. | |
| body | Yes | Email body, plain text | |
| subject | Yes | Email subject line | |
| accessToken | No | Gmail OAuth 2.0 access token. Falls back to GMAIL_ACCESS_TOKEN env var. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explicitly reveals the key behavioral trait — that drafts are created but never sent — which prevents the agent from assuming a full send pipeline exists. This goes beyond what a generic 'create draft' description would provide, though it omits details like draft location or return value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The core action is front-loaded, and the critical caveat (draft-only, no send capability) is stated immediately after in the same breath. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 4-parameter tool with no enums, nested objects, or siblings, the description plus fully-documented schema cover the essential operating context. The draft-vs-send distinction is the most important edge case for an agent to know, and it is explicit. An output schema is absent, but the description compensates reasonably well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even though the tool description itself adds no parameter-level detail. The schema already documents each parameter sufficiently, including the nuance that 'to' may be left empty for the owner to fill in. The description does not need to repeat or expand on them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Create a Gmail draft" states a specific verb plus an unambiguous resource, and immediately clarifies the draft-only scope. The clarification that the server has no send capability actively prevents an agent from mistakenly believing this tool can deliver email.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes a clear workflow: the agent creates the draft, and the owner reviews and sends it in Gmail. However, there are no explicit use-this-when or when-not conditions, and with no sibling tools listed, the guidance is contextual rather than directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
gmail_draft_compose
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion between tools. The single tool's purpose is clearly stated.
The single tool name follows a clear verb_noun pattern (gmail_draft_compose), but with only one tool there is limited evidence of a broader convention. It is readable and predictable.
A single tool for a Gmail server is far too thin to be useful. The server's apparent scope is much broader than drafting, and one tool cannot reasonably cover it.
The surface is severely incomplete. There is no send, read, list, search, or delete capability, and the tool only creates drafts, leaving the agent with a dead end after composing.
Maintenance
Related MCP Connectors
Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…
Manage Gmail messages, threads, labels, drafts, and settings from your workflows. Send and organiz…
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables interaction with Gmail through the Gmail API, allowing users to list, read, search emails, create and send drafts, and get email summaries through natural language commands with OAuth2 authentication.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Gmail accounts through natural language for tasks like sending, reading, searching, and organizing emails. It supports advanced features including draft management, label operations, and batch actions via secure OAuth 2.0 authentication.MIT
- AlicenseCqualityDmaintenanceEnables AI agents to create Gmail drafts safely using the Gmail API, without sending emails.11MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to create Gmail drafts and append content to Google Docs, supporting automated review analysis and notification workflows.1,091 npmMIT