Skip to main content
Glama
SolonaBot

Gmail MCP Server

by SolonaBot

Gmail MCP Server

A Model Context Protocol (MCP) server implementation for Gmail integration, enabling AI assistants to interact with Gmail through a standardized interface.

Features

  • Email Operations

    • List and search emails with advanced filtering

    • Read email content with attachments

    • Send emails with attachments

    • Draft support (coming soon)

    • Reply/Forward support (coming soon)

  • Label Management

    • List all labels

    • Create new labels

    • Update existing labels

    • Delete labels

  • Authentication

    • Secure OAuth2 authentication

    • Automatic token refresh

    • Token persistence

Related MCP server: Enhanced Gmail MCP Server

Installation

  1. Clone the repository:

git clone https://github.com/yourusername/gmail-mcp.git
cd gmail-mcp
  1. Install dependencies:

npm install
  1. Set up Google Cloud Project:

    • Go to Google Cloud Console

    • Create a new project

    • Enable Gmail API

    • Configure OAuth consent screen

    • Create OAuth credentials

    • Download credentials as gcp-oauth.keys.json

  2. Configure the project:

    • Place gcp-oauth.keys.json in the project root directory

    • Run the authentication server:

npm run auth
  1. Build the project:

npm run build

Usage

Starting the Server

npm start

The server runs on stdio, making it compatible with MCP clients.

Available Tools

1. List Emails

{
  "name": "list-emails",
  "arguments": {
    "maxResults": 10,
    "labelIds": ["INBOX"],
    "query": "is:unread"
  }
}

2. Read Email

{
  "name": "read-email",
  "arguments": {
    "id": "message-id",
    "format": "full"
  }
}

3. Send Email

{
  "name": "send-email",
  "arguments": {
    "to": "recipient@example.com",
    "subject": "Hello",
    "body": "Message content",
    "attachments": ["/path/to/file.pdf"]
  }
}

4. Search Emails

{
  "name": "search-emails",
  "arguments": {
    "query": "from:sender@example.com",
    "maxResults": 5
  }
}

5. Manage Labels

{
  "name": "manage-labels",
  "arguments": {
    "action": "create",
    "name": "MyNewLabel"
  }
}

Configuration

Environment Variables

  • GMAIL_MCP_DEBUG: Enable debug logging (default: false)

  • GMAIL_MCP_TOKEN_PATH: Custom path for token storage

  • GMAIL_MCP_KEYS_PATH: Custom path for OAuth keys file

OAuth Credentials

The OAuth credentials file (gcp-oauth.keys.json) should be structured as:

{
  "installed": {
    "client_id": "your-client-id",
    "client_secret": "your-client-secret",
    "redirect_uris": ["http://localhost:3000/oauth2callback"]
  }
}

Development

Running Tests

# Run all tests
npm test

# Run with coverage
npm run test:coverage

# Run in watch mode
npm run test:watch

Building

# Build once
npm run build

# Build in watch mode
npm run dev

Error Handling

The server handles various error scenarios:

  • Authentication failures

  • Rate limiting

  • Invalid parameters

  • Network issues

  • Permission errors

Errors are returned in a standardized format with appropriate HTTP status codes.

Contributing

  1. Fork the repository

  2. Create your feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Google Gmail API

  • Model Context Protocol

  • Contributors and maintainers

Support

For support, please open an issue in the GitHub repository or contact the maintainers.

Related MCP Connectors

  • Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.

  • Email inboxes for AI agents: send, receive, reply, search, and manage threaded email over MCP.

  • Your agent needs a mailbox of its own — to receive, thread, draft and send, with attachments, without borrowing your personal inbox or your company's SMTP. **What you can ask for** • "Create an inbox for this agent and tell me its address." • "Read the new messages in this thread and draft a reply." • "Send this message with the attachment and wait for the response." • "Search this inbox for everything from that domain." • "Show delivery metrics and the events on this inbox." **How to use it** Point any MCP client at https://mcp.aisa.one/mail/mcp and sign in with OAuth — there is no key to create or paste. 49 tools: create and delete inboxes, list and read messages, raw message bodies, attachments, threads, drafts and draft attachments, send and reply, message search, inbox events, metrics, and list entries — reads and writes. **Why this rather than the source** A real inbox an agent owns, rather than an SMTP credential it borrows from a human. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find the contact elsewhere in the catalogue, then write to them from here — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/sales/mcp finds the person to write to.

  • Email inboxes and calendars for AI agents: send, receive, search, draft and schedule.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to interact with Gmail services, supporting email operations, draft management, and calendar functionality through Google API integration.
    132 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants like Claude to interact with Gmail through natural language, providing comprehensive email management capabilities including sending, reading, organizing, searching, and managing drafts and labels.
    22
    GPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to manage Gmail through natural language interactions with features like sending emails, searching, and label management.
    13,749 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables full management of Gmail accounts, including messages, threads, labels, and drafts. It leverages the Gmail API to allow searching, sending, and organizing emails via secure OAuth2 authentication.
    MIT