Skip to main content
Glama
gmail-mcp MCP Server
by mundume

gmail-mcp MCP Server

a gmail mcp server built on top of typescript and the gmail api

This is a TypeScript-based MCP server that implements a simple notes system. It demonstrates core MCP concepts by providing:

  • Resources representing text notes with URIs and metadata

  • Tools for creating new notes

  • Prompts for generating summaries of notes

Features

Resources

  • List and access notes via note:// URIs

  • Each note has a title, content and metadata

  • Plain text mime type for simple content access

Tools

  • create_note - Create new text notes

    • Takes title and content as required parameters

    • Stores note in server state

Prompts

  • summarize_notes - Generate a summary of all stored notes

    • Includes all note contents as embedded resources

    • Returns structured prompt for LLM summarization

Related MCP server: filesystem-mcp

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Installation

Installing via Smithery

To install Gmail Notes Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @mundume/gmail-mcp --client claude

Installing Manually

To use with Claude Desktop, add the server config:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "gmail-mcp": {
      "command": "/path/to/gmail-mcp/build/index.js"
    }
  }
}

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

Available Tools

3 tools
getEmailContentC

Retrieve the full content of an email from Gmail.

Inputs: emailIndex (required).

listEmailsB

List emails from Gmail with subject, sender, and body in Markdown format. Optionally filter and summarize results.

Inputs: query, maxResults.

sendEmailC

Send an email from Gmail.

Inputs: to (required), subject (required), body (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: getEmailContent retrieves a specific email's full content, listEmails lists emails with optional filtering/summarization, and sendEmail sends emails. There is no overlap in functionality, making tool selection straightforward for an agent.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern (getEmailContent, listEmails, sendEmail) with clear, descriptive names. The naming style is uniform throughout the set, enhancing readability and predictability.

    Tool Count3/5

    With only 3 tools, the set feels thin for a Gmail integration, as it lacks operations like deleting emails, marking as read/unread, or managing labels. While the core functions are present, the scope is limited compared to typical email management needs.

    Completeness3/5

    The tools cover basic read (get, list) and write (send) operations, but there are notable gaps in the email lifecycle, such as updating email status (e.g., delete, archive, mark as read) or handling attachments. This could lead to agent workarounds for common email tasks.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers