Ogni chiave sotto `mcpServers` rappresenta una configurazione individuale di un server MCP, identificata da un nome univoco. Questo nome viene utilizzato per fare riferimento alla configurazione del server all'interno dell'applicazione.
(Opzionale) Nome visualizzato personalizzato per il server MCP nell'interfaccia utente. Se non specificato, viene utilizzato il nome della chiave del server.
title: "My Custom Server"
description
String
(Opzionale) Descrizione del server MCP, visualizzata nell'interfaccia utente per aiutare gli utenti a comprenderne lo scopo.
description: "Provides file system access"
type
String
Specifica il tipo di connessione al server MCP. Le opzioni valide sono `"stdio"`, `"websocket"`, `"streamable-http"` o `"sse"`. Se omesso, viene impostato come predefinito in base alla presenza e al formato di `url` o `command`.
type: "stdio"
command
String
(Per il tipo `stdio`) Il comando o l'eseguibile da eseguire per avviare il server MCP.
command: "npx"
args
Array of Strings
(Per il tipo `stdio`) Argomenti della riga di comando da passare al `command`.
(Per il tipo `websocket`, `streamable-http` o `sse`) L'URL a cui connettersi al server MCP.
url: "http://localhost:3001/sse"
proxy
String
(Opzionale, per i tipi `sse` e `streamable-http`) URL del proxy in uscita per questo server MCP remoto. Supporta URL `http://`, `https://`, `socks://` e `socks5://`.
proxy: "${MCP_PROXY_URL}"
headers
Object
(Opzionale, per i tipi `sse` e `streamable-http`) Intestazioni personalizzate da inviare con la richiesta. Supporta la sostituzione dinamica dei campi utente con segnaposto `{{LIBRECHAT_USER_*}}` e variabili d'ambiente con `${ENV_VAR}`.
(Opzionale, per i tipi `sse` e `streamable-http`) Configurazione dell'autenticazione tramite API key per il server MCP.
See apiKey section below
iconPath
String
(Opzionale) Definisce l'icona di visualizzazione dello strumento mostrata nella finestra di dialogo di selezione dello strumento.
iconPath: "/path/to/icon.svg"
chatMenu
Boolean
(Opzionale) Se impostato su `false`, esclude il server MCP dal menu a discesa dell'area chat (MCPSelect) per un accesso rapido e semplice. Il valore predefinito è `true`.
chatMenu: false
serverInstructions
Boolean or String
(Opzionale) Controlla come le istruzioni del server MCP vengono iniettate nel contesto dell'agente. Le istruzioni del server forniscono una guida all'utilizzo di alto livello per l'intero server MCP, integrando le descrizioni dei singoli strumenti.
serverInstructions: true
# or
serverInstructions: "Custom instructions"
timeout
Integer
(Opzionale) Timeout in millisecondi per le richieste al server MCP. Deve essere un numero intero non negativo.
timeout: 30000
initTimeout
Integer
(Opzionale) Timeout in millisecondi per l'inizializzazione del server MCP. Deve essere un numero intero non negativo.
initTimeout: 10000
env
Object
(Opzionale, solo tipo `stdio`) Variabili d'ambiente da utilizzare durante l'avvio del processo.
env:
NODE_ENV: "production"
requiresOAuth
Boolean
(Opzionale, trasporti remoti: `sse`, `streamable-http`, `websocket`) Indica se questo server richiede l'autenticazione OAuth. Se non specificato, verrà rilevato automaticamente all'avvio del server. Sebbene sia opzionale, è preferibile impostare questo valore esplicitamente se si sa se il server richiede o meno OAuth. Impostare `requiresOAuth: false` è utile per i server protetti da un header `Authorization` statico, per evitare il rilevamento automatico che altrimenti li classificherebbe erroneamente come protetti da OAuth.
requiresOAuth: false
stderr
String or Integer
(Opzionale, solo tipo `stdio`) Come gestire `stderr` del processo figlio. Opzioni: `"pipe"`, `"ignore"`, `"inherit"`, o un intero non negativo (descrittore di file). L'impostazione predefinita è `"inherit"`.
stderr: "inherit"
customUserVars
Object
(Opzionale) Definisce variabili personalizzate che gli utenti possono impostare per questo server MCP, consentendo credenziali o configurazioni per singolo utente (ad es. chiavi API). Queste variabili possono quindi essere referenziate nei campi `headers` o `env`.
customUserVars:
API_KEY:
title: "API Key"
description: "Your personal API key."
oauth
Object
(Opzionale) Configurazione OAuth2 per l'autenticazione con il server MCP. Quando configurata, agli utenti verrà richiesto di autenticarsi tramite il flusso OAuth.
(Opzionale) Mappa dei nomi e dei valori delle intestazioni utilizzati solo per le richieste del flusso OAuth, come la registrazione dinamica del client o lo scambio di token.
(Opzionale, per i tipi `sse` e `streamable-http`) Configurazione dello scambio di token On-Behalf-Of. Scambia il token di accesso OpenID dell'utente corrente con un token delegato downstream e lo inoltra come token Bearer.
Descrizione: Nome visualizzato personalizzato per il server MCP nell'interfaccia utente. Se non specificato, viene utilizzato il nome della chiave del server.
Esempio:
my-server: title: 'File System Access' command: npx args: ['-y', '@modelcontextprotocol/server-filesystem']
Descrizione: Descrizione del server MCP, visualizzata nell'interfaccia utente per aiutare gli utenti a comprenderne lo scopo e le funzionalità.
Esempio:
my-server: title: 'File System Access' description: 'Provides read/write access to local files and directories' command: npx args: ['-y', '@modelcontextprotocol/server-filesystem']
Descrizione: (Per il tipo websocket, streamable-http o sse) L'URL a cui connettersi al server MCP. Supporta segnaposto dinamici per i campi utente ({{LIBRECHAT_USER_*}}) e la sostituzione delle variabili d'ambiente (${ENV_VAR}).
Note:
Per il tipo sse, l'URL deve iniziare con http:// o https://.
Per il tipo streamable-http, l'URL deve iniziare con http:// o https://.
Per il tipo websocket, l'URL deve iniziare con ws:// o wss://.
Tipo: Stringa (Opzionale, per i tipi sse e streamable-http)
Descrizione: URL del proxy in uscita per questo server MCP remoto. Il valore può fare riferimento a variabili d'ambiente con ${ENV_VAR}.
Protocolli supportati:http://, https://, socks:// e socks5://
Nota sulla sicurezza:proxy è controllato dall'amministratore. Risolve le variabili d'ambiente, ma non risolve i segnaposto controllati dall'utente come {{LIBRECHAT_USER_ID}} o customUserVars.
Tipo: Oggetto (Opzionale, per i tipi sse e streamable-http)
Descrizione: Header personalizzati da inviare con la richiesta. Supporta vari tipi di segnaposto per la sostituzione dinamica dei valori.
Supporto segnaposto:
{{LIBRECHAT_USER_ID}}: Verrà sostituito con l'ID dell'utente corrente, abilitando il supporto multi-utente.
{{LIBRECHAT_USER_*}}: Segnaposto dinamici per i campi utente. Sostituisci * con la versione in MAIUSCOLO di qualsiasi campo consentito.
{{LIBRECHAT_OPENID_*}}: segnaposto per token/sessione OpenID per server definiti in YAML.
{{LIBRECHAT_GRAPH_*}}: segnaposto dei token di Microsoft Graph per i server definiti in YAML.
{{LIBRECHAT_BODY_*}}: Segnaposto del corpo della richiesta per server definiti in YAML, come i correnti conversationId, parentMessageId o messageId.
{{CUSTOM_VARIABLE_NAME}}: Sostituito con il valore fornito dall'utente per una variabile definita in customUserVars (ad esempio, {{MY_API_KEY}}).
${ENV_VAR}: Verrà sostituito con il valore della variabile d'ambiente {{ENV_VAR}}.
Segnaposto dei campi utente disponibili:
Segnaposto
Campo Utente
Tipo
Descrizione
{{LIBRECHAT_USER_NAME}}
name
Stringa
Nome visualizzato dell'utente
{{LIBRECHAT_USER_USERNAME}}
username
Stringa
Nome utente
{{LIBRECHAT_USER_EMAIL}}
email
Stringa
Indirizzo email dell'utente
{{LIBRECHAT_USER_PROVIDER}}
provider
Stringa
Provider di autenticazione (es. "email", "google", "github")
{{LIBRECHAT_USER_ROLE}}
role
Stringa
Ruolo dell'utente (es. "user", "admin")
{{LIBRECHAT_USER_GOOGLEID}}
googleId
Stringa
ID account Google
{{LIBRECHAT_USER_FACEBOOKID}}
facebookId
Stringa
ID account Facebook
{{LIBRECHAT_USER_OPENIDID}}
openidId
Stringa
ID account OpenID
{{LIBRECHAT_USER_SAMLID}}
samlId
Stringa
ID account SAML
{{LIBRECHAT_USER_LDAPID}}
ldapId
Stringa
ID account LDAP
{{LIBRECHAT_USER_GITHUBID}}
githubId
Stringa
ID account GitHub
{{LIBRECHAT_USER_DISCORDID}}
discordId
Stringa
ID account Discord
{{LIBRECHAT_USER_APPLEID}}
appleId
Stringa
ID account Apple
{{LIBRECHAT_USER_EMAILVERIFIED}}
emailVerified
Booleano → Stringa
Stato verifica email ("true" o "false")
{{LIBRECHAT_USER_TWOFACTORENABLED}}
twoFactorEnabled
Booleano → Stringa
Stato 2FA ("true" o "false")
{{LIBRECHAT_USER_TERMSACCEPTED}}
termsAccepted
Booleano → Stringa
Stato accettazione termini ("true" o "false")
Nota: I campi mancanti verranno sostituiti con stringhe vuote.
I segnaposto {{LIBRECHAT_BODY_*}} hanno un ambito limitato alla richiesta (request-scoped). LibreChat crea la connessione MCP per l'esecuzione attiva, la riutilizza tra le chiamate agli strumenti durante tale esecuzione e la chiude al termine della richiesta. I server con ambito limitato alla richiesta sono esclusi dalla cache persistente degli strumenti, in modo che le intestazioni e gli URL specifici della richiesta non vengano riutilizzati al di fuori dell'esecuzione attiva. I segnaposto {{LIBRECHAT_USER_*}}, {{LIBRECHAT_OPENID_*}} e {{LIBRECHAT_GRAPH_*}} rendono comunque il server con ambito limitato all'utente (user-scoped), ma i trasporti HTTP aggiornano le intestazioni risolte prima di ogni chiamata allo strumento senza forzare autonomamente una riconnessione.
Tipo: Oggetto (Opzionale, per i tipi sse e streamable-http)
Descrizione: Configurazione dell'autenticazione tramite chiave API per il server MCP. Fornisce un modo strutturato per configurare l'autenticazione basata su chiave API.
Sotto-chiavi:
source: String - Da dove proviene la chiave API. Opzioni:
"admin": La chiave API è configurata dall'amministratore (nelle variabili d'ambiente o nella configurazione)
"user": la chiave API viene fornita dall'utente tramite l'interfaccia utente
authorization_type: String - Il modo in cui la chiave API viene inviata nelle richieste. Opzioni:
"bearer": Inviato come Authorization: Bearer <key>
"basic": Inviato come Authorization: Basic <key>
"custom": Inviato in un header personalizzato (richiede custom_header)
custom_header: String - (Obbligatorio quando authorization_type è "custom") Il nome dell'intestazione da utilizzare per la chiave API
Esempio:
# Admin-provided API key with Bearer authmy-server: type: streamable-http url: https://api.example.com/mcp apiKey: source: 'admin' authorization_type: 'bearer'# User-provided API key with custom headeranother-server: type: sse url: https://api.example.com/sse apiKey: source: 'user' authorization_type: 'custom' custom_header: 'X-API-Key'
Descrizione: Controlla come le istruzioni del server MCP vengono iniettate nel contesto dell'agente. Le istruzioni del server forniscono una guida all'utilizzo di alto livello per l'intero server MCP, integrando le descrizioni dei singoli strumenti.
Opzioni:
undefined (predefinito): Nessuna istruzione è inclusa
true: Utilizza le istruzioni fornite dal server (se disponibili) - ideale per server ben documentati con una guida completa
false: Disabilita esplicitamente le istruzioni - utile per risparmiare token di contesto o quando gli strumenti sono autoesplicativi
string: Utilizza istruzioni personalizzate (sovrascrivono quelle fornite dal server) - ideale per flussi di lavoro specifici dell'applicazione o quando le istruzioni del server non sono sufficienti
Valore predefinito:undefined (nessuna istruzione inclusa)
Note:
Le istruzioni vengono iniettate automaticamente quando serverInstructions è configurato e gli strumenti del server sono disponibili per l'agente.
Più server possono contribuire ciascuno con istruzioni al contesto dell'agente
Esempio:
# Use server-provided instructionsserverInstructions: true# Use custom instructionsserverInstructions: | When using this filesystem server: 1. Always use absolute paths for file operations 2. Check file permissions before attempting write operations# Explicitly disable instructionsserverInstructions: false
Tipo: Booleano (Opzionale, solo per trasporti remoti: sse, streamable-http, websocket)
Descrizione: Indica se questo server richiede l'autenticazione OAuth. Se non specificato, verrà rilevato automaticamente all'avvio del server. Sebbene sia facoltativo, è preferibile impostare questo valore esplicitamente se si sa se il server richiede o meno OAuth.
Valore predefinito: Rilevato automaticamente se non specificato
Note:
Applicabile ai trasporti remoti (basati su URL): sse, streamable-http e websocket. Non ha alcun effetto sui server stdio, che non hanno un URL su cui autenticarsi.
Il rilevamento automatico avviene durante l'avvio del server, il che potrebbe aumentare il tempo di inizializzazione.
La configurazione esplicita migliora le prestazioni all'avvio saltando il rilevamento
Imposta requiresOAuth: false per i server protetti solo da un'intestazione Authorization statica (ad esempio, una chiave API Bearer). Il rilevamento automatico esegue il probe del server senza le intestazioni configurate, quindi un server che risponde con un errore 401 e una richiesta WWW-Authenticate: Bearer può essere erroneamente classificato come protetto da OAuth; questo flag ignora tale probe e consente alla tua intestazione statica di autenticare la connessione normalmente.
Funziona con le variabili d'ambiente MCP OAuth (MCP_OAUTH_ON_AUTH_ERROR, MCP_OAUTH_DETECTION_TIMEOUT, MCP_OAUTH_HANDLING_TIMEOUT, MCP_OAUTH_FLOW_TTL) per una gestione avanzata delle connessioni
Tipo: Stringa o Intero (Opzionale, solo tipo stdio)
Descrizione: Come gestire stderr del processo figlio. Questo corrisponde alla semantica di child_process.spawn di Node. Valori stringa validi: "pipe", "ignore", "inherit". In alternativa, è possibile utilizzare un numero intero non negativo come descrittore di file.
Valore predefinito:"inherit" (i messaggi verso stderr verranno stampati sullo stderr del processo genitore).
Descrizione: Definisce variabili personalizzate che gli utenti possono impostare per questo server MCP. Ciò consente agli amministratori di specificare variabili (ad esempio, chiavi API, URL) che ogni utente deve configurare individualmente. Questi valori forniti dall'utente possono quindi essere utilizzati nella configurazione di headers o env. I server con customUserVars vengono automaticamente esclusi dalle connessioni a livello di app, garantendo che le credenziali per utente vengano sempre risolte in fase di esecuzione.
Struttura:
L'oggetto customUserVars contiene chiavi, dove ogni chiave rappresenta un nome di variabile (ad esempio, MY_API_KEY). Questo nome verrà utilizzato nei segnaposto come {{MY_API_KEY}}.
Ogni nome di variabile è un oggetto con le seguenti sottochiavi:
title: String (Obbligatorio) - Un titolo intuitivo per la variabile, visualizzato nell'interfaccia di configurazione.
description: String (Optional) - A description or instructions for the variable, also displayed in the UI to guide the user. HTML can be used in this field (e.g., to create a link: <a href="https://example.com" target="_blank">More info</a>).
sensitive: Booleano (Opzionale) - Controlla se il valore viene trattato come un segreto e mascherato nell'interfaccia utente. Per impostazione predefinita, se omesso, il comportamento è mascherato/segreto; impostare su false per campi non segreti come ID progetto o URL di base.
Utilizzo in headers e env:
Una volta definite sotto customUserVars, queste variabili possono essere referenziate nelle sezioni headers (per i tipi sse e streamable-http) o env (per il tipo stdio) utilizzando la sintassi {{VARIABLE_NAME}}.
Gli utenti forniscono questi valori tramite l'interfaccia utente. È possibile accedere a queste impostazioni in due modi:
Dall'input della chat dell'assistente: Quando si selezionano gli strumenti MCP per un assistente, apparirà un'icona delle impostazioni accanto ai server MCP configurabili nel menu a discesa della selezione degli strumenti. Cliccando su questa icona si apre una finestra di dialogo per gestire le credenziali di quel server.
Dal pannello Impostazioni: Una sezione dedicata "MCP Settings" nel pannello di destra elenca tutti i server MCP con variabili personalizzate definibili. Gli utenti possono fare clic su un server per aprire la finestra di dialogo di configurazione per impostare o aggiornare le proprie credenziali per quello specifico server MCP.
Questi valori forniti dall'utente vengono archiviati in modo sicuro, associati al singolo utente e allo specifico server MCP, e sostituiti in fase di esecuzione.
Esempio:
customUserVars: MY_SERVICE_API_KEY: title: 'My Service API Key' description: "Your personal API access key for My Service. Find it at <a href='https://myservice.example.com/settings/api' target='_blank'>My Service API Settings</a>." sensitive: true SOME_OTHER_VAR: title: 'Some Other Variable' description: 'The specific value for some other configuration (e.g., a specific path or identifier).' sensitive: false
Tipo: Oggetto (Opzionale, solo per i tipi sse e streamable-http)
Descrizione: Configura lo scambio di token OAuth 2.0 On-Behalf-Of per un server MCP. LibreChat scambia il token di accesso OpenID dell'utente connesso con un token delegato downstream con gli scope configurati, quindi inoltra tale token al server MCP come header Authorization: Bearer ....
Sottochiavi richieste:
scopes: String - Scopes non vuoti richiesti per lo scambio di token a valle.
Validazione:
obo è valido solo per i server MCP sse e streamable-http.
obo viene rifiutato per i server stdio e websocket.
Gli utenti necessitano dell'autorizzazione del ruolo MCP_SERVERS.CONFIGURE_OBO per configurare questo campo. Impostalo inizialmente con interface.mcpServers.configureObo o gestiscilo dal pannello di amministrazione.
Prerequisiti:
L'autenticazione OpenID deve essere configurata con token di accesso riutilizzabili.
Il tuo identity provider e l'applicazione downstream devono consentire l'ambito delegato richiesto.
Descrizione: Configurazione OAuth2 per l'autenticazione con il server MCP. Una volta configurato, agli utenti verrà richiesto di autenticarsi tramite il flusso OAuth prima che il server MCP possa essere utilizzato. Se non vengono forniti client id e client secret, verrà utilizzata la Dynamic Client Registration (DCR).
Sottochiavi richieste:
authorization_url: String - L'URL dell'endpoint di autorizzazione OAuth
token_url: String - L'URL dell'endpoint del token OAuth
client_id: String - Identificativo client OAuth
client_secret: String - Segreto client OAuth
redirect_uri: String - URI di reindirizzamento OAuth (es. http://localhost:3080/api/mcp/${serverName}/oauth/callback)
scope: String - Scope OAuth (separati da spazi)
Sottochiavi opzionali:
grant_types_supported: Array di Stringhe - Tipi di grant supportati (predefinito a ["authorization_code", "refresh_token"])
token_endpoint_auth_methods_supported: Array of Strings - Metodi di autenticazione dell'endpoint del token supportati (predefinito a ["client_secret_basic", "client_secret_post"])
token_exchange_method: String - Metodo di richiesta per lo scambio di token. Utilizzare default_post per i provider che si aspettano le credenziali client OAuth nel corpo della richiesta POST.
response_types_supported: Array di Stringhe - Tipi di risposta supportati (predefinito a ["code"])
code_challenge_methods_supported: Array di Stringhe - Metodi di code challenge PKCE supportati (predefinito a ["S256", "plain"])
skip_code_challenge_check: Booleano - Salta il controllo per verificare se il provider OAuth pubblicizza il supporto PKCE. Utile per provider come AWS Cognito che supportano S256 ma non lo pubblicizzano nei propri metadati. (il valore predefinito è false)
Variabili d'ambiente: i campi URL OAuth definiti in YAML, inclusi authorization_url, token_url, redirect_uri e revocation_endpoint, possono utilizzare riferimenti ${ENV_VAR}. LibreChat risolve il valore dell'ambiente prima della convalida dell'URL. Gli URL degli endpoint OAuth gestiti dall'utente e inviati tramite l'interfaccia utente devono essere URL letterali e rifiutare i segnaposto ${ENV_VAR}.
Descrizione: Intestazioni utilizzate specificamente per le richieste del flusso OAuth. Queste intestazioni vengono impiegate durante l'autenticazione OAuth, come la registrazione dinamica del client e lo scambio di token, e non vengono inviate durante la normale comunicazione con il server MCP.
Casi d'uso comuni:
Aggiunta dell'autenticazione agli endpoint di registrazione client dinamica, come Authorization: Bearer ${DCR_API_KEY}
Inclusione di intestazioni personalizzate specifiche del provider richieste per i flussi OAuth
Impostazione degli header necessari per gli endpoint dei token OAuth
Differenze chiave rispetto a headers:
headers: Inviati con le normali richieste al server MCP dopo il completamento dell'autenticazione
oauth_headers: Inviato solo durante i flussi di autenticazione OAuth
Descrizione: Se impostato su false, questo server MCP non verrà connesso all'avvio dell'applicazione. Ciò è utile per i server che richiedono l'input o la configurazione dell'utente prima della connessione, o per i casi in cui si desidera controllare quando il server viene inizializzato.
Se url è specificato e inizia con http:// o https://, type è impostato per impostazione predefinita su sse.
Se url è specificato e inizia con ws:// o wss://, type è impostato come websocket per impostazione predefinita.
Se command è specificato, type è impostato come stdio per impostazione predefinita.
Tipi di connessione:
stdio: Avvia un server MCP come processo figlio e comunica tramite input/output standard.
websocket: Si connette a un server MCP esterno tramite WebSocket.
sse: Si connette a un server MCP esterno tramite Server-Sent Events (SSE).
streamable-http: Si connette a un server MCP esterno tramite HTTP con supporto per lo streaming delle risposte.
Indirizzi Interni/Locali:
Importante: I server MCP che utilizzano indirizzi IP interni (ad esempio, 172.24.1.165, 192.168.1.100) o domini locali (ad esempio, mcp-server, host.docker.internal) devono essere esplicitamente autorizzati. Utilizza mcpSettings.allowedAddresses per servizi host:porta privati specifici quando desideri che le destinazioni pubbliche rimangano raggiungibili, oppure mcpSettings.allowedDomains quando desideri una whitelist rigorosa.
Vedi MCP Settings per i dettagli sulla configurazione.
Quando si utilizzano server MCP interni/locali e non è necessaria una whitelist di domini rigorosa, configurare mcpSettings.allowedAddresses con l'host e la porta esatti:
# MCP Settings - Required for internal/local addressesmcpSettings: allowedAddresses: - '172.24.1.165:8000' # Internal IP and port - 'mcp-prod:8001' # Docker container and port - 'host.docker.internal:8080' # Docker host and port# MCP Servers - Individual configurationsmcpServers: prod-mcp: type: streamable-http url: http://172.24.1.165:8000/mcp timeout: 120000 test-mcp: type: streamable-http url: http://mcp-prod:8001/mcp timeout: 120000
my-mcp-server: type: streamable-http url: 'https://api.example-service.com/api/' # Example URL headers: X-Auth-Token: '{{API_KEY}}' # Uses the API_KEY defined below customUserVars: API_KEY: # This key will be used as {{API_KEY}} in headers/url title: 'API Key' # This is the label shown above the input field description: "Get your API key <a href='https://example.com/api-keys' target='_blank'>here</a>." # This description appears below the input
NOTA Consulta MCP Server Initialization per ulteriori informazioni sull'inizializzazione del server basata su interfaccia utente.
# Server that uses its own provided instructionsweb-search: type: streamable-http url: https://example.com/mcp/search serverInstructions: true# Server with instructions explicitly disabledfilesystem: command: npx args: - -y - '@modelcontextprotocol/server-filesystem' - /home/user/documents/ serverInstructions: false# Server with custom instructionspuppeteer: type: stdio command: npx args: - -y - '@modelcontextprotocol/server-puppeteer' serverInstructions: | Browser automation security and best practices: 1. Be cautious with local file access and internal IP addresses 2. Take screenshots to verify successful page interactions 3. Wait for page elements to load before interacting with them 4. Use specific CSS selectors for reliable element targeting 5. Check console logs for JavaScript errors when troubleshooting
# OAuth configuration for MCP serversMCP_OAUTH_ON_AUTH_ERROR=trueMCP_OAUTH_DETECTION_TIMEOUT=10000MCP_OAUTH_HANDLING_TIMEOUT=600000MCP_OAUTH_FLOW_TTL=900000# API key for the serviceCOMPOSIO_API_KEY=your_composio_api_key_here
Importazione delle configurazioni del server MCP
Le configurazioni mcpServers consentono a LibreChat di interagire dinamicamente con vari server MCP, che possono eseguire attività specializzate o fornire funzionalità specifiche all'interno dell'applicazione. Questo approccio modulare facilita l'estensione delle capacità dell'applicazione semplicemente aggiungendo o modificando le configurazioni del server.
{{LIBRECHAT_USER_USERNAME}} - Nome utente dell'utente
{{LIBRECHAT_USER_ROLE}} - Ruolo dell'utente (es. "user", "admin")
E molti altri campi (vedi la sezione headers per l'elenco completo)
Gestione dell'inattività dell'utente:
Le connessioni degli utenti vengono monitorate per verificarne l'attività e verranno disconnesse dopo 15 minuti di inattività.
Variabili d'ambiente:
In env (per il tipo stdio): Utile per impostare specifici ambienti di runtime o configurazioni richieste dal processo del server MCP.
In headers (per i tipi sse e streamable-http): Utilizza la sintassi ${ENV_VAR} per fare riferimento alle variabili d'ambiente nei valori delle intestazioni.
Campi utente dinamici:
I segnaposto del campo utente vengono sostituiti in fase di esecuzione con le informazioni dell'utente autenticato.
Sono disponibili solo i campi non sensibili (password e altri dati sensibili sono esclusi)
I campi mancanti vengono impostati come stringhe vuote per impostazione predefinita
I campi booleani vengono convertiti in rappresentazioni stringa ("true" o "false")
Gestione degli errori (stderr):
La configurazione di stderr ti consente di gestire il modo in cui vengono gestiti i messaggi di errore dal processo del server MCP. L'impostazione predefinita "inherit" significa che gli errori verranno stampati nello stderr del processo padre.
Istruzioni del Server:
Le istruzioni vengono iniettate automaticamente nel messaggio di sistema dell'agente quando vengono utilizzati gli strumenti del server MCP.
Le Custom instructions (valori stringa) hanno la precedenza sulle istruzioni fornite dal server
Più server MCP possono contribuire ciascuno con le proprie istruzioni al contesto dell'agente
Le istruzioni sono incluse solo quando gli strumenti del server MCP corrispondente sono effettivamente disponibili per l'agente
Autenticazione OAuth:
Il flusso OAuth2 è supportato per un'autenticazione sicura con i server MCP
Agli utenti verrà richiesto di autenticarsi tramite OAuth prima che il server MCP possa essere utilizzato
Configurando correttamente i mcpServers nel tuo librechat.yaml, puoi migliorare le funzionalità di LibreChat e integrare strumenti e servizi personalizzati senza problemi.