Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Google Workspace MCP

Konfigurieren Sie die Remote-Workspace-MCP-Server von Google für Gmail, Drive, Calendar, People und Chat in LibreChat.

Google stellt Remote-Model Context Protocol (MCP)-Server für Google Workspace-Produkte bereit. In LibreChat wird jedes Google Workspace-Produkt als eigener OAuth-fähiger Remote-MCP-Server konfiguriert.

Entwicklervorschau

Google kennzeichnet die Workspace MCP-Server als Teil des Google Workspace Developer Preview Program. Überprüfen Sie die aktuelle Dokumentation von Google, bevor Sie dies in großem Umfang bereitstellen, da sich verfügbare Produkte, Scopes und Verifizierungsanforderungen ändern können.

Was Sie konfigurieren werden

Google Workspace MCP ist kein kombinierter Server. Konfigurieren Sie nur die Produkte, die Sie den Benutzern zur Verfügung stellen möchten:

ProduktMCP server URL
Gmailhttps://gmailmcp.googleapis.com/mcp/v1
Google Drivehttps://drivemcp.googleapis.com/mcp/v1
Google Calendarhttps://calendarmcp.googleapis.com/mcp/v1
People APIhttps://people.googleapis.com/mcp/v1
Google Chathttps://chatmcp.googleapis.com/mcp/v1

Jeder Benutzer verbindet jeden Server über die LibreChat UI. LibreChat speichert OAuth-Token pro Benutzer, sodass der Zugriff auf Gmail, Drive, Calendar, People und Chat dem Google-Konto folgt, das die Verbindung autorisiert hat.

Voraussetzungen

  • Ein Google Cloud-Projekt.
  • Berechtigung zum Aktivieren von APIs und zum Erstellen von OAuth-Clients in diesem Projekt.
  • gcloud installiert und authentifiziert, oder Zugriff auf die Google Cloud Konsole.
  • Eine laufende LibreChat-Instanz, bei der librechat.yaml eingebunden oder anderweitig geladen ist.
  • Die öffentliche Basis-URL, die Benutzer verwenden, um LibreChat zu öffnen, zum Beispiel http://localhost:3080 für die lokale Entwicklung oder https://chat.example.com für die Produktion.

OAuth-Callback-Pfad

Der MCP OAuth-Callback-Pfad von LibreChat lautet BASE_URL/api/mcp/SERVER_NAME/oauth/callback. SERVER_NAME ist der Schlüssel unter mcpServers in der librechat.yaml, wie zum Beispiel gmail oder drive.

Einrichtung

Google Workspace APIs aktivieren

Ersetzen Sie PROJECT_ID durch Ihre Google Cloud-Projekt-ID:

gcloud services enable gmail.googleapis.com \
  drive.googleapis.com \
  calendar-json.googleapis.com \
  chat.googleapis.com \
  people.googleapis.com \
  --project=PROJECT_ID

Google Workspace MCP-Dienste aktivieren

Aktivieren Sie die MCP-Dienste für die Produkte, die Sie konfigurieren möchten:

gcloud services enable gmailmcp.googleapis.com \
  drivemcp.googleapis.com \
  calendarmcp.googleapis.com \
  chatmcp.googleapis.com \
  people.googleapis.com \
  --project=PROJECT_ID

Google Chat konfigurieren, falls erforderlich

Der Google Chat MCP Server erfordert eine Chat-App im selben Google Cloud-Projekt.

Öffnen Sie in der Google Cloud Console Google Chat API > Manage > Configuration und erstellen Sie eine Chat-App:

  • App-Name: Chat MCP
  • Avatar-URL: https://developers.google.com/chat/images/quickstart-app-avatar.png
  • Beschreibung: Chat MCP server
  • Funktionalität: Enable interactive features deaktivieren
  • Logs: wählen Sie Log errors to Logging

Klicken Sie auf Save.

Workspace-Konto für Chat erforderlich

Die Konfiguration der Google Chat App ist für private Google-Konten möglicherweise nicht verfügbar. Wenn die Konsole anzeigt, dass die Google Chat API nur für Google Workspace-Benutzer verfügbar ist, lassen Sie den chat MCP-Server weg oder verwenden Sie ein Projekt bzw. Konto, das auf Workspace basiert.

Konfigurieren der Google Auth-Plattform

Gehen Sie in der Google Cloud Console zu Google Auth Platform.

Falls die Google Auth Platform noch nicht konfiguriert ist, klicken Sie auf Get Started und geben Sie Folgendes an:

  • App-Name: Verwenden Sie einen klaren Namen, wie z. B. LibreChat Google Workspace MCP.
  • E-Mail-Adresse für den Benutzersupport: Ihre Support-E-Mail-Adresse oder Google-Gruppe.
  • Zielgruppe: Wählen Sie Internal für eine Google Workspace-Organisation oder External, wenn sich die Benutzer außerhalb Ihrer Organisation befinden oder Sie ein persönliches Google-Konto verwenden.
  • Kontaktinformationen für Entwickler: eine E-Mail-Adresse, unter der Google Sie bezüglich des Projekts benachrichtigen kann.

Wenn Sie External wählen und die App im Testmodus belassen, fügen Sie sich selbst und alle anderen zugelassenen Benutzer unter Audience > Test users hinzu.

Datenzugriffsbereiche hinzufügen

Öffnen Sie Data Access > Add or Remove Scopes. Fügen Sie unter Manually add scopes die Scopes für die Server ein, die Sie verwenden möchten.

https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.compose
https://www.googleapis.com/auth/drive.readonly
https://www.googleapis.com/auth/drive.file
https://www.googleapis.com/auth/calendar.calendarlist.readonly
https://www.googleapis.com/auth/calendar.events.freebusy
https://www.googleapis.com/auth/calendar.events.readonly
https://www.googleapis.com/auth/directory.readonly
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/contacts.readonly
https://www.googleapis.com/auth/chat.spaces.readonly
https://www.googleapis.com/auth/chat.memberships.readonly
https://www.googleapis.com/auth/chat.messages.readonly
https://www.googleapis.com/auth/chat.messages.create
https://www.googleapis.com/auth/chat.users.readstate.readonly

Klicken Sie auf Add to Table, Update und dann auf Save.

Sensible und eingeschränkte Scopes

Gmail-, Drive-, Chat-, Contacts- und Directory-Scopes können eine Überprüfung sensibler oder eingeschränkter Scopes durch Google auslösen. Bei persönlicher oder begrenzter Entwicklung können Benutzer eine Warnung für nicht verifizierte Apps sowie ein Limit von 100 Benutzern sehen. Für die öffentliche oder organisationsweite Nutzung schließen Sie den OAuth-Verifizierungsprozess von Google sowie alle erforderlichen Überprüfungen eingeschränkter Scopes ab.

Erstellen eines Webanwendungs-OAuth-Clients

Erstellen Sie unter Google Auth Platform > Clients einen OAuth-Client:

  • Anwendungstyp: Web application
  • Name: Verwenden Sie einen beschreibenden Namen, wie z. B. LibreChat Google Workspace MCP

Fügen Sie für jeden Server, den Sie konfigurieren, einen autorisierten Redirect-URI hinzu. Für die lokale Entwicklung:

http://localhost:3080/api/mcp/gmail/oauth/callback
http://localhost:3080/api/mcp/drive/oauth/callback
http://localhost:3080/api/mcp/calendar/oauth/callback
http://localhost:3080/api/mcp/people/oauth/callback
http://localhost:3080/api/mcp/chat/oauth/callback

Ersetzen Sie für die Produktion http://localhost:3080 durch Ihre LibreChat-URL:

https://chat.example.com/api/mcp/gmail/oauth/callback

Klicken Sie auf Create, kopieren Sie dann die Client ID und das Client secret.

OAuth-Anmeldedaten zu .env hinzufügen

Fügen Sie die OAuth-Client-Werte zu Ihrer LibreChat .env Datei hinzu:

GOOGLE_WORKSPACE_MCP_CLIENT_ID=your-oauth-client-id
GOOGLE_WORKSPACE_MCP_CLIENT_SECRET=your-oauth-client-secret

Sie können andere Umgebungsvariablennamen verwenden, wenn Sie auch die Referenzen in der librechat.yaml aktualisieren.

Hinzufügen der MCP-Server zu librechat.yaml

Fügen Sie die gewünschten Server unter mcpServers hinzu. Dieses Beispiel verwendet alle aktuell dokumentierten Google Workspace MCP-Server:

mcpServers:
  gmail:
    type: streamable-http
    url: 'https://gmailmcp.googleapis.com/mcp/v1'
    timeout: 60000
    initTimeout: 150000
    requiresOAuth: true
    startup: false
    oauth:
      authorization_url: 'https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent'
      token_url: 'https://oauth2.googleapis.com/token'
      client_id: '${GOOGLE_WORKSPACE_MCP_CLIENT_ID}'
      client_secret: '${GOOGLE_WORKSPACE_MCP_CLIENT_SECRET}'
      scope: 'https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/gmail.compose'
      redirect_uri: 'http://localhost:3080/api/mcp/gmail/oauth/callback'
      token_exchange_method: default_post
      token_endpoint_auth_methods_supported: ['client_secret_post']
 
  drive:
    type: streamable-http
    url: 'https://drivemcp.googleapis.com/mcp/v1'
    timeout: 60000
    initTimeout: 150000
    requiresOAuth: true
    startup: false
    oauth:
      authorization_url: 'https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent'
      token_url: 'https://oauth2.googleapis.com/token'
      client_id: '${GOOGLE_WORKSPACE_MCP_CLIENT_ID}'
      client_secret: '${GOOGLE_WORKSPACE_MCP_CLIENT_SECRET}'
      scope: 'https://www.googleapis.com/auth/drive.readonly https://www.googleapis.com/auth/drive.file'
      redirect_uri: 'http://localhost:3080/api/mcp/drive/oauth/callback'
      token_exchange_method: default_post
      token_endpoint_auth_methods_supported: ['client_secret_post']
 
  calendar:
    type: streamable-http
    url: 'https://calendarmcp.googleapis.com/mcp/v1'
    timeout: 60000
    initTimeout: 150000
    requiresOAuth: true
    startup: false
    oauth:
      authorization_url: 'https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent'
      token_url: 'https://oauth2.googleapis.com/token'
      client_id: '${GOOGLE_WORKSPACE_MCP_CLIENT_ID}'
      client_secret: '${GOOGLE_WORKSPACE_MCP_CLIENT_SECRET}'
      scope: 'https://www.googleapis.com/auth/calendar.calendarlist.readonly https://www.googleapis.com/auth/calendar.events.freebusy https://www.googleapis.com/auth/calendar.events.readonly'
      redirect_uri: 'http://localhost:3080/api/mcp/calendar/oauth/callback'
      token_exchange_method: default_post
      token_endpoint_auth_methods_supported: ['client_secret_post']
 
  people:
    type: streamable-http
    url: 'https://people.googleapis.com/mcp/v1'
    timeout: 60000
    initTimeout: 150000
    requiresOAuth: true
    startup: false
    oauth:
      authorization_url: 'https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent'
      token_url: 'https://oauth2.googleapis.com/token'
      client_id: '${GOOGLE_WORKSPACE_MCP_CLIENT_ID}'
      client_secret: '${GOOGLE_WORKSPACE_MCP_CLIENT_SECRET}'
      scope: 'https://www.googleapis.com/auth/directory.readonly https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/contacts.readonly'
      redirect_uri: 'http://localhost:3080/api/mcp/people/oauth/callback'
      token_exchange_method: default_post
      token_endpoint_auth_methods_supported: ['client_secret_post']
 
  chat:
    type: streamable-http
    url: 'https://chatmcp.googleapis.com/mcp/v1'
    timeout: 60000
    initTimeout: 150000
    requiresOAuth: true
    startup: false
    oauth:
      authorization_url: 'https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent'
      token_url: 'https://oauth2.googleapis.com/token'
      client_id: '${GOOGLE_WORKSPACE_MCP_CLIENT_ID}'
      client_secret: '${GOOGLE_WORKSPACE_MCP_CLIENT_SECRET}'
      scope: 'https://www.googleapis.com/auth/chat.spaces.readonly https://www.googleapis.com/auth/chat.memberships.readonly https://www.googleapis.com/auth/chat.messages.readonly https://www.googleapis.com/auth/chat.messages.create https://www.googleapis.com/auth/chat.users.readstate.readonly'
      redirect_uri: 'http://localhost:3080/api/mcp/chat/oauth/callback'
      token_exchange_method: default_post
      token_endpoint_auth_methods_supported: ['client_secret_post']

Wenn LibreChat unter einer öffentlichen URL bereitgestellt wird, aktualisieren Sie jeden redirect_uri, damit er exakt mit dem in Google Cloud registrierten Redirect-URI übereinstimmt.

Strenge MCP-Domain-Allowlists

Wenn Ihre librechat.yaml auch mcpSettings.allowedDomains konfiguriert, fügen Sie die von Ihnen verwendeten Google MCP-Hosts hinzu, wie zum Beispiel gmailmcp.googleapis.com, drivemcp.googleapis.com, calendarmcp.googleapis.com, chatmcp.googleapis.com und people.googleapis.com.

LibreChat neu starten

Starten Sie LibreChat neu, damit .env und librechat.yaml neu geladen werden.

BereitstellungBefehl
Dockerdocker compose up -d
LokalStoppen Sie den Server und starten Sie ihn dann erneut

Um zu bestätigen, dass die Server in Docker geladen wurden, überprüfen Sie die API-Logs:

docker logs LibreChat --tail 200 | grep MCP

Verbinden Sie jeden Server in LibreChat

Öffnen Sie LibreChat und dann MCP Settings oder das Dropdown-Menü MCP Servers in der Chateingabe.

Für jeden Google Workspace-Server:

  1. Klicken Sie auf Connect.
  2. Schließen Sie den Google OAuth-Vorgang im Browser ab.
  3. Überprüfen Sie die angeforderten Scopes.
  4. Klicken Sie auf Allow.

Nachdem OAuth erfolgreich war, stehen die Tools des Servers im Chat und im Agent Builder zur Verfügung.

Testen

Versuchen Sie Prompts, die jeweils nur einen Server ansprechen:

ServerPrompt
People„Wie lautet mein Name laut meinem Google-Profil?“
Drive„Finde eine Datei namens Marketing Plan und fasse sie zusammen.“
Gmail„Finde meine letzte E-Mail zum Marketingplan.“
Gmail„Entwirf eine E-Mail an [email protected], in der ich den Marketingplan genehmige.“
Calendar„Wann ist mein nächstes Meeting mit Ariel?“
Chat„Durchsuche aktuelle Google Chat-Nachrichten zum Marketingplan.“

Fehlerbehebung

SymptomWas zu prüfen ist
Google meldet redirect_uri_mismatchDie Google OAuth-Client-Redirect-URI muss exakt mit der redirect_uri in librechat.yaml übereinstimmen, einschließlich Protokoll, Hostname, Port, Servername und Pfad.
LibreChat zeigt den Server, aber keine ToolsVerbinden Sie den Server über die LibreChat-Benutzeroberfläche. OAuth-fähige Remote-Server stellen Tools erst bereit, nachdem sich der Benutzer authentifiziert hat.
Google zeigt eine Warnung für nicht verifizierte AppsDies ist bei nicht verifizierten Apps, die sensible oder eingeschränkte Scopes anfordern, zu erwarten. Für den persönlichen oder begrenzten Entwicklungsgebrauch können Benutzer die Warnung ignorieren, bis das Projekt das Limit für nicht verifizierte Benutzer bei Google erreicht.
OAuth funktioniert beim Testen, läuft aber später abExterne Apps im Testmodus können Refresh-Token erhalten, die nach 7 Tagen ablaufen. Veröffentlichen Sie die App für die Produktion, um langlebigere Refresh-Token zu erhalten, oder authentifizieren Sie sich während der Entwicklung erneut.
Google Chat-Konfiguration ist deaktiviertVerwenden Sie ein Google Workspace-basiertes Projekt/Konto für Chat oder lassen Sie den chat-Server weg.
MCP-Anfragen werden durch die LibreChat-Domain-Richtlinie blockiertWenn mcpSettings.allowedDomains konfiguriert ist, fügen Sie die von Ihnen verwendeten Hostnamen der Google MCP-Server hinzu.

Sicherheitshinweise

  • Verbinden Sie Google Workspace MCP-Server nur mit LibreChat-Instanzen, denen Sie vertrauen.
  • Fordern Sie nur die Produkte und Scopes an, die Benutzer tatsächlich benötigen.
  • Überprüfen Sie die von der KI vorgeschlagenen Aktionen, bevor Sie E-Mails senden, Chat-Nachrichten posten, Dateien hochladen oder Kalenderereignisse ändern.
  • Behandeln Sie E-Mail-Nachrichten, Dokumente und Chat-Nachrichten als nicht vertrauenswürdige Eingaben. Sie können indirekte Prompt-Injection-Versuche enthalten, die versuchen, den Assistenten zu beeinflussen.
  • Für öffentliche oder unternehmensweite Bereitstellungen schließen Sie die Google OAuth-Verifizierung ab und befolgen Sie die Zugriffskontrollen für Drittanbieter-Apps Ihrer Organisation.

Wie finden Sie diese Anleitung?