Skip to main content
Glama
luminarylane

gmail-mcp-server

by luminarylane

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

accessToken

string

no

Falls back to GMAIL_ACCESS_TOKEN env var

to

string

no

Leave empty if unknown — the owner fills it in when reviewing the draft

subject

string

yes

body

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 + build

Auth

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 tool
gmail_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoRecipient email address. Leave empty if unknown — the owner fills it in when reviewing the draft.
bodyYesEmail body, plain text
subjectYesEmail subject line
accessTokenNoGmail OAuth 2.0 access token. Falls back to GMAIL_ACCESS_TOKEN env var.

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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. 1 tool updatev1.0.0
    • First observedgmail_draft_compose

TDQS

A3.6/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools. The single tool's purpose is clearly stated.

Naming Consistency4/5

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.

Tool Count1/5

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.

Completeness1/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers