Gmail MCP Server

by Samarth2001
MIT License
  • Apple
  • Linux

Integrations

  • Enables complete email management through Gmail, including sending emails with attachments, reading and searching emails, managing labels and organization, handling drafts, and performing batch operations on multiple emails.

  • Integrates with Google Cloud for authentication and API access, allowing the MCP server to securely connect to Gmail services through OAuth 2.0 credentials.

Gmail MCP-Server

Ein leistungsstarker Model Context Protocol (MCP)-Server, der Claude AI die direkte Interaktion mit Gmail ermöglicht.

📖 Inhaltsverzeichnis

📋 Übersicht

Der Gmail MCP Server ist eine umfassende Implementierung, die es KI-Assistenten wie Claude ermöglicht, direkt über natürliche Sprache mit Gmail zu interagieren. Er bietet umfangreiche Tools für das E-Mail-Management und ermöglicht eine nahtlose Integration zwischen Konversations-KI und Ihrem Posteingang.

💡 Hauptfunktionen

  • Umfassende E-Mail-Verwaltung
    • Senden Sie reine Text- und HTML-E-Mails mit Anhängen
    • Lesen Sie E-Mails mit der richtigen Analyse komplexer Nachrichtenstrukturen
    • Durchsuchen Sie Ihren Posteingang mit der leistungsstarken Abfragesyntax von Gmail
    • Erstellen und Aktualisieren von E-Mail-Entwürfen
    • Verwalten Sie Beschriftungen, den Status „Gelesen/Ungelesen“ und den Papierkorb
    • Führen Sie Stapelverarbeitungen für mehrere E-Mails durch
  • Erweiterte Integration
    • Moderne Python-Codebasis mit Async/Await-Muster
    • Umfassende Fehlerbehandlung und -behebung
    • Detaillierte Fortschrittsberichte
    • Sicherer OAuth-Authentifizierungsablauf
    • Mehrere Transportmodi (STDIO und SSE)
    • Unterstützung für verschiedene Bereitstellungsszenarien

🚀 Schnellstart

Voraussetzungen

  • Python 3.8 oder höher
  • Ein Google Cloud-Projekt mit aktivierter Gmail-API
  • OAuth 2.0-Anmeldeinformationen für die Gmail-API

Installation

  1. Klonen Sie das Repository
    git clone https://github.com/yourusername/gmail-mcp-server.git cd gmail-mcp-server
  2. Einrichten einer virtuellen Umgebung
    python -m venv venv # On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activate
  3. Installieren von Abhängigkeiten
    pip install -r requirements.txt
  4. Einrichten von Google Cloud- und OAuth-AnmeldeinformationenBesuchen Sie die Google Cloud Console , um:
    • Erstellen eines neuen Projekts
    • Aktivieren Sie die Gmail-API
    • OAuth-Zustimmungsbildschirm einrichten
    • OAuth-Client-ID-Anmeldeinformationen erstellen (Desktopanwendung)
    • Laden Sie die Anmeldeinformationen als credentials.json im Projektstammverzeichnis herunter

Erster Lauf und Authentifizierung

Führen Sie den Server einmal aus, um sich zu authentifizieren:

python gmail_server.py

Es öffnet sich ein Browserfenster, in dem Sie aufgefordert werden, sich mit Ihrem Google-Konto zu authentifizieren. Nach der Authentifizierung wird eine token.json Datei erstellt und für die zukünftige Verwendung gespeichert.

Claude Desktop konfigurieren

  1. Bearbeiten Sie Ihre Claude Desktop-Konfigurationsdatei:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Fügen Sie den Gmail MCP-Server zur Konfiguration hinzu:
    { "mcpServers": { "gmail": { "command": "python", "args": [ "/absolute/path/to/gmail-mcp-server/gmail_server.py" ] } } }
  3. Speichern Sie die Datei und starten Sie Claude Desktop neu

Hinweis: Ersetzen Sie "/absolute/path/to/gmail-mcp-server/gmail_server.py" durch den tatsächlichen absoluten Pfad zur Datei gmail_server.py in Ihrem geklonten Repository.

🧰 Verfügbare Tools

Der Gmail MCP-Server stellt Claude die folgenden Tools zur Verfügung:

E-Mail-Versand

  • send_email - Senden Sie einfache E-Mails mit Text-/HTML-Inhalt
  • send_email_with_attachment - E-Mails mit Dateianhängen senden
  • send_email_with_multiple_attachments – Senden Sie E-Mails mit mehreren Anhängen

E-Mail lesen

  • read_email - Liest den Inhalt einer bestimmten E-Mail nach ID
  • get_unread_emails - Eine Liste ungelesener E-Mails abrufen
  • get_important_emails – Erhalten Sie als wichtig markierte E-Mails
  • get_emails_with_attachments - E-Mails mit Anhängen abrufen
  • get_recent_emails - E-Mails der letzten X Tage abrufen

E-Mail-Suche und -Organisation

  • search_emails – E-Mails mit der Abfragesyntax von Gmail durchsuchen
  • get_email_labels – Listet alle Gmail-Labels/Ordner auf
  • create_email_label – Erstelle ein neues Label
  • delete_email_label – Löscht ein vorhandenes Label
  • label_email – Wenden Sie ein Label auf eine E-Mail an
  • remove_email_label – Entfernt ein Label aus einer E-Mail

E-Mail-Statusverwaltung

  • mark_as_read – Markieren Sie eine E-Mail als gelesen
  • mark_as_unread – Markieren Sie eine E-Mail als ungelesen
  • delete_email - Eine E-Mail in den Papierkorb verschieben

Entwurfsverwaltung

  • create_email_draft – Einen neuen E-Mail-Entwurf erstellen
  • update_email_draft – Einen vorhandenen Entwurf aktualisieren
  • list_email_drafts – Liste verfügbarer Entwürfe
  • send_draft - Einen vorhandenen Entwurf senden

Batch-Operationen

  • batch_apply_label - Wenden Sie ein Label auf mehrere E-Mails an
  • batch_delete_emails - Mehrere E-Mails in den Papierkorb verschieben

Kontoinformationen

  • get_email_profile – Gmail-Profilinformationen abrufen
  • summarize_recent_emails - Erstellen Sie eine Zusammenfassung der letzten E-Mails

💬 Anwendungsbeispiele

Hier sind einige Beispielaufforderungen für Claude:

Send an email to john@example.com with the subject "Project Update" and let them know we're still on track for the deadline next week.
Search my inbox for any emails from Bank of America in the last month and summarize them for me.
Find all unread emails from my boss and create a summary of any action items mentioned in them.
Draft an email to the team about the upcoming meeting on Thursday at 2pm. Remind everyone to prepare their weekly updates.

🔧 Erweiterte Konfiguration

Umgebungsvariablen

Der Server unterstützt mehrere Umgebungsvariablen zur Anpassung:

VariableBeschreibung
GMAIL_TOKEN_PATHBenutzerdefinierter Pfad zum Speichern des OAuth-Tokens
GMAIL_CREDENTIALS_PATHBenutzerdefinierter Pfad zu OAuth-Anmeldeinformationen
GOOGLE_CLIENT_IDOAuth-Client-ID (Alternative zur Anmeldeinformationsdatei)
GOOGLE_CLIENT_SECRETOAuth-Client-Geheimnis (Alternative zur Anmeldeinformationsdatei)
MCP_PORTPort für SSE-Transport (Standard: 3000)
DEBUGDebug-Modus aktivieren ( true oder false )

SSE-Servermodus

Der Server kann im SSE-Modus (Server-Sent Events) für die HTTP-basierte Integration ausgeführt werden:

python gmail_server.py --sse [port]

Dadurch wird der Server auf dem angegebenen Port (Standard: 3000) gestartet und ist über HTTP erreichbar.

📚 Dokumentation

🔒 Sicherheitsüberlegungen

  • Der Server verwendet OAuth 2.0 für die sichere Gmail-API-Authentifizierung
  • Alle Aktionen werden lokal auf Ihrem Computer ausgeführt – E-Mails werden niemals über Server von Drittanbietern geleitet
  • Authentifizierungstoken werden lokal gespeichert und können jederzeit widerrufen werden
  • Der Server benötigt lokalen Dateizugriff nur zum Lesen von Anhängen
  • Claude bittet immer um Bestätigung, bevor er E-Mails sendet oder löscht

🤝 Beitragen

Beiträge sind willkommen! Senden Sie gerne einen Pull Request.

  1. Forken Sie das Repository
  2. Erstellen Sie Ihren Feature-Zweig ( git checkout -b feature/amazing-feature )
  3. Übernehmen Sie Ihre Änderungen ( git commit -m 'Add some amazing feature' )
  4. Pushen zum Zweig ( git push origin feature/amazing-feature )
  5. Öffnen einer Pull-Anfrage

📝 Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .

🙏 Danksagungen

  • Google für die Gmail-API
  • Anthropisch für Claude und das Modellkontextprotokoll
  • Mitwirkende an den Python Gmail API-Clientbibliotheken

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    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.
    Last updated -
    TypeScript
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that provides a seamless email management interface through Claude, allowing users to search, read, and send emails directly through natural language conversations.
    Last updated -
    40
    Python
    MIT License
    • Apple
  • -
    security
    A
    license
    -
    quality
    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.
    Last updated -
    Python
    GPL 3.0
    • Apple
  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that enables AI assistants to access and manage email through IMAP, supporting browsing, searching, reading, and organizing emails while learning user preferences over time.
    Last updated -
    2
    Python
    • Linux
    • Apple

View all related MCP servers

ID: sc123prv7q