Gmail MCP Server
Gmail MCP-Server
Ein Model Context Protocol (MCP)-Server, der schreibgeschützten Zugriff auf Gmail bietet. Ermöglicht es Claude Code, sicher in Ihrem Gmail-Posteingang zu suchen, zu lesen und zu analysieren.
Funktionen
search_emails - Suche unter Verwendung der Gmail-Abfragesyntax
list_unread - Auflisten ungelesener E-Mails
get_message - Abrufen des vollständigen Nachrichteninhalts mit Anhangs-Metadaten
get_thread - Abrufen aller Nachrichten in einem Konversations-Thread
draft_reply - Vorbereiten des Inhalts einer Antwort (wird NICHT gesendet)
Related MCP server: Gmail MCP Server
Voraussetzungen
Node.js 18+
Ein Google Cloud-Projekt mit aktivierter Gmail-API
OAuth 2.0 Desktop-App-Anmeldedaten
Google Cloud-Einrichtung
1. Google Cloud-Projekt erstellen
Gehen Sie zur Google Cloud Console
Klicken Sie auf „Projekt auswählen“ → „Neues Projekt“
Benennen Sie Ihr Projekt (z. B. „Gmail MCP Server“)
Klicken Sie auf „Erstellen“
2. Gmail-API aktivieren
Gehen Sie in Ihrem Projekt zu „APIs & Dienste“ → „Bibliothek“
Suchen Sie nach „Gmail API“
Klicken Sie darauf und drücken Sie „Aktivieren“
3. OAuth-Zustimmungsbildschirm konfigurieren
Gehen Sie zu „APIs & Dienste“ → „OAuth-Zustimmungsbildschirm“
Wählen Sie „Extern“ (oder „Intern“, falls Sie Google Workspace verwenden)
Füllen Sie die erforderlichen Felder aus:
App-Name: „Gmail MCP Server“
Support-E-Mail für Nutzer: Ihre E-Mail-Adresse
Entwickler-Kontakt: Ihre E-Mail-Adresse
Klicken Sie auf „Speichern und fortfahren“
Bereiche (Scopes) hinzufügen:
https://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.compose
Fügen Sie Ihre E-Mail-Adresse als Testnutzer hinzu (falls Extern)
Schließen Sie die Einrichtung ab
4. OAuth-Anmeldedaten erstellen
Gehen Sie zu „APIs & Dienste“ → „Anmeldedaten“
Klicken Sie auf „Anmeldedaten erstellen“ → „OAuth-Client-ID“
Wählen Sie „Desktop-App“ als Anwendungstyp
Benennen Sie sie (z. B. „Gmail MCP Desktop“)
Klicken Sie auf „Erstellen“
Laden Sie die Client-ID und das Client-Geheimnis herunter oder kopieren Sie diese
Installation
# Clone or navigate to the project
cd gmail-mcp
# Install dependencies
npm install
# Build the project
npm run buildKonfiguration
Kopieren Sie die Beispiel-Umgebungsdatei:
cp .env.example .envBearbeiten Sie
.envmit Ihren OAuth-Anmeldedaten:
CLIENT_ID=your-client-id.apps.googleusercontent.com
CLIENT_SECRET=your-client-secretErster Start (Autorisierung)
Beim ersten Start des Servers passiert Folgendes:
Ihr Browser wird für die Google-Autorisierung geöffnet
Sie werden aufgefordert, sich anzumelden und Berechtigungen zu erteilen
Die Token werden lokal in
token.jsongespeichert
Bei nachfolgenden Starts werden die gespeicherten Token automatisch wiederverwendet.
Verwendung mit Claude Code
Den MCP-Server hinzufügen
claude mcp add gmail node ./dist/index.jsOder fügen Sie ihn manuell zu Ihrer Claude Code-Konfiguration hinzu:
{
"mcpServers": {
"gmail": {
"command": "node",
"args": ["./dist/index.js"],
"cwd": "/path/to/gmail-mcp"
}
}
}Verfügbare Tools
search_emails
Suchen Sie E-Mails mithilfe der Gmail-Abfragesyntax.
Query examples:
- "from:user@example.com"
- "subject:meeting"
- "is:unread"
- "after:2024/01/01 before:2024/12/31"
- "has:attachment filename:pdf"
- "in:inbox -category:promotions"list_unread
Auflisten ungelesener E-Mails (Verknüpfung für die Suche is:unread).
get_message
Abrufen des vollständigen Inhalts einer bestimmten E-Mail anhand der Nachrichten-ID.
get_thread
Abrufen aller Nachrichten in einem Konversations-Thread anhand der Thread-ID.
draft_reply
Vorbereiten eines Antwortentwurfs für einen Thread. Bietet Kontext zum Verfassen einer Antwort, sendet jedoch KEINE E-Mail.
Entwicklung
# Run in development mode (with hot reload)
npm run dev
# Type check
npm run typecheck
# Build for production
npm run build
# Run production build
npm startSicherheitshinweise
OAuth-Token werden lokal in
token.jsongespeichertCommitten Sie niemals
.envodertoken.jsonin die VersionsverwaltungDer Server fordert nur Lese- und Schreibberechtigungen an
Es werden keine E-Mails versendet -
draft_replybereitet nur den Inhalt vorE-Mail-Inhalte werden nicht protokolliert
Fehlerbehebung
„Missing CLIENT_ID or CLIENT_SECRET“
Stellen Sie sicher, dass Ihre .env-Datei existiert und gültige Anmeldedaten enthält.
„Authorization timeout“
Der OAuth-Vorgang hat ein Zeitlimit von 5 Minuten. Starten Sie den Server neu und schließen Sie die Autorisierung zeitnah ab.
„Token refresh failed“
Löschen Sie token.json und autorisieren Sie sich erneut.
„Access blocked: This app's request is invalid“
Stellen Sie sicher, dass Ihr OAuth-Zustimmungsbildschirm ordnungsgemäß konfiguriert ist und Ihre E-Mail-Adresse als Testnutzer hinzugefügt wurde.
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…
Read email/chat conversations, messages, contacts and teams; draft, send and update threads.
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
Never-stored live email: read, send, organize, schedule and auto-triage Gmail or any IMAP mailbox.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA read-only MCP server that enables users to interact with the Gmail API to search messages, retrieve threads, and download attachments. It supports standard Gmail query operators and requires OAuth authentication for secure read-only access to mailbox data.1MIT
- AlicenseNot gradedqualityCmaintenanceProvides secure, read-only access to Gmail for Claude CLI with label-based filtering for enhanced privacy and control. It enables users to search, list, and summarize email content while ensuring no modification or deletion of messages is possible.134 npm1MIT
- AlicenseNot gradedqualityDmaintenanceRead-only MCP server for Gmail that enables searching threads, reading messages, and listing labels without any write access.134 npmMIT
- AlicenseAqualityAmaintenanceEnables read-only, provider-agnostic email access over IMAP, allowing users to list folders, search and read messages, and download attachments without ever marking messages as read.6MIT