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

MCP

Découvrez comment LibreChat tire parti du Model Context Protocol (MCP) pour offrir une intégration transparente avec des outils externes, des sources de données et des services spécialisés.

Le Model Context Protocol (MCP) est un protocole ouvert qui standardise la manière dont les applications fournissent du contexte aux Large Language Models (LLMs). Considérez le MCP comme le « USB-C de l'IA » - tout comme l'USB-C fournit une norme de connexion universelle pour les appareils électroniques, le MCP offre un moyen standardisé de connecter des modèles d'IA à divers outils, sources de données et services.

LibreChat tire parti de MCP pour étendre considérablement les capacités de vos agents IA, vous permettant d'intégrer tout ce qui va de l'accès au système de fichiers, aux navigateurs web et aux API spécialisées, jusqu'aux outils métier personnalisés.

Pourquoi MCP est important

Les LLM sont limités à leurs capacités intégrées. Avec MCP, LibreChat fait tomber ces barrières en :

  • Connexion à tout outil ou service fournissant un serveur MCP
  • Standardisation des intégrations afin que vous n'ayez pas besoin de modifier le code de LibreChat pour chaque outil
  • Prise en charge d'environnements multi-utilisateurs avec une authentification et une isolation appropriées
  • Fournir un écosystème croissant d'intégrations dynamiques et prêtes à l'emploi

Comment MCP fonctionne dans LibreChat

LibreChat propose deux façons d'utiliser les serveurs MCP, soit dans la zone de chat, soit avec des agents.

Vous pouvez configurer manuellement les serveurs MCP dans votre fichier librechat.yaml ou en utilisant smithery.ai pour trouver et installer des serveurs MCP dans librechat.yaml (voir l'exemple ci-dessous). Chaque fois que vous ajoutez ou modifiez un serveur MCP, vous devrez redémarrer LibreChat pour initialiser les connexions.

URL de rappel OAuth

Pour les serveurs MCP avec OAuth activé, l'URL de rappel LibreChat est :

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

<server-name> est la clé utilisée sous mcpServers dans librechat.yaml ou le nom du serveur créé dans l'interface des paramètres MCP. Par exemple, un serveur nommé salesforce avec DOMAIN_SERVER=https://chat.example.com utilise https://chat.example.com/api/mcp/salesforce/oauth/callback.

Enregistrez cette URL de rappel exacte auprès du fournisseur OAuth. Les installations Docker locales utilisent généralement http://localhost:3080 comme URL de base.

Dans la zone de chat

Outils MCP dans la zone de chat

LibreChat affiche les serveurs MCP configurés directement dans la zone de chat lors de l'utilisation des endpoints traditionnels (OpenAI, Anthropic, Google, Bedrock, etc.) :

  • Sélectionnez d'abord n'importe quel endpoint non-agent, ainsi qu'un modèle compatible avec les outils
  • Les serveurs MCP apparaissent dans un menu déroulant de l'interface de chat sous votre zone de saisie de texte
  • Une fois sélectionné, tous les outils de ce serveur deviennent disponibles pour votre modèle actuel.
  • Accès rapide aux outils MCP sans créer d'agent, permettant l'utilisation simultanée de plusieurs serveurs

Pour empêcher les serveurs MCP d'apparaître dans le menu déroulant de discussion (en les réservant uniquement aux agents), définissez chatMenu: false dans votre configuration :

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

Avec des Agents

Les serveurs MCP s'intègrent parfaitement aux agents LibreChat :

  1. Créer ou modifier un agent
  2. Cliquez sur « Add MCP Server Tools » pour ouvrir la boîte de dialogue des outils depuis le panneau Agent Builder
  3. Sélectionnez les serveurs MCP une fois ajoutés, chacun apparaît comme une entrée unique
  4. Affinez les capacités de votre agent en activant/désactivant des outils individuels après les avoir ajoutés
  5. Enregistrez votre agent

Outils MCP dans le générateur d'agents

Cette organisation de haut niveau permet de garder l'interface gérable - même les serveurs avec plus de 20 outils (comme Spotify) apparaissent sous forme d'entrées uniques qui peuvent être développées pour un contrôle granulaire.

Configuration de base

Ajoutez manuellement des serveurs MCP à votre fichier librechat.yaml :

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

Ajout de serveurs MCP dans l'interface utilisateur

Vous pouvez également ajouter et configurer des serveurs MCP directement depuis l'interface de LibreChat sans modifier de fichiers de configuration ni redémarrer le serveur.

Étape 1 : Ouvrir le panneau des paramètres MCP

Accédez au panneau MCP Settings depuis la barre latérale droite. Vous y verrez tous les serveurs MCP existants listés, ainsi qu'un bouton + pour en ajouter de nouveaux.

Panneau des paramètres MCP

Étape 2 : Remplir les détails du serveur

Appuyez sur le bouton + et remplissez le nom de votre serveur MCP, sa description, son URL, son type de transport et sa méthode d'authentification, puis cliquez sur Create.

Boîte de dialogue Ajouter un serveur MCP

Votre nouveau serveur apparaîtra dans le panneau MCP Settings avec une notification de confirmation.

Serveur MCP créé avec succès

Étape 3 : Vérifier l'état de la connexion et s'authentifier

Consultez l' indicateur d'état de connexion pour votre nouveau serveur. Si le serveur nécessite une authentification OAuth, l'état s'affichera comme déconnecté. Cliquez sur le bouton d'authentification/connexion du serveur (vous pouvez le faire soit en cliquant sur le serveur MCP lui-même dans le menu déroulant de discussion, soit en cliquant d'abord sur l'icône de connexion pour accéder à une boîte de dialogue contenant plus d'informations sur l'état de la connexion) pour lancer le processus d'authentification.

État de la connexion - Déconnecté

Une fois lancé, l'indicateur de statut se mettra à jour pour indiquer que l'authentification est en cours.

État de la connexion - Authentification en cours

Étape 4 : Continuer dans l'onglet OAuth

Un nouvel onglet de navigateur s'ouvrira pour le fournisseur OAuth. Vérifiez l'URL de rappel et cliquez sur Continue pour autoriser LibreChat.

Invite à continuer OAuth

Étape 5 : Authentification réussie

Après l'authentification, vous verrez une confirmation de succès. Cette fenêtre se fermera automatiquement et vous redirigera vers LibreChat.

Authentication Successful

Étape 6 : Serveur prêt à l'emploi

LibreChat reconnaît l'authentification réussie et sélectionne automatiquement le serveur MCP pour une utilisation au sein de votre conversation. Le serveur affiche désormais un indicateur de statut connecté et est coché dans le menu déroulant MCP Servers.

Serveur MCP authentifié et sélectionné automatiquement

Votre nouveau serveur MCP est également disponible dans l'Agent Builder, où vous pouvez ajouter ses outils à n'importe quel agent et personnaliser le sous-ensemble d'outils autorisés.

Serveur MCP disponible dans le générateur d'agents

Variables d'identification pour les serveurs créés via l'interface utilisateur

Lors de l'ajout d'un serveur MCP via l'interface utilisateur, vous pouvez exiger que les utilisateurs fournissent leurs propres clés API. Dans la section Authentication de la boîte de dialogue MCP Server Builder, sélectionnez "API Key" et cochez "User provides key". Choisissez le format d'en-tête (Bearer, Basic ou Custom) et enregistrez le serveur.

En coulisses, LibreChat crée automatiquement une entrée customUserVars nommée MCP_API_KEY et configure le modèle d'en-tête approprié (par exemple, Authorization: Bearer {{MCP_API_KEY}}). Chaque utilisateur fournit sa propre clé via la boîte de dialogue de sélection d'outils MCP lors de la configuration d'un agent — la même interface utilisateur utilisée pour les customUserVars définies dans le YAML.

Pour des raisons de sécurité, les serveurs MCP créés via l'interface utilisateur (provenant de la base de données) ne peuvent uniquement résoudre les espaces réservés customUserVars ({{VAR_NAME}}). Les variables d'environnement côté serveur (${ENV_VAR}), les champs de profil utilisateur ({{LIBRECHAT_USER_*}}) et les jetons OIDC ({{LIBRECHAT_OPENID_*}}) sont intentionnellement bloqués pour empêcher tout accès non autorisé aux secrets du serveur ou aux données d'autres utilisateurs. Pour une prise en charge complète des espaces réservés, configurez le serveur dans librechat.yaml à la place.

Ajout de serveurs MCP avec Smithery

Smithery.ai offre un moyen simplifié de découvrir et d'installer des serveurs MCP pour LibreChat. Suivez ces étapes pour commencer :

Étape 1 : Rechercher des serveurs MCP

Visitez smithery.ai et recherchez le serveur MCP que vous souhaitez ajouter à votre instance LibreChat.

Interface de recherche Smithery

Étape 2 : Sélectionnez votre serveur MCP

Cliquez sur le serveur MCP dans les résultats de recherche pour afficher les détails et les outils disponibles.

Page des détails du serveur MCP

Étape 3 : Configurer pour LibreChat

Accédez à l'onglet Auto dans la section Connect et sélectionnez LibreChat comme client souhaité.

Configuration de l'intégration LibreChat

Étape 4 : Installer le serveur MCP

Copiez et exécutez la commande générée dans votre terminal pour installer le serveur MCP.

Commande d'installation

Étape 5 : Redémarrer et vérifier

Votre serveur MCP est maintenant installé et configurable dans librechat.yaml. Redémarrez LibreChat pour initialiser les connexions et commencer à utiliser votre nouveau serveur MCP.

MCP Server Successfully Installed Serveur MCP installé via smithery.ai et prêt à être utilisé dans LibreChat

Pour des options de configuration détaillées et des exemples, consultez :

Gestion des serveurs MCP

LibreChat fournit des outils complets pour gérer les connexions aux serveurs MCP, avec un suivi de l'état de la connexion ainsi qu'une prise en charge de l'authentification et de l'initialisation OAuth dans l'interface utilisateur.

Indicateurs d'état de la connexion

LibreChat affiche des icônes d'état dynamiques indiquant l'état actuel de chaque serveur MCP dans le menu déroulant de discussion et dans le panneau des paramètres :

Icônes d'état du serveur MCP

Types de statut :

  • Connecté (engrenage vert) : Le serveur est connecté et possède des customUserVars configurables
  • OAuth Required (clé orange) : Le serveur nécessite une authentification OAuth
  • Déconnecté (prise orange) : La connexion au serveur a échoué ou a été perdue
  • Initialisation (chargeur bleu) : Le serveur démarre ou se reconnecte
  • Erreur (triangle rouge) : Le serveur a rencontré une erreur
  • Annulation (croix rouge) : Le flux OAuth est en cours d'annulation

Initialisation du serveur

Vous pouvez initialiser ou réinitialiser les serveurs MCP directement depuis l'interface :

En un clic :

  • Initialisation en un clic depuis le menu déroulant de sélection du serveur MCP

    Initialisation MCP en un clic

Depuis MCPConfigDialog :

  • Cliquez sur l'icône d'état à côté d'un serveur MCP dans le menu déroulant Chat pour ouvrir le MCPConfigDialog

  • Configurez les variables utilisateur personnalisées et cliquez sur le bouton Authenticate/Initialize en fonction du type d'authentification du serveur.

    Authentification de la boîte de dialogue de configuration MCP

    Depuis le panneau des paramètres MCP :

  • Cliquez sur n'importe quel serveur dans la section de liste des serveurs du panneau des paramètres MCP pour accéder aux contrôles de configuration et d'initialisation.

  • Configurez les variables utilisateur personnalisées et cliquez sur le bouton Authenticate/Initialize en fonction du type d'authentification du serveur.

    Initialisation du panneau des paramètres MCP

Visibilité du panneau des paramètres MCP

Le panneau des paramètres MCP apparaît dans la barre latérale droite lorsque LibreChat détecte des serveurs MCP susceptibles de nécessiter une intervention de l'utilisateur lors de leur initialisation. Le panneau sera visible lorsqu'un serveur configuré répond à l'un de ces critères :

  • Variables utilisateur personnalisées : Le serveur possède des customUserVars définies qui peuvent contenir des identifiants fournis par l'utilisateur
  • Authentification OAuth : Le serveur est détecté comme nécessitant une authentification OAuth lors du démarrage
  • Initialisation manuelle : Le serveur a startup: false configuré, nécessitant une initialisation manuelle

Fonctionnalités spécifiques à LibreChat

L'implémentation MCP de LibreChat est conçue pour des environnements multi-utilisateurs réels et hautement configurables.

Connexions spécifiques à l'utilisateur

  • Chaque utilisateur dispose de sa propre connexion isolée aux serveurs MCP
  • L'authentification et les permissions des utilisateurs sont respectées
  • Les données personnelles et le contexte restent privés

Partage des serveurs MCP

Les serveurs MCP participent au système de contrôle d'accès granulaire de LibreChat. En plus des serveurs définis dans librechat.yaml (qui sont gérés par les administrateurs et régis par les autorisations de fonctionnalité interface.mcpServers), les serveurs MCP créés par les utilisateurs possèdent leur propre ACL et peuvent être partagés avec des utilisateurs, groupes, rôles spécifiques, ou publiquement, au niveau Lecteur, Éditeur ou Propriétaire.

Les indicateurs de fonctionnalité USE, CREATE, SHARE et SHARE_PUBLIC sous interface.mcpServers contrôlent qui est autorisé à créer et à partager des serveurs MCP. Consultez Access Control pour savoir comment les couches d'autorisation se composent.

Contexte utilisateur dynamique

Les serveurs MCP peuvent accéder aux informations utilisateur via des espaces réservés dans les URLs et les en-têtes (pour les transports SSE et HTTP diffusables) :

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}'

Les espaces réservés disponibles incluent :

  • {{LIBRECHAT_USER_ID}} - Identifiant utilisateur unique
  • {{LIBRECHAT_USER_EMAIL}} - Adresse e-mail de l'utilisateur
  • {{LIBRECHAT_USER_ROLE}} - Rôle de l'utilisateur (admin, user, etc.)
  • {{LIBRECHAT_USER_USERNAME}} - Nom d'utilisateur
  • Et bien plus encore (voir Configuration des serveurs MCP pour la liste complète)

Les serveurs MCP définis en YAML peuvent également utiliser les espaces réservés {{LIBRECHAT_OPENID_*}}, {{LIBRECHAT_GRAPH_*}} et {{LIBRECHAT_BODY_*}}. Les valeurs {{LIBRECHAT_BODY_*}} sont limitées à la portée de la requête ; ainsi, LibreChat crée des connexions pour l'exécution active, les réutilise lors des appels d'outils au cours de cette exécution, et les nettoie une fois la requête terminée. Les serveurs limités à la portée de la requête sont exclus du cache d'outils persistant afin que les en-têtes et les URL spécifiques à la requête ne soient pas réutilisés en dehors de l'exécution active. Les espaces réservés User, OpenID et Graph sont limités à la portée de l'utilisateur ; les transports HTTP actualisent leurs en-têtes résolus avant chaque appel d'outil sans nécessiter de reconnexion par eux-mêmes.

Instructions du serveur

serverInstructions est une fonctionnalité de LibreChat qui ajoute dynamiquement des instructions configurées lorsqu'un outil provenant de ce serveur MCP est sélectionné :

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

Options :

  • true : Utiliser les instructions fournies par le serveur
  • false : Désactiver les instructions
  • string : Instructions personnalisées (affichées ci-dessus)

Configuration du délai d'attente (Timeout)

Pour les opérations MCP de longue durée, configurez des délais d'attente appropriés à la fois pour l'initialisation et pour les opérations d'outils.

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

Note : Si les opérations sont toujours interrompues prématurément, vérifiez la configuration de votre proxy (par exemple, nginx, traefik, etc.) qui pourrait couper les connexions trop tôt en raison des délais d'attente par défaut.

Identifiants fournis par l'utilisateur

Vous pouvez permettre aux utilisateurs de fournir leurs propres identifiants pour les serveurs MCP via customUserVars. Cela permet une authentification sécurisée et spécifique à l'utilisateur sans stocker les identifiants dans les fichiers de configuration.

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>"

Les utilisateurs peuvent configurer ces identifiants :

  • Depuis la zone de chat : Cliquez sur l'icône des paramètres à côté des serveurs MCP configurables dans le menu déroulant de sélection des outils
  • Depuis le panneau des paramètres MCP : Accédez aux « MCP Settings » dans le panneau de droite pour gérer les identifiants de tous les serveurs configurés.

Réinitialisation des serveurs MCP avec les identifiants utilisateur

Pour les serveurs MCP qui nécessitent des identifiants spécifiques à l'utilisateur avant de pouvoir être utilisés (par exemple, les PAT_TOKEN dans le serveur MCP officiel de GitHub), LibreChat permet aux utilisateurs de fournir ces identifiants, puis de réinitialiser le serveur MCP depuis l'interface utilisateur sans redémarrer toute l'application :

  1. Lorsque vous sélectionnez un MCP qui utilise customUserVars, vous pourrez Enregistrer ou Révoquer la valeur d'une customUserVar pour le serveur MCP sélectionné depuis le panneau MCP.
  2. Après avoir enregistré une valeur pour une customUserVar, cliquez sur le bouton de réinitialisation (une icône avec des flèches circulaires à côté de chaque nom de serveur dans le panneau MCP).
  3. LibreChat tentera de se connecter au serveur en utilisant vos identifiants fournis et vous notifiera via une notification toast si le processus de réinitialisation a réussi ou échoué.

Astuce : Si vous savez qu'un serveur nécessitera des identifiants qui ne sont pas disponibles au premier démarrage, vous pouvez ajouter startup: false à sa configuration. Cela indique à LibreChat de ne pas tenter de se connecter à ce serveur tant qu'il n'est pas réinitialisé manuellement dans l'interface utilisateur.

Exemple :

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

Authentification OAuth

LibreChat prend en charge l'authentification OAuth pour les serveurs MCP, conformément aux recommandations d'Anthropic pour des connexions MCP sécurisées. OAuth fournit un moyen standardisé et sécurisé de s'authentifier sans stocker d'identifiants à longue durée de vie.

Flux OAuth pris en charge

Les serveurs MCP de LibreChat prennent en charge OAuth 2.0 avec :

  • Flux de code d'autorisation avec PKCE : Recommandé pour une sécurité maximale
  • Découverte du client : Enregistrement automatique du client lorsque cela est pris en charge par le fournisseur OAuth
  • Jetons de rafraîchissement (Refresh Tokens) : Renouvellement automatique des jetons lorsqu'ils sont disponibles

Exemples de configuration

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'

Flux d'authentification OAuth

Lorsque vous configurez pour la première fois un serveur MCP avec OAuth :

  1. Connexion initiale : LibreChat tente de se connecter au serveur MCP
  2. Authentification requise : Si aucun jeton valide n'existe, vous verrez un indicateur d'authentification OAuth dans le menu déroulant de discussion pour ce serveur.
  3. Interface du bouton : Cliquez sur le bouton indicateur d'authentification pour ouvrir le MCPConfigDialog et démarrer le flux OAuth
  4. Config Dialog : Cliquez sur le bouton Authenticate dans le MCPConfigDialog pour ouvrir la page d'authentification OAuth dans votre navigateur
  5. Redirection du navigateur : LibreChat ouvre le fournisseur OAuth dans votre navigateur
  6. Gestion du retour : LibreChat traite automatiquement le rappel OAuth une fois que vous vous êtes authentifié
  7. Stockage des jetons : LibreChat stocke les jetons de manière sécurisée pour une utilisation ultérieure
  8. Connexion établie : Une fois authentifié, le serveur MCP sera connecté et vous pourrez l'utiliser dans votre chat

URL de rappel OAuth

Lorsqu'un serveur MCP utilise OAuth, LibreChat expose un endpoint de rappel vers lequel le fournisseur OAuth redirige après une autorisation réussie.

L'URL de rappel doit suivre ce format :

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

${serverName} est la clé du serveur MCP définie dans votre configuration librechat.yaml. LibreChat gère la redirection à ce endpoint, effectue l'échange de jetons et associe les identifiants au serveur MCP correspondant.

Exemple d'URL de rappel OAuth

Étant donné la configuration de serveur MCP suivante :

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'

L'URL de rappel serait ${baseUrl}/api/mcp/spotify/oauth/callback.

Remarque :

  • L'URL de rappel doit être enregistrée exactement auprès du fournisseur OAuth pour que le flux fonctionne.
  • D'autres chemins tels que /api/oauth/callback ou /api/oauth/openid/callback ne sont pas valides pour les flux OAuth MCP.

Gestion des jetons

LibreChat gère les jetons OAuth de manière intelligente :

  • Stockage sécurisé : Les jetons sont chiffrés et stockés de manière sécurisée
  • Actualisation automatique : Lorsque des jetons d'actualisation sont disponibles, LibreChat renouvelle automatiquement les jetons d'accès expirés
  • Récupération silencieuse 401 : Si une connexion MCP OAuth reçoit une erreur 401 en cours de session et qu'un jeton de rafraîchissement est disponible, LibreChat tente un rafraîchissement silencieux avant d'afficher une nouvelle invite d'authentification.
  • Gestion de session : Chaque utilisateur conserve ses propres sessions OAuth pour les environnements multi-utilisateurs

Chaque utilisateur sera invité à s'authentifier avec sa propre connexion OAuth lors de la première utilisation d'un serveur MCP activé pour OAuth. Cela garantit que les détails de connexion et d'authentification sont uniques à chaque utilisateur, préservant ainsi la sécurité et la confidentialité dans les environnements multi-utilisateurs.

Synchronisation OAuth

La complétion OAuth MCP utilise son propre délai d'attente configuré par le serveur au lieu de réutiliser le initTimeout du serveur MCP. Par défaut, LibreChat attend jusqu'à 10 minutes que l'utilisateur termine l'OAuth MCP et conserve l'état du flux pendant 15 minutes.

Utilisez ces variables d'environnement lorsqu'un fournisseur OAuth ou un flux de travail utilisateur nécessite plus de temps :

MCP_OAUTH_HANDLING_TIMEOUT=600000
MCP_OAUTH_FLOW_TTL=900000

MCP_OAUTH_FLOW_TTL est limité pour durer plus longtemps que MCP_OAUTH_HANDLING_TIMEOUT, afin que les rappels proches de l'échéance puissent toujours trouver leur état de flux. La fenêtre d'interrogation de la carte serveur MCP suit le délai d'attente de traitement configuré.

Flux d'authentification OAuth spécifique à l'utilisateur

Remarque : Les jetons affichés lors du démarrage de l'application servent uniquement à l'initialisation au niveau de l'application et ne sont pas utilisés pour les connexions des utilisateurs individuels.

Exemple de rafraîchissement automatique des jetons :

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

Meilleures pratiques

  1. Utiliser OAuth lorsque disponible : Préférez OAuth aux clés API pour une meilleure sécurité
  2. Configurer les délais d'attente appropriés : Utilisez MCP_OAUTH_HANDLING_TIMEOUT et MCP_OAUTH_FLOW_TTL pour les fenêtres de finalisation OAuth ; utilisez initTimeout pour l'initialisation du serveur
  3. Surveiller l'expiration des jetons : Vérifiez les journaux pour les problèmes d'authentification
  4. Plan de ré-authentification : Certains fournisseurs ne prennent pas en charge les jetons d'actualisation (refresh tokens)

Note : La configuration OAuth basée sur l'interface utilisateur arrivera bientôt, ce qui simplifiera le processus d'authentification directement depuis l'interface de LibreChat.

Transports serveur

Les serveurs MCP peuvent être configurés pour utiliser différents mécanismes de transport :

Serveurs STDIO

  • Fonctionne bien pour les environnements locaux à utilisateur unique
  • Non évolutif pour les déploiements distants ou dans le cloud

Serveurs Server-Sent Events (SSE)

  • Mécanisme de transport distant, mais non recommandé pour un environnement de production

Serveurs HTTP Streamables

  • Utilise HTTP POST pour l'envoi de messages et prend en charge la diffusion de réponses en continu
  • Fonctionne comme un processus indépendant capable de gérer plusieurs connexions client
  • Prend en charge à la fois les requêtes de base et le streaming via Server-Sent Events (SSE)
  • Alternative plus performante au transport HTTP+SSE hérité
  • Prend en charge des configurations de serveur multi-utilisateurs appropriées

Pour les environnements de production, seuls les serveurs MCP avec des transports "Streamable HTTP" sont recommandés. Contrairement au SSE qui maintient des connexions longue durée, le Streamable HTTP offre des options sans état (stateless) qui sont mieux adaptées aux déploiements évolutifs multi-utilisateurs.

LibreChat est à la pointe de l'implémentation d'intégrations de serveurs MCP flexibles et évolutives pour prendre en charge divers scénarios d'utilisation et vous aider à construire les flux de travail IA de demain.


Prêt à étendre vos capacités d'IA ? Commencez par configurer votre premier serveur MCP et découvrez comment LibreChat peut se connecter à pratiquement n'importe quel outil ou service dont votre organisation a besoin.

Que pensez-vous de ce guide ?