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

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 :
Avec des Agents
Les serveurs MCP s'intègrent parfaitement aux agents LibreChat :
- Créer ou modifier un agent
- Cliquez sur « Add MCP Server Tools » pour ouvrir la boîte de dialogue des outils depuis le panneau Agent Builder
- Sélectionnez les serveurs MCP une fois ajoutés, chacun apparaît comme une entrée unique
- Affinez les capacités de votre agent en activant/désactivant des outils individuels après les avoir ajoutés
- Enregistrez votre agent

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 :
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.

É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.

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

É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.

Une fois lancé, l'indicateur de statut se mettra à jour pour indiquer que l'authentification est 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.

É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.

É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.

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.

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.

É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.

Étape 3 : Configurer pour LibreChat
Accédez à l'onglet Auto dans la section Connect et sélectionnez LibreChat comme client souhaité.

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

É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.
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 :
- Guides des serveurs MCP
- Configuration des serveurs MCP
- Configuration des agents
- Fonctionnalités avancées des agents
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 :
![]()
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 MCPDepuis 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
customUserVarsdé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: falseconfiguré, 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) :
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é :
Options :
true: Utiliser les instructions fournies par le serveurfalse: Désactiver les instructionsstring: 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.
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.
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 :
- Lorsque vous sélectionnez un MCP qui utilise
customUserVars, vous pourrez Enregistrer ou Révoquer la valeur d'unecustomUserVarpour le serveur MCP sélectionné depuis le panneau MCP. - 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). - 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 :
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
Flux d'authentification OAuth
Lorsque vous configurez pour la première fois un serveur MCP avec OAuth :
- Connexion initiale : LibreChat tente de se connecter au serveur MCP
- 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.
- Interface du bouton : Cliquez sur le bouton indicateur d'authentification pour ouvrir le MCPConfigDialog et démarrer le flux OAuth
- Config Dialog : Cliquez sur le bouton Authenticate dans le MCPConfigDialog pour ouvrir la page d'authentification OAuth dans votre navigateur
- Redirection du navigateur : LibreChat ouvre le fournisseur OAuth dans votre navigateur
- Gestion du retour : LibreChat traite automatiquement le rappel OAuth une fois que vous vous êtes authentifié
- Stockage des jetons : LibreChat stocke les jetons de manière sécurisée pour une utilisation ultérieure
- 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
Où ${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 :
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/callbackou/api/oauth/openid/callbackne 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_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é.

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 :
Meilleures pratiques
- Utiliser OAuth lorsque disponible : Préférez OAuth aux clés API pour une meilleure sécurité
- Configurer les délais d'attente appropriés : Utilisez
MCP_OAUTH_HANDLING_TIMEOUTetMCP_OAUTH_FLOW_TTLpour les fenêtres de finalisation OAuth ; utilisezinitTimeoutpour l'initialisation du serveur - Surveiller l'expiration des jetons : Vérifiez les journaux pour les problèmes d'authentification
- 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 ?