Google Mail MCP
Eine Model Context Protocol (MCP) -Implementierung für die Gmail- API, die eine standardisierte Schnittstelle für die Verwaltung, das Senden und den Abruf von E-Mails bietet.
Merkmale
Vollständige Gmail-API-Abdeckung, einschließlich Nachrichten, Threads, Labels, Entwürfen und Einstellungen
Unterstützung beim Senden, Verfassen und Verwalten von E-Mails
Etikettenverwaltung mit anpassbaren Farben und Sichtbarkeitseinstellungen
Thread-Operationen für die Konversationsverwaltung
Einstellungsverwaltung einschließlich Abwesenheitsnotiz, IMAP/POP und Spracheinstellungen
Verlaufsverfolgung für Postfachänderungen
Sichere OAuth2-Authentifizierung mit Google Cloud-Anmeldeinformationen
Related MCP server: Gmail MCP Server
Voraussetzungen
Um diesen MCP-Server auszuführen, müssen Sie zunächst einen Google API-Client für Ihre Organisation einrichten, wobei jeder Benutzer ein Skript ausführt, um sein eigenes OAuth-Aktualisierungstoken abzurufen.
Google API-Client-Setup (einmal pro Organisation)
Gehen Sie zur Google Cloud Console .
Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes aus.
Aktivieren Sie die Gmail-API für Ihr Projekt.
Gehen Sie zu Anmeldeinformationen und erstellen Sie eine OAuth 2.0-Client-ID. Wählen Sie als Clienttyp „Desktop-App“.
Laden Sie die OAuth-Schlüssel im JSON-Format herunter und speichern Sie sie als
~/.gmail-mcp/gcp-oauth.keys.json.(Optional) Notieren Sie sich für die Remote-Serverinstallation (z. B. mit Smithery CLI) die
CLIENT_IDundCLIENT_SECRETaus dieser Datei.
Client OAuth (einmal pro Benutzer)
Lassen Sie den Benutzer
~/.gmail-mcp/gcp-oauth.keys.jsonunter demselben Pfad auf seinen Computer kopieren.Führen Sie
npx @shinzolabs/gmail-mcp auth.Es öffnet sich ein Browserfenster, in dem der Benutzer ein Profil auswählen, die angeforderten Bereiche überprüfen und genehmigen kann.
(Optional) Notieren Sie sich bei der Remote-Server-Installation den in der Erfolgsmeldung angegebenen Dateipfad (standardmäßig
~/.gmail-mcp/credentials.json). DasREFRESH_TOKENdes Benutzers befindet sich hier.
Client-Konfiguration
Es gibt verschiedene Möglichkeiten, Ihren MCP-Client mit dem Server zu konfigurieren. Für die Einrichtung eines gehosteten/Remote-Servers verwenden Sie die Smithery-CLI mit einem Smithery-API-Schlüssel . Für die lokale Installation verwenden Sie npx oder erstellen Sie aus dem Quellcode. Jede dieser Optionen wird unten erläutert.
Smithery Remote Server (empfohlen)
Um einen Remote-Server zu Ihrer MCP-Client config.json hinzuzufügen, führen Sie den folgenden Befehl von der Smithery-Befehlszeilenschnittstelle aus:
Geben Sie Ihre CLIENT_ID , CLIENT_SECRET und REFRESH_TOKEN ein, wenn Sie dazu aufgefordert werden.
Smithery SDK
Wenn Sie Ihre eigene Agentenanwendung entwickeln, können Sie den hier enthaltenen Boilerplate-Code verwenden.
Lokale NPX-Installation
Um den Server lokal mit npx zu installieren, fügen Sie Folgendes zu Ihrer MCP-Client- config.json hinzu:
Aus der Quelle erstellen
Laden Sie das Repo herunter:
Installieren Sie Pakete und erstellen Sie sie mit
pnpm(innerhalb des geklonten Repo):
Fügen Sie Folgendes zu Ihrer MCP-Client
config.jsonhinzu:
Konfigurationsvariablen
Variable | Beschreibung | Erforderlich? | Standard |
| Port für den temporären OAuth-Authentifizierungsserver | NEIN |
|
| Google API-Client-ID (gefunden in
) | Ja, wenn eine Remote-Server-Verbindung besteht |
|
| Google API-Client-Geheimnis (gefunden in
) | Ja, wenn eine Remote-Server-Verbindung besteht |
|
| Pfad zur Datei mit den Benutzeranmeldeinformationen | NEIN |
|
| Pfad zur Google API-Clientdatei | NEIN |
|
| Verzeichnis zum Speichern von Konfigurationsdateien | NEIN |
|
| OAuth-Aktualisierungstoken (gefunden in
) | Ja, wenn eine Remote-Server-Verbindung besteht |
|
| Port für die streambare HTTP-Transportmethode | NEIN |
|
Unterstützte Endpunkte
Benutzerverwaltung
get_profile: Ruft das Gmail-Profil des aktuellen Benutzers abstop_mail_watch: Beenden Sie den Empfang von Push-Benachrichtigungenwatch_mailbox: Push-Benachrichtigungen für Postfachänderungen einrichten
Nachrichtenverwaltung
Nachrichten verwalten
list_messages: Nachrichten mit optionaler Filterung auflistenget_message: Eine bestimmte Nachricht abrufenget_attachment: Ruft einen Nachrichtenanhang abmodify_message: Nachrichtenbezeichnungen ändernsend_message: Senden Sie eine E-Mail-Nachricht an angegebene Empfängerdelete_message: Eine Nachricht dauerhaft löschentrash_message: Nachricht in den Papierkorb verschiebenuntrash_message: Nachricht aus dem Papierkorb entfernenbatch_modify_messages: Mehrere Nachrichten ändernbatch_delete_messages: Mehrere Nachrichten löschen
Etikettenverwaltung
list_labels: Listet alle Labels aufget_label: Holen Sie sich ein bestimmtes Labelcreate_label: Erstellt ein neues Labelupdate_label: Aktualisieren Sie ein Labelpatch_label: Teilaktualisierung eines Labelsdelete_label: Löscht ein Label
Thread-Verwaltung
list_threads: E-Mail-Threads auflistenget_thread: Holen Sie sich einen bestimmten Threadmodify_thread: Thread-Labels änderntrash_thread: Thread in den Papierkorb verschiebenuntrash_thread: Thread aus dem Papierkorb entfernendelete_thread: Einen Thread löschen
Entwurfsverwaltung
list_drafts: Listen Sie Entwürfe im Postfach des Benutzers aufget_draft: Holen Sie sich einen bestimmten Entwurf nach IDcreate_draft: Erstellen Sie einen E-Mail-Entwurf in Gmailupdate_draft: Ersetzen Sie den Inhalt eines Entwurfsdelete_draft: Löscht einen Entwurfsend_draft: Senden Sie einen vorhandenen Entwurf
Einstellungsverwaltung
Automatische Weiterleitung
get_auto_forwarding: Einstellungen für die automatische Weiterleitung abrufenupdate_auto_forwarding: Automatische Weiterleitungseinstellungen aktualisieren
IMAP-Einstellungen
get_imap: IMAP-Einstellungen abrufenupdate_imap: IMAP-Einstellungen aktualisieren
POP-Einstellungen
get_pop: POP-Einstellungen abrufenupdate_pop: POP-Einstellungen aktualisieren
Abwesenheitsnotiz
get_vacation: Einstellungen für die Abwesenheitsnotiz abrufenupdate_vacation: Urlaubsantwort aktualisieren
Spracheinstellungen
get_language: Spracheinstellungen abrufenupdate_language: Spracheinstellungen aktualisieren
Delegierte
list_delegates: Listet Kontodelegierte aufget_delegate: Holen Sie sich einen bestimmten Delegiertenadd_delegate: Einen Delegierten hinzufügenremove_delegate: Einen Delegierten entfernen
Filter
list_filters: E-Mail-Filter auflistenget_filter: Holen Sie sich einen bestimmten Filtercreate_filter: Einen neuen Filter erstellendelete_filter: Löscht einen Filter
Weiterleitungsadressen
list_forwarding_addresses: Weiterleitungsadressen auflistenget_forwarding_address: Holen Sie sich eine bestimmte Weiterleitungsadressecreate_forwarding_address: Eine Weiterleitungsadresse erstellendelete_forwarding_address: Löscht eine Weiterleitungsadresse
Senden-als-Einstellungen
list_send_as: Liste der Sende-Aliaseget_send_as: Holen Sie sich einen bestimmten Send-As-Aliascreate_send_as: Erstellen Sie einen Sende-Aliasupdate_send_as: Aktualisieren Sie einen Sende-Aliaspatch_send_as: Teilaktualisierung eines Send-As-Aliasverify_send_as: Bestätigungs-E-Mail sendendelete_send_as: Löscht einen Sende-Alias
S/MIME-Einstellungen
list_smime_info: Listet S/MIME-Konfigurationen aufget_smime_info: Holen Sie sich eine bestimmte S/MIME-Konfigurationinsert_smime_info: Laden Sie eine neue S/MIME-Konfiguration hochset_default_smime_info: Standard-S/MIME-Konfiguration festlegendelete_smime_info: Löscht eine S/MIME-Konfiguration
Beitragen
Beiträge sind willkommen und erwünscht! Bitte lesen Sie CONTRIBUTING.md für Richtlinien zu Problemen, Beiträgen und Kontaktinformationen.