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

MCP

Erfahren Sie, wie LibreChat das Model Context Protocol (MCP) nutzt, um eine nahtlose Integration mit externen Tools, Datenquellen und spezialisierten Diensten zu ermöglichen.

Das Model Context Protocol (MCP) ist ein offenes Protokoll, das standardisiert, wie Anwendungen Large Language Models (LLMs) Kontext bereitstellen. Betrachten Sie MCP als den "USB-C der KI" – so wie USB-C einen universellen Verbindungsstandard für elektronische Geräte bietet, stellt MCP eine standardisierte Möglichkeit dar, KI-Modelle mit verschiedenen Tools, Datenquellen und Diensten zu verbinden.

LibreChat nutzt MCP, um die Fähigkeiten Ihrer KI-Agenten drastisch zu erweitern. Dies ermöglicht Ihnen die Integration von allem, von Dateisystemzugriffen, Webbrowsern und spezialisierten APIs bis hin zu benutzerdefinierten Geschäftstools.

Warum MCP wichtig ist

LLMs sind auf ihre eingebauten Fähigkeiten beschränkt. Mit MCP bricht LibreChat diese Mauern auf, indem es:

  • Verbindung zu jedem Tool oder Dienst, der einen MCP-Server bereitstellt
  • Standardisierung von Integrationen, damit Sie den Code von LibreChat nicht für jedes Tool bearbeiten müssen
  • Unterstützung von Multi-User-Umgebungen mit ordnungsgemäßer Authentifizierung und Isolierung
  • Bereitstellung eines wachsenden Ökosystems an dynamischen, sofort einsatzbereiten Integrationen

Wie MCP in LibreChat funktioniert

LibreChat bietet zwei Möglichkeiten, MCP-Server zu verwenden: entweder im Chat-Bereich oder mit Agents.

Sie können MCP-Server manuell in Ihrer librechat.yaml Datei konfigurieren oder smithery.ai verwenden, um MCP-Server zu finden und in librechat.yaml zu installieren (siehe Beispiel unten). Jedes Mal, wenn Sie einen MCP-Server hinzufügen oder bearbeiten, müssen Sie LibreChat neu starten, um die Verbindungen zu initialisieren.

OAuth Callback URL

Für OAuth-aktivierte MCP-Server lautet die LibreChat-Callback-URL:

${DOMAIN_SERVER}/api/mcp/<server-name>/oauth/callback

<server-name> ist der Schlüssel, der unter mcpServers in librechat.yaml verwendet wird, oder der Name des Servers, der in der MCP-Einstellungsoberfläche erstellt wurde. Zum Beispiel verwendet ein Server namens salesforce mit DOMAIN_SERVER=https://chat.example.com die Adresse https://chat.example.com/api/mcp/salesforce/oauth/callback.

Registrieren Sie diese exakte Callback-URL beim OAuth-Anbieter. Lokale Docker-Installationen verwenden normalerweise http://localhost:3080 als Basis-URL.

Im Chat-Bereich

MCP-Tools im Chat-Bereich

LibreChat zeigt konfigurierte MCP-Server direkt im Chat-Bereich an, wenn traditionelle endpoints (OpenAI, Anthropic, Google, Bedrock, etc.) verwendet werden:

  • Wählen Sie zuerst einen beliebigen Nicht-Agent-endpoint und ein tool-kompatibles Modell aus
  • MCP-Server erscheinen in einem Dropdown-Menü in der Chat-Oberfläche unterhalb Ihrer Texteingabe
  • Wenn ausgewählt, werden alle Tools von diesem Server für Ihr aktuelles Modell verfügbar.
  • Schneller Zugriff auf MCP-Tools, ohne einen Agenten erstellen zu müssen, wodurch mehrere Server gleichzeitig verwendet werden können

Um zu verhindern, dass MCP-Server im Chat-Dropdown erscheinen (und sie ausschließlich für Agents verfügbar zu halten), setzen Sie chatMenu: false in Ihrer Konfiguration:

mcpServers:
  internal-tools:
    command: npx
    args: ['-y', 'internal-mcp-server']
    chatMenu: false # Only available in agent builder

Mit Agents

MCP-Server lassen sich nahtlos in LibreChat-Agents integrieren:

  1. Einen Agenten erstellen oder bearbeiten
  2. Klicken Sie auf "Add MCP Server Tools", um den Tools-Dialog über das Agent Builder-Panel zu öffnen.
  3. Wählen Sie MCP-Server aus, sobald sie hinzugefügt wurden; jeder erscheint als einzelner Eintrag
  4. Optimieren Sie die Fähigkeiten Ihres Agenten, indem Sie einzelne Tools nach dem Hinzufügen aktivieren oder deaktivieren.
  5. Speichere deinen Agenten

MCP-Tools im Agent Builder

Diese übergeordnete Organisation hält die Benutzeroberfläche übersichtlich – selbst Server mit über 20 Tools (wie Spotify) erscheinen als einzelne Einträge, die für eine detaillierte Steuerung erweitert werden können.

Grundlegende Konfiguration

Fügen Sie MCP-Server manuell zu Ihrer librechat.yaml Datei hinzu:

mcpServers:
  # ClickHouse Cloud
  clickhouse-cloud:
    type: streamable-http
    url: https://mcp.clickhouse.cloud/mcp
 
  # File system access
  filesystem:
    command: npx
    args:
      - -y
      - '@modelcontextprotocol/server-filesystem'
      - /path/to/your/documents
 
  # Web browser automation
  puppeteer:
    command: npx
    args:
      - -y
      - '@modelcontextprotocol/server-puppeteer'
 
  # Production-ready cloud service
  business-api:
    type: streamable-http
    url: https://api.yourbusiness.com/mcp
    headers:
      X-User-ID: '{{LIBRECHAT_USER_ID}}'
      Authorization: 'Bearer ${API_TOKEN}'
    timeout: 30000
    serverInstructions: true

Hinzufügen von MCP-Servern in der UI

Sie können MCP-Server auch direkt über die LibreChat-Benutzeroberfläche hinzufügen und konfigurieren, ohne Konfigurationsdateien bearbeiten oder den Server neu starten zu müssen.

Schritt 1: Öffnen Sie das MCP-Einstellungsfenster

Navigieren Sie über die rechte Seitenleiste zum Bereich MCP Settings. Hier sehen Sie alle vorhandenen MCP-Server aufgelistet, zusammen mit einer +-Schaltfläche, um neue hinzuzufügen.

MCP-Einstellungsbereich

Schritt 2: Serverdetails ausfüllen

Drücken Sie die +-Taste und geben Sie Ihren MCP-Servernamen, die Beschreibung, die URL, den Transporttyp und die Authentifizierungsmethode ein, und klicken Sie dann auf Create.

Dialog zum Hinzufügen eines MCP-Servers

Ihr neuer Server wird im MCP Settings-Bereich mit einer Bestätigungsmeldung angezeigt.

MCP Server erfolgreich erstellt

Schritt 3: Verbindungsstatus prüfen und authentifizieren

Überprüfen Sie die Verbindungsstatusanzeige für Ihren neuen Server. Wenn der Server eine OAuth-Authentifizierung erfordert, wird der Status als getrennt angezeigt. Klicken Sie auf die Schaltfläche „Authentifizieren/Verbinden“ des Servers (Sie können dies tun, indem Sie entweder im Chat-Dropdown-Menü auf den MCP Server selbst klicken oder zuerst auf das Verbindungssymbol klicken, um zu einem Dialog mit weiteren Informationen zum Verbindungsstatus zu gelangen), um den Authentifizierungsprozess zu starten.

Verbindungsstatus - Getrennt

Sobald der Vorgang gestartet wurde, aktualisiert sich die Statusanzeige, um anzuzeigen, dass die Authentifizierung läuft.

Verbindungsstatus - Authentifizierung

Schritt 4: Im OAuth-Tab fortfahren

Ein neuer Browser-Tab wird für den OAuth-Anbieter geöffnet. Überprüfen Sie die Callback-URL und klicken Sie auf Continue, um LibreChat zu autorisieren.

OAuth Continue Prompt

Schritt 5: Authentifizierung erfolgreich

Nach der Authentifizierung sehen Sie eine Erfolgsbestätigung. Dieses Fenster schließt sich automatisch und leitet Sie zurück zu LibreChat.

Authentifizierung erfolgreich

Schritt 6: Server bereit zur Verwendung

LibreChat erkennt die erfolgreiche Authentifizierung an und wählt automatisch den MCP Server für die Verwendung innerhalb Ihrer Konversation aus. Der Server zeigt nun eine Verbindungsstatusanzeige an und ist im Dropdown-Menü MCP Servers ausgewählt.

MCP Server authentifiziert und automatisch ausgewählt

Ihr neuer MCP-Server ist auch im Agent Builder verfügbar, wo Sie dessen Tools zu jedem Agenten hinzufügen und anpassen können, welche Teilmenge an Tools zulässig ist.

MCP Server im Agent Builder verfügbar

Anmeldeinformationen-Variablen für über die Benutzeroberfläche erstellte Server

Wenn Sie einen MCP Server über die Benutzeroberfläche hinzufügen, können Sie von Benutzern verlangen, ihre eigenen API-Schlüssel anzugeben. Wählen Sie im Bereich „Authentication“ des Dialogfelds „MCP Server Builder“ die Option „API Key“ und aktivieren Sie das Kontrollkästchen „User provides key“. Wählen Sie das Header-Format (Bearer, Basic oder Custom) und speichern Sie den Server.

Im Hintergrund erstellt LibreChat automatisch einen customUserVars-Eintrag namens MCP_API_KEY und konfiguriert die entsprechende Header-Vorlage (z. B. Authorization: Bearer {{MCP_API_KEY}}). Jeder Benutzer gibt seinen eigenen Schlüssel über den MCP Tool Select Dialog an, wenn er einen Agenten konfiguriert — dieselbe Benutzeroberfläche, die auch für YAML-definierte customUserVars verwendet wird.

Aus Sicherheitsgründen können über die Benutzeroberfläche erstellte (aus der Datenbank stammende) MCP-Server nur customUserVars-Platzhalter ({{VAR_NAME}}) auflösen. Serverseitige Umgebungsvariablen (${ENV_VAR}), Benutzerprofilfelder ({{LIBRECHAT_USER_*}}) und OIDC-Token ({{LIBRECHAT_OPENID_*}}) sind absichtlich blockiert, um unbefugten Zugriff auf Server-Geheimnisse oder Daten anderer Benutzer zu verhindern. Für die vollständige Unterstützung von Platzhaltern konfigurieren Sie den Server stattdessen in der librechat.yaml.

Hinzufügen von MCP-Servern mit Smithery

Smithery.ai bietet eine optimierte Möglichkeit, MCP Server für LibreChat zu entdecken und zu installieren. Befolgen Sie diese Schritte, um zu beginnen:

Schritt 1: Nach MCP-Servern suchen

Besuchen Sie smithery.ai und suchen Sie nach dem MCP Server, den Sie zu Ihrer LibreChat Instanz hinzufügen möchten.

Smithery-Suchoberfläche

Schritt 2: Wählen Sie Ihren MCP Server

Klicken Sie in den Suchergebnissen auf den MCP Server, um Details und verfügbare Tools anzuzeigen.

MCP Server-Detailseite

Schritt 3: Konfiguration für LibreChat

Navigieren Sie zum Tab Auto im Bereich Connect und wählen Sie LibreChat als Ihren gewünschten Client aus.

LibreChat Integration Setup

Schritt 4: Installieren des MCP Servers

Kopieren Sie den generierten Befehl und führen Sie ihn in Ihrem Terminal aus, um den MCP Server zu installieren.

Installationsbefehl

Schritt 5: Neustart und Überprüfung

Ihr MCP-Server ist nun installiert und in librechat.yaml konfigurierbar. Starten Sie LibreChat neu, um die Verbindungen zu initialisieren und Ihren neuen MCP-Server zu verwenden.

MCP Server Successfully Installed MCP-Server über smithery.ai installiert und bereit zur Verwendung in LibreChat

Für detaillierte Konfigurationsoptionen und Beispiele siehe:

MCP Server-Verwaltung

LibreChat bietet umfassende Tools zur Verwaltung von MCP Server-Verbindungen mit Verbindungsstatus-Tracking sowie Unterstützung für OAuth-Authentifizierung und Initialisierung in der UI.

Verbindungsstatus-Anzeigen

LibreChat zeigt dynamische Statussymbole an, die den aktuellen Status jedes MCP Servers im Chat-Dropdown und im Einstellungsbereich anzeigen:

MCP Server-Status-Symbole

Status-Typen:

  • Verbunden (grünes Zahnrad): Der Server ist verbunden und verfügt über konfigurierbare customUserVars
  • OAuth erforderlich (bernsteinfarbener Schlüssel): Server erfordert OAuth-Authentifizierung
  • Getrennt (oranger Stecker): Serververbindung fehlgeschlagen oder unterbrochen
  • Initialisierung (blauer Ladebalken): Der Server startet oder stellt die Verbindung wieder her
  • Fehler (rotes Dreieck): Der Server ist auf einen Fehler gestoßen
  • Abbrechen (rotes x): Der OAuth-Ablauf wird abgebrochen

Server-Initialisierung

Sie können MCP-Server direkt über die Benutzeroberfläche initialisieren oder neu initialisieren:

Ein Klick:

  • Initialisierung mit einem Klick über das MCP-Server-Auswahl-Dropdown

    MCP-Initialisierung mit einem Klick

Von MCPConfigDialog:

  • Klicken Sie auf das Statussymbol neben einem MCP-Server im Chat-Dropdown, um den MCPConfigDialog zu öffnen.

  • Konfigurieren Sie benutzerdefinierte Variablen und klicken Sie je nach Authentifizierungstyp des Servers auf die Schaltfläche Authenticate/Initialize.

    Authentifizierungsdialog für MCP-Konfiguration

    Über das MCP-Einstellungsfeld:

  • Klicken Sie auf einen beliebigen Server im Bereich der Serverliste im MCP Settings Panel, um auf die Konfigurations- und Initialisierungssteuerelemente zuzugreifen.

  • Konfigurieren Sie benutzerdefinierte Variablen und klicken Sie je nach Authentifizierungstyp des Servers auf die Schaltfläche Authenticate/Initialize.

    Initialisierung des MCP-Einstellungsbereichs

Sichtbarkeit des MCP-Einstellungsbereichs

Das MCP-Einstellungs-Panel erscheint in der rechten Seitenleiste, wenn LibreChat MCP-Server erkennt, die während ihrer Initialisierung möglicherweise ein Eingreifen des Benutzers erfordern. Das Panel wird sichtbar, wenn ein konfigurierter Server eines der folgenden Kriterien erfüllt:

  • Benutzerdefinierte Benutzervariablen: Der Server hat customUserVars definiert, die vom Benutzer bereitgestellte Anmeldeinformationen enthalten können
  • OAuth-Authentifizierung: Der Server erkennt beim Start, dass eine OAuth-Authentifizierung erforderlich ist
  • Manuelle Initialisierung: Der Server ist mit startup: false konfiguriert, was eine manuelle Initialisierung erfordert

LibreChat-spezifische Funktionen

Die MCP-Implementierung von LibreChat ist für hochgradig konfigurierbare Multi-User-Umgebungen in der Praxis konzipiert.

Benutzerspezifische Verbindungen

  • Jeder Benutzer erhält seine eigene isolierte Verbindung zu MCP-Servern
  • Benutzerauthentifizierung und Berechtigungen werden berücksichtigt
  • Persönliche Daten und Kontext bleiben privat

Teilen von MCP-Servern

MCP-Server nehmen am granularen Zugriffskontrollsystem von LibreChat teil. Zusätzlich zu den in librechat.yaml definierten Servern (die von Administratoren verwaltet werden und den Funktionsberechtigungen von interface.mcpServers unterliegen), verfügen von Benutzern erstellte MCP-Server über eine eigene ACL und können für bestimmte Benutzer, Gruppen, Rollen oder öffentlich freigegeben werden, wobei die Berechtigungsstufen Viewer (Betrachter), Editor (Bearbeiter) oder Owner (Eigentümer) zur Verfügung stehen.

Die Feature-Flags USE, CREATE, SHARE und SHARE_PUBLIC unter interface.mcpServers steuern, wer überhaupt MCP-Server erstellen und teilen darf. Siehe Access Control für Informationen darüber, wie sich die Berechtigungsebenen zusammensetzen.

Dynamischer Benutzerkontext

MCP-Server können über Platzhalter in URLs und Headern (für SSE- und Streamable HTTP-Transporte) auf Benutzerinformationen zugreifen:

mcpServers:
  user-api:
    type: streamable-http
    url: https://api.example.com/users/{{LIBRECHAT_USER_USERNAME}}/mcp
    headers:
      X-User-ID: '{{LIBRECHAT_USER_ID}}'
      X-User-Email: '{{LIBRECHAT_USER_EMAIL}}'
      X-User-Role: '{{LIBRECHAT_USER_ROLE}}'
      Authorization: 'Bearer ${API_TOKEN}'

Zu den verfügbaren Platzhaltern gehören:

  • {{LIBRECHAT_USER_ID}} - Eindeutige Benutzerkennung
  • {{LIBRECHAT_USER_EMAIL}} - E-Mail-Adresse des Benutzers
  • {{LIBRECHAT_USER_ROLE}} - Benutzerrolle (admin, user, etc.)
  • {{LIBRECHAT_USER_USERNAME}} - Benutzername
  • Und viele mehr (siehe MCP Servers Configuration für die vollständige Liste)

YAML-definierte MCP-Server können auch {{LIBRECHAT_OPENID_*}}-, {{LIBRECHAT_GRAPH_*}}- und {{LIBRECHAT_BODY_*}}-Platzhalter verwenden. {{LIBRECHAT_BODY_*}}-Werte sind auf den Request begrenzt (request-scoped), sodass LibreChat Verbindungen für den aktiven Lauf erstellt, sie über Tool-Aufrufe in diesem Lauf hinweg wiederverwendet und sie bereinigt, wenn der Request endet. Request-begrenzte Server sind vom persistenten Tool-Cache ausgeschlossen, damit anfragespezifische Header und URLs nicht außerhalb des aktiven Laufs wiederverwendet werden. Benutzer-, OpenID- und Graph-Platzhalter sind auf den Benutzer begrenzt (user-scoped); HTTP-Transporte aktualisieren ihre aufgelösten Header vor jedem Tool-Aufruf, ohne dass eine erneute Verbindung von ihnen selbst erforderlich ist.

Server-Anweisungen

serverInstructions ist eine LibreChat-Funktion, die dynamisch konfigurierte Anweisungen hinzufügt, sobald ein Tool von diesem MCP-Server ausgewählt wird:

mcpServers:
  filesystem:
    command: npx
    args: ['-y', '@modelcontextprotocol/server-filesystem', '/docs']
    serverInstructions: |
      When accessing files:
      - Always check file permissions first
      - Use absolute paths for reliability
      - Handle errors gracefully

Optionen:

  • true: Vom Server bereitgestellte Anweisungen verwenden
  • false: Anweisungen deaktivieren
  • string: Benutzerdefinierte Anweisungen (oben angezeigt)

Timeout-Konfiguration

Konfigurieren Sie für lang andauernde MCP-Vorgänge angemessene Timeouts sowohl für die Initialisierung als auch für Tool-Vorgänge.

mcpServers:
  data-processor:
    type: streamable-http
    url: https://api.example.com/mcp
    initTimeout: 15000 # 15 seconds for server initialization
    timeout: 60000 # 60 seconds for tool operations

Hinweis: Falls Vorgänge weiterhin vorzeitig abgebrochen werden, überprüfen Sie Ihre Proxy-Konfiguration (z. B. nginx, traefik usw.), da diese aufgrund von Standard-Timeouts möglicherweise Verbindungen vorzeitig trennt.

Vom Benutzer bereitgestellte Anmeldeinformationen

Sie können Benutzern erlauben, ihre eigenen Anmeldedaten für MCP-Server über customUserVars bereitzustellen. Dies ermöglicht eine sichere, benutzerspezifische Authentifizierung, ohne Anmeldedaten in Konfigurationsdateien speichern zu müssen.

mcpServers:
  my-api-server:
    type: streamable-http
    url: 'https://api.example.com/mcp'
    headers:
      X-Auth-Token: '{{MY_API_KEY}}' # Uses the user-provided value
    customUserVars:
      MY_API_KEY:
        title: 'API Key'
        description: "Enter your personal API key from <a href='https://example.com/keys' target='_blank'>your account settings</a>"

Benutzer können diese Anmeldedaten konfigurieren:

  • Aus dem Chat-Bereich: Klicken Sie auf das Einstellungssymbol neben konfigurierbaren MCP-Servern im Dropdown-Menü zur Werkzeugauswahl
  • Vom MCP-Einstellungsbereich: Greifen Sie im rechten Bereich auf „MCP Settings“ zu, um die Anmeldedaten für alle konfigurierten Server zu verwalten.

Neuinitialisierung von MCP-Servern mit Benutzeranmeldeinformationen

Für MCP-Server, die benutzerspezifische Anmeldeinformationen erfordern, bevor sie verwendet werden können (z. B. PAT_TOKENs im offiziellen MCP-Server von GitHub), ermöglicht LibreChat es Benutzern, diese Anmeldeinformationen bereitzustellen und den MCP-Server anschließend direkt über die Benutzeroberfläche neu zu initialisieren, ohne die gesamte Anwendung neu starten zu müssen:

  1. Wenn Sie einen MCP auswählen, der customUserVars verwendet, können Sie den Wert einer customUserVar für den ausgewählten MCP-Server direkt über das MCP-Panel speichern (Save) oder widerrufen (Revoke).
  2. Nachdem Sie einen Wert für eine customUserVar gespeichert haben, klicken Sie auf die Schaltfläche zum Neuinitialisieren (ein Symbol mit kreisförmigen Pfeilen neben jedem Servernamen im MCP Panel).
  3. LibreChat wird versuchen, eine Verbindung zum Server unter Verwendung Ihrer bereitgestellten Anmeldedaten herzustellen, und Sie über eine Toast-Benachrichtigung darüber informieren, ob der Neuinitialisierungsprozess erfolgreich war oder fehlgeschlagen ist.

Tipp: Wenn Sie wissen, dass ein Server Anmeldedaten erfordert, die beim ersten Start nicht verfügbar sind, können Sie startup: false zu seiner Konfiguration hinzufügen. Dies weist LibreChat an, nicht zu versuchen, eine Verbindung zu diesem Server herzustellen, bis er manuell in der Benutzeroberfläche neu initialisiert wird.

Beispiel:

mcpServers:
  github-mcp:
    type: streamable-http
    url: 'https://api.githubcopilot.com/mcp/'
    headers:
      Authorization: '{{PAT_TOKEN}}'
    customUserVars:
      PAT_TOKEN:
        title: 'GitHub PAT Token'
        description: 'GitHub Personal Access Token'
    startup: false

OAuth-Authentifizierung

LibreChat unterstützt OAuth-Authentifizierung für MCP-Server, gemäß der Empfehlung von Anthropic für sichere MCP-Verbindungen. OAuth bietet eine standardisierte, sichere Methode zur Authentifizierung, ohne dass langlebige Anmeldedaten gespeichert werden müssen.

Unterstützte OAuth-Flows

LibreChat MCP-Server unterstützen OAuth 2.0 mit:

  • Authorization Code Flow mit PKCE: Empfohlen für maximale Sicherheit
  • Client Discovery: Automatische Client-Registrierung, wenn vom OAuth-Anbieter unterstützt
  • Refresh Tokens: Automatische Token-Erneuerung, sofern verfügbar

Konfigurationsbeispiele

mcpServers:
  # Public remote MCP server for PayPal, uses OAuth Client Discovery
  # ❌ Refresh Tokens: you may need to re-authenticate periodically
  # More info: https://developer.paypal.com/tools/mcp-server/
  paypal:
    type: 'sse'
    initTimeout: 150000 # higher timeout to allow for initial authentication
    url: 'https://mcp.paypal.com/sse'
 
  # Example self-hosted remote MCP server for Spotify, uses OAuth Client Discovery
  # ✅ Refresh Tokens: refreshes token for authentication automatically
  # Hosted on Cloudflare Workers, more info: https://github.com/LibreChat-AI/spotify-mcp
  spotify:
    type: 'streamable-http'
    initTimeout: 150000
    url: 'https://mcp-spotify-oauth-example.account.workers.dev/mcp'

OAuth-Authentifizierungsablauf

Wenn Sie zum ersten Mal einen OAuth-fähigen MCP-Server konfigurieren:

  1. Erstverbindung: LibreChat versucht, eine Verbindung zum MCP Server herzustellen
  2. Authentifizierung erforderlich: Wenn kein gültiges Token vorhanden ist, sehen Sie im Chat-Dropdown für diesen Server einen OAuth-Authentifizierungsindikator.
  3. Button-Schnittstelle: Klicken Sie auf die Authentifizierungsanzeige-Schaltfläche, um den MCPConfigDialog zu öffnen und den OAuth-Ablauf zu starten.
  4. Konfigurationsdialog: Klicken Sie auf die Schaltfläche Authenticate im MCPConfigDialog, um die OAuth-Authentifizierungsseite in Ihrem Browser zu öffnen.
  5. Browser-Weiterleitung: LibreChat öffnet den OAuth-Anbieter in Ihrem Browser
  6. Rückgabe-Verarbeitung: LibreChat verarbeitet den OAuth-Callback automatisch, sobald Sie sich authentifiziert haben.
  7. Token-Speicherung: LibreChat speichert die Token sicher für die zukünftige Verwendung
  8. Verbindung hergestellt: Sobald Sie sich authentifiziert haben, wird der MCP Server verbunden und Sie können ihn in Ihrem Chat verwenden.

OAuth-Callback-URL

Wenn ein MCP-Server OAuth verwendet, stellt LibreChat einen Callback-endpoint bereit, zu dem der OAuth-Anbieter nach erfolgreicher Autorisierung weiterleitet.

Die Callback-URL muss folgendem Format entsprechen:

${baseUrl}/api/mcp/${serverName}/oauth/callback

Wobei ${serverName} der MCP-Server-Schlüssel ist, der in Ihrer librechat.yaml-Konfiguration definiert wurde. LibreChat übernimmt die Weiterleitung an diesem endpoint, schließt den Token-Austausch ab und verknüpft die Anmeldedaten mit dem entsprechenden MCP-Server.

Beispiel für OAuth-Callback-URL

Gegeben die folgende MCP server Konfiguration:

mcpServers:
  # Example self-hosted remote MCP server for Spotify, uses OAuth Client Discovery
  # ✅ Refresh Tokens: refreshes token for authentication automatically
  # Hosted on Cloudflare Workers, more info: https://github.com/LibreChat-AI/spotify-mcp
  spotify:
    type: 'streamable-http'
    initTimeout: 150000
    url: 'https://mcp-spotify-oauth-example.account.workers.dev/mcp'

Die Callback-URL wäre ${baseUrl}/api/mcp/spotify/oauth/callback.

Hinweis:

  • Die Callback-URL muss exakt beim OAuth-Anbieter registriert sein, damit der Ablauf funktioniert.
  • Andere Pfade wie /api/oauth/callback oder /api/oauth/openid/callback sind für MCP OAuth-Flows nicht gültig.

Token-Verwaltung

LibreChat verarbeitet OAuth-Token intelligent:

  • Sichere Speicherung: Tokens werden verschlüsselt und sicher gespeichert
  • Automatische Aktualisierung: Wenn Refresh-Tokens verfügbar sind, erneuert LibreChat automatisch abgelaufene Access-Tokens
  • Stille 401-Wiederherstellung: Wenn eine OAuth MCP-Verbindung während einer Sitzung einen 401-Fehler erhält und ein Refresh-Token verfügbar ist, versucht LibreChat eine stille Aktualisierung, bevor eine neue Authentifizierungsaufforderung angezeigt wird.
  • Sitzungsverwaltung: Jeder Benutzer unterhält seine eigenen OAuth-Sitzungen für Multi-User-Umgebungen

Jeder Benutzer wird bei der ersten Verwendung eines OAuth-fähigen MCP-Servers dazu aufgefordert, sich mit seinem eigenen OAuth-Login zu authentifizieren. Dies stellt sicher, dass Verbindungs- und Authentifizierungsdetails für jeden Benutzer eindeutig sind, wodurch Sicherheit und Datenschutz in Umgebungen mit mehreren Benutzern gewahrt bleiben.

OAuth-Timing

Die MCP OAuth-Vervollständigung verwendet ihr eigenes, serverseitig konfiguriertes Timeout, anstatt das initTimeout des MCP-Servers wiederzuverwenden. Standardmäßig wartet LibreChat bis zu 10 Minuten darauf, dass ein Benutzer die MCP OAuth abschließt, und behält den Flow-Status für 15 Minuten bei.

Verwenden Sie diese Umgebungsvariablen, wenn ein OAuth-Anbieter oder Benutzer-Workflow mehr Zeit benötigt:

MCP_OAUTH_HANDLING_TIMEOUT=600000
MCP_OAUTH_FLOW_TTL=900000

MCP_OAUTH_FLOW_TTL wird so begrenzt, dass es MCP_OAUTH_HANDLING_TIMEOUT überdauert, damit Callbacks nahe der Frist ihren Flow-Status weiterhin finden können. Das Polling-Fenster der MCP-Server-Karte folgt dem konfigurierten Handling-Timeout.

Benutzerspezifischer OAuth-Authentifizierungsablauf

Hinweis: Die beim App-Start angezeigten Tokens dienen nur der Initialisierung auf App-Ebene und werden nicht für individuelle Benutzerverbindungen verwendet.

Beispiel für die automatische Token-Aktualisierung:

[MCP][spotify] Access token missing
[MCP][spotify] Attempting to refresh token
[MCP][spotify] Successfully refreshed and stored OAuth tokens
[MCP][spotify] ✓ Initialized

Bewährte Methoden

  1. OAuth verwenden, wenn verfügbar: Bevorzugen Sie OAuth gegenüber API-Schlüsseln für eine bessere Sicherheit
  2. Geeignete Timeouts konfigurieren: Verwenden Sie MCP_OAUTH_HANDLING_TIMEOUT und MCP_OAUTH_FLOW_TTL für OAuth-Abschlussfenster; verwenden Sie initTimeout für die Serverinitialisierung
  3. Token-Ablauf überwachen: Überprüfen Sie die Protokolle auf Authentifizierungsprobleme
  4. Plan für die erneute Authentifizierung: Einige Anbieter unterstützen keine Refresh-Tokens

Hinweis: Die UI-basierte OAuth-Konfiguration folgt in Kürze, wodurch der Authentifizierungsprozess direkt über die LibreChat-Oberfläche vereinfacht wird.

Server-Transporte

MCP-Server können so konfiguriert werden, dass sie verschiedene Transportmechanismen verwenden:

STDIO-Server

  • Funktioniert gut für lokale Einzelbenutzerumgebungen
  • Nicht skalierbar für Remote- oder Cloud-Bereitstellungen

Server-Sent Events (SSE) Server

  • Remote-Transport-Mechanismus, aber nicht für die Produktionsumgebung empfohlen

Streamable HTTP-Server

  • Verwendet HTTP POST zum Senden von Nachrichten und unterstützt Streaming-Antworten
  • Arbeitet als unabhängiger Prozess, der mehrere Client-Verbindungen verarbeiten kann
  • Unterstützt sowohl einfache Anfragen als auch Streaming über Server-Sent Events (SSE)
  • Leistungsfähigere Alternative zum herkömmlichen HTTP+SSE-Transport
  • Unterstützt ordnungsgemäße Multi-User-Serverkonfigurationen

Für Produktionsumgebungen werden nur MCP-Server mit "Streamable HTTP"-Transporten empfohlen. Im Gegensatz zu SSE, das langlebige Verbindungen aufrechterhält, bietet Streamable HTTP zustandslose Optionen, die sich besser für skalierbare Multi-User-Bereitstellungen eignen.

LibreChat ist führend bei der Implementierung flexibler, skalierbarer MCP-Server-Integrationen, um vielfältige Nutzungsszenarien zu unterstützen und Ihnen dabei zu helfen, die KI-Workflows von morgen zu entwickeln.


Bereit, Ihre KI-Fähigkeiten zu erweitern? Beginnen Sie mit der Konfiguration Ihres ersten MCP-Servers und entdecken Sie, wie LibreChat eine Verbindung zu praktisch jedem Tool oder Dienst herstellen kann, den Ihr Unternehmen benötigt.

Wie finden Sie diese Anleitung?