MCP
Dowiedz się, jak LibreChat wykorzystuje Model Context Protocol (MCP), aby zapewnić płynną integrację z zewnętrznymi narzędziami, źródłami danych i wyspecjalizowanymi usługami.
Model Context Protocol (MCP) to otwarty protokół, który standaryzuje sposób, w jaki aplikacje dostarczają kontekst dla dużych modeli językowych (LLM). Pomyśl o MCP jak o "USB-C dla AI" – tak jak USB-C zapewnia uniwersalny standard połączeń dla urządzeń elektronicznych, tak MCP oferuje ustandaryzowany sposób łączenia modeli AI z różnorodnymi narzędziami, źródłami danych i usługami.
LibreChat wykorzystuje MCP, aby znacząco rozszerzyć możliwości Twoich agentów AI, umożliwiając integrację wszystkiego, od dostępu do systemu plików, przeglądarek internetowych i specjalistycznych API, po niestandardowe narzędzia biznesowe.
Dlaczego MCP ma znaczenie
LLMs są ograniczone do swoich wbudowanych możliwości. Dzięki MCP, LibreChat przełamuje te bariery poprzez:
- Łączenie z dowolnym narzędziem lub usługą, która udostępnia serwer MCP
- Standaryzacja integracji, dzięki której nie musisz edytować kodu LibreChat dla każdego narzędzia
- Obsługa środowisk wieloużytkownikowych z odpowiednim uwierzytelnianiem i izolacją
- Dostarczanie rozwijającego się ekosystemu dynamicznych, gotowych do użycia integracji
Jak działa MCP w LibreChat
LibreChat zapewnia dwa sposoby korzystania z serwerów MCP: w obszarze czatu lub z agentami.
Możesz skonfigurować serwery MCP ręcznie w pliku librechat.yaml lub użyć smithery.ai, aby znaleźć i zainstalować serwery MCP w librechat.yaml (zobacz przykład poniżej). Za każdym razem, gdy dodajesz lub edytujesz serwer MCP, musisz zrestartować LibreChat, aby zainicjować połączenia.
Adres URL wywołania zwrotnego OAuth
Dla serwerów MCP z włączonym OAuth, adresem URL wywołania zwrotnego (callback URL) LibreChat jest:
${DOMAIN_SERVER}/api/mcp/<server-name>/oauth/callback<server-name> to klucz używany w sekcji mcpServers w pliku librechat.yaml lub nazwa serwera utworzona w interfejsie ustawień MCP. Na przykład serwer o nazwie salesforce z parametrem DOMAIN_SERVER=https://chat.example.com używa adresu https://chat.example.com/api/mcp/salesforce/oauth/callback.
Zarejestruj ten dokładny adres URL wywołania zwrotnego (callback URL) u dostawcy OAuth. Lokalne instalacje Docker zazwyczaj używają http://localhost:3080 jako podstawowego adresu URL.
W obszarze czatu

LibreChat wyświetla skonfigurowane serwery MCP bezpośrednio w obszarze czatu podczas korzystania z tradycyjnych endpoint (OpenAI, Anthropic, Google, Bedrock itp.):
- Najpierw wybierz dowolny endpoint inny niż agent oraz model kompatybilny z narzędziami
- Serwery MCP pojawiają się na liście rozwijanej w interfejsie czatu poniżej pola wprowadzania tekstu
- Po wybraniu, wszystkie narzędzia z tego serwera stają się dostępne dla Twojego bieżącego modelu
- Szybki dostęp do narzędzi MCP bez tworzenia agenta, umożliwiający korzystanie z wielu serwerów jednocześnie
Aby wyłączyć wyświetlanie serwerów MCP na liście rozwijanej czatu (pozostawiając je wyłącznie dla agentów), ustaw chatMenu: false w swojej konfiguracji:
mcpServers:
internal-tools:
command: npx
args: ['-y', 'internal-mcp-server']
chatMenu: false # Only available in agent builderZ Agentami
Serwery MCP integrują się płynnie z agentami LibreChat:
- Utwórz lub edytuj agenta
- Kliknij "Add MCP Server Tools", aby otworzyć okno dialogowe narzędzi (Tools Dialog) z panelu Agent Builder
- Wybierz serwery MCP po ich dodaniu; każdy z nich pojawi się jako pojedynczy wpis
- Dostosuj możliwości swojego agenta poprzez włączanie/wyłączanie poszczególnych narzędzi po ich dodaniu
- Zapisz swojego agenta

Ta organizacja wyższego poziomu sprawia, że interfejs pozostaje przejrzysty – nawet serwery z ponad 20 narzędziami (takie jak Spotify) są wyświetlane jako pojedyncze wpisy, które można rozwinąć w celu uzyskania szczegółowej kontroli.
Podstawowa konfiguracja
Dodaj serwery MCP do swojego pliku librechat.yaml ręcznie:
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: trueDodawanie serwerów MCP w interfejsie użytkownika
Możesz również dodawać i konfigurować serwery MCP bezpośrednio z interfejsu LibreChat bez edytowania jakichkolwiek plików konfiguracyjnych czy restartowania serwera.
Krok 1: Otwórz panel ustawień MCP
Przejdź do panelu MCP Settings z prawego paska bocznego. Zobaczysz tutaj listę istniejących serwerów MCP oraz przycisk +, służący do dodawania nowych.

Krok 2: Wypełnij szczegóły serwera
Naciśnij przycisk + i wypełnij nazwę serwera MCP, opis, URL, typ transportu oraz metodę uwierzytelniania, a następnie kliknij Create.

Twój nowy serwer pojawi się w panelu MCP Settings wraz z powiadomieniem potwierdzającym.

Krok 3: Sprawdź status połączenia i uwierzytelnij się
Sprawdź wskaźnik stanu połączenia dla swojego nowego serwera. Jeśli serwer wymaga uwierzytelnienia OAuth, stan będzie wyświetlany jako rozłączony. Kliknij przycisk uwierzytelniania/połączenia serwera (możesz to zrobić, klikając sam serwer MCP w menu rozwijanym czatu lub klikając najpierw ikonę połączenia, aby przejść do okna dialogowego z większą ilością informacji o stanie połączenia), aby rozpocząć proces uwierzytelniania.

Po zainicjowaniu wskaźnik stanu zaktualizuje się, aby pokazać, że uwierzytelnianie jest w toku.

Krok 4: Kontynuuj w karcie OAuth
Otworzy się nowa karta przeglądarki dla dostawcy OAuth. Zweryfikuj adres URL wywołania zwrotnego (callback URL) i kliknij Continue, aby autoryzować LibreChat.

Krok 5: Uwierzytelnianie zakończone sukcesem
Po uwierzytelnieniu zobaczysz potwierdzenie sukcesu. To okno zamknie się automatycznie i przekieruje Cię z powrotem do LibreChat.

Krok 6: Serwer gotowy do użycia
LibreChat potwierdza pomyślne uwierzytelnienie i automatycznie wybiera serwer MCP do użycia w ramach Twojej konwersacji. Serwer wyświetla teraz wskaźnik stanu połączenia i jest zaznaczony na liście rozwijanej MCP Servers.

Twój nowy serwer MCP jest również dostępny w Agent Builder, gdzie możesz dodać jego narzędzia do dowolnego agenta i dostosować, który podzbiór narzędzi jest dozwolony.

Zmienne poświadczeń dla serwerów utworzonych w UI
Podczas dodawania serwera MCP przez interfejs użytkownika, możesz wymagać od użytkowników podania własnych kluczy API. W sekcji Authentication okna dialogowego MCP Server Builder wybierz "API Key" i zaznacz "User provides key". Wybierz format nagłówka (Bearer, Basic lub Custom) i zapisz serwer.
W tle LibreChat automatycznie tworzy wpis customUserVars o nazwie MCP_API_KEY i konfiguruje odpowiedni szablon nagłówka (np. Authorization: Bearer {{MCP_API_KEY}}). Każdy użytkownik podaje własny klucz za pośrednictwem okna dialogowego wyboru narzędzi MCP (MCP Tool Select Dialog) podczas konfigurowania agenta — tego samego interfejsu, który jest używany w przypadku zdefiniowanych w YAML customUserVars.
Ze względów bezpieczeństwa serwery MCP utworzone przez interfejs użytkownika (pochodzące z bazy danych) mogą tylko rozpoznawać symbole zastępcze customUserVars ({{VAR_NAME}}). Zmienne środowiskowe po stronie serwera (${ENV_VAR}), pola profilu użytkownika ({{LIBRECHAT_USER_*}}) oraz tokeny OIDC ({{LIBRECHAT_OPENID_*}}) są celowo blokowane, aby zapobiec nieautoryzowanemu dostępowi do sekretów serwera lub danych innych użytkowników. Aby uzyskać pełną obsługę symboli zastępczych, skonfiguruj serwer w pliku librechat.yaml.
Dodawanie serwerów MCP za pomocą Smithery
Smithery.ai zapewnia usprawniony sposób odkrywania i instalowania serwerów MCP dla LibreChat. Wykonaj poniższe kroki, aby rozpocząć:
Krok 1: Wyszukaj serwery MCP
Odwiedź smithery.ai i wyszukaj serwer MCP, który chcesz dodać do swojej instancji LibreChat.

Krok 2: Wybierz swój serwer MCP
Kliknij serwer MCP w wynikach wyszukiwania, aby wyświetlić szczegóły i dostępne narzędzia.

Krok 3: Konfiguracja dla LibreChat
Przejdź do karty Auto w sekcji Connect i wybierz LibreChat jako żądanego klienta.

Krok 4: Zainstaluj serwer MCP
Skopiuj i uruchom wygenerowane polecenie w swoim terminalu, aby zainstalować serwer MCP.

Krok 5: Restart i weryfikacja
Twój serwer MCP jest teraz zainstalowany i można go skonfigurować w librechat.yaml. Zrestartuj LibreChat, aby zainicjować połączenia i zacząć korzystać z nowego serwera MCP.
Serwer MCP zainstalowany przez smithery.ai i gotowy do użycia w LibreChat
Szczegółowe opcje konfiguracji i przykłady znajdują się w:
- Przewodniki po serwerach MCP
- Konfiguracja serwerów MCP
- Konfiguracja agenta
- Zaawansowane funkcje agentów
Zarządzanie serwerem MCP
LibreChat zapewnia kompleksowe narzędzia do zarządzania połączeniami z serwerami MCP, oferując śledzenie statusu połączenia oraz wsparcie dla uwierzytelniania i inicjalizacji OAuth w interfejsie użytkownika.
Wskaźniki stanu połączenia
LibreChat wyświetla dynamiczne ikony statusu pokazujące bieżący stan każdego serwera MCP na liście rozwijanej czatu oraz w panelu ustawień:
![]()
Typy statusów:
- Połączono (zielona ikona koła zębatego): Serwer jest połączony i posiada konfigurowalne customUserVars
- Wymagane OAuth (bursztynowy klucz): Serwer wymaga uwierzytelniania OAuth
- Rozłączono (pomarańczowa wtyczka): Połączenie z serwerem nie powiodło się lub zostało zerwane
- Inicjalizacja (niebieski pasek ładowania): Serwer uruchamia się lub łączy ponownie
- Błąd (czerwony trójkąt): Serwer napotkał błąd
- Anulowanie (czerwony x): proces OAuth jest anulowany
Inicjalizacja serwera
Możesz zainicjować lub ponownie zainicjować serwery MCP bezpośrednio z poziomu interfejsu:
Jedno kliknięcie:
-
Inicjalizacja jednym kliknięciem z menu rozwijanego wyboru serwera MCP
Inicjalizacja MCP jednym kliknięciem
Z MCPConfigDialog:
-
Kliknij ikonę statusu obok serwera MCP w menu rozwijanym czatu, aby otworzyć MCPConfigDialog
-
Skonfiguruj niestandardowe zmienne użytkownika i kliknij przycisk Authenticate/Initialize w zależności od typu uwierzytelniania serwera
Uwierzytelnianie w oknie konfiguracji MCPZ panelu ustawień MCP:
-
Kliknij dowolny serwer na liście serwerów w panelu ustawień MCP, aby uzyskać dostęp do kontroli konfiguracji i inicjalizacji.
-
Skonfiguruj niestandardowe zmienne użytkownika i kliknij przycisk Authenticate/Initialize w zależności od typu uwierzytelniania serwera
Inicjalizacja panelu ustawień MCP
Widoczność panelu ustawień MCP
Panel ustawień MCP pojawia się w prawym pasku bocznym, gdy LibreChat wykryje serwery MCP, które mogą wymagać interwencji użytkownika podczas ich inicjalizacji. Panel będzie widoczny, gdy którykolwiek ze skonfigurowanych serwerów spełnia jedno z poniższych kryteriów:
- Niestandardowe zmienne użytkownika: Serwer posiada zdefiniowane
customUserVars, które mogą zawierać dane uwierzytelniające dostarczone przez użytkownika - Uwierzytelnianie OAuth: Podczas uruchamiania wykryto, że serwer wymaga uwierzytelniania OAuth
- Ręczna inicjalizacja: Serwer ma skonfigurowane
startup: false, co wymaga ręcznej inicjalizacji
Funkcje specyficzne dla LibreChat
Implementacja MCP w LibreChat została zaprojektowana z myślą o wysoce konfigurowalnych, rzeczywistych środowiskach wieloużytkownikowych.
Połączenia specyficzne dla użytkownika
- Każdy użytkownik otrzymuje własne, odizolowane połączenie z serwerami MCP
- Uwierzytelnianie użytkowników i uprawnienia są respektowane
- Dane osobowe i kontekst pozostają prywatne
Udostępnianie serwerów MCP
Serwery MCP uczestniczą w systemie szczegółowej kontroli dostępu LibreChat. Oprócz serwerów zdefiniowanych w librechat.yaml (które są zarządzane przez administratorów i podlegają uprawnieniom funkcji interface.mcpServers), utworzone przez użytkowników serwery MCP posiadają własne listy ACL i mogą być udostępniane konkretnym użytkownikom, grupom, rolom lub publicznie, na poziomie przeglądającego (Viewer), edytora (Editor) lub właściciela (Owner).
Flagi funkcji USE, CREATE, SHARE oraz SHARE_PUBLIC w sekcji interface.mcpServers kontrolują, kto w ogóle ma uprawnienia do tworzenia i udostępniania serwerów MCP. Zobacz Access Control, aby dowiedzieć się, jak tworzone są warstwy uprawnień.
Dynamiczny kontekst użytkownika
Serwery MCP mogą uzyskiwać dostęp do informacji o użytkowniku za pomocą symboli zastępczych w adresach URL i nagłówkach (dla transportów SSE i Streamable HTTP):
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}'Dostępne symbole zastępcze to:
{{LIBRECHAT_USER_ID}}- Unikalny identyfikator użytkownika{{LIBRECHAT_USER_EMAIL}}- Adres e-mail użytkownika{{LIBRECHAT_USER_ROLE}}- Rola użytkownika (admin, user itp.){{LIBRECHAT_USER_USERNAME}}- Nazwa użytkownika- I wiele innych (zobacz Konfiguracja serwerów MCP, aby uzyskać pełną listę)
Serwery MCP zdefiniowane w YAML mogą również używać symboli zastępczych {{LIBRECHAT_OPENID_*}}, {{LIBRECHAT_GRAPH_*}} oraz {{LIBRECHAT_BODY_*}}. Wartości {{LIBRECHAT_BODY_*}} są ograniczone do zakresu żądania (request-scoped), więc LibreChat tworzy połączenia dla aktywnego uruchomienia, używa ich ponownie w wywołaniach narzędzi w ramach tego uruchomienia i czyści je po zakończeniu żądania. Serwery o zakresie żądania są wykluczone z trwałej pamięci podręcznej narzędzi, dzięki czemu nagłówki i adresy URL specyficzne dla żądania nie są używane ponownie poza aktywnym uruchomieniem. Symbole zastępcze użytkownika (User), OpenID oraz Graph są ograniczone do zakresu użytkownika (user-scoped); transporty HTTP odświeżają swoje rozpoznane nagłówki przed każdym wywołaniem narzędzia bez konieczności samodzielnego ponownego łączenia.
Instrukcje serwera
serverInstructions to funkcja LibreChat, która dynamicznie dodaje skonfigurowane instrukcje, gdy wybrane zostanie dowolne narzędzie z tego serwera MCP:
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 gracefullyOpcje:
true: Użyj instrukcji dostarczonych przez serwerfalse: Wyłącz instrukcjestring: Niestandardowe instrukcje (pokazane powyżej)
Konfiguracja limitu czasu (Timeout)
W przypadku długotrwałych operacji MCP należy skonfigurować odpowiednie limity czasu (timeouts) zarówno dla inicjalizacji, jak i operacji narzędzi.
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 operationsUwaga: Jeśli operacje są nadal przerywane, sprawdź konfigurację swojego proxy (np. nginx, traefik itp.), które może przedwcześnie zrywać połączenia z powodu domyślnych limitów czasu (timeouts).
Dane uwierzytelniające dostarczone przez użytkownika
Możesz zezwolić użytkownikom na podawanie własnych danych uwierzytelniających do serwerów MCP za pomocą customUserVars. Umożliwia to bezpieczne, spersonalizowane uwierzytelnianie bez konieczności przechowywania danych logowania w plikach konfiguracyjnych.
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>"Użytkownicy mogą skonfigurować te dane uwierzytelniające:
- Z obszaru czatu: Kliknij ikonę ustawień obok konfigurowalnych serwerów MCP na liście rozwijanej wyboru narzędzi
- Z panelu ustawień MCP: Uzyskaj dostęp do „MCP Settings” w prawym panelu, aby zarządzać poświadczeniami dla wszystkich skonfigurowanych serwerów
Ponowna inicjalizacja serwerów MCP z poświadczeniami użytkownika
W przypadku serwerów MCP, które wymagają poświadczeń specyficznych dla użytkownika, zanim będzie można z nich korzystać (np. PAT_TOKEN w oficjalnym serwerze MCP GitHub), LibreChat umożliwia użytkownikom podanie tych poświadczeń, a następnie ponowne zainicjowanie serwera MCP z poziomu interfejsu użytkownika bez konieczności restartowania całej aplikacji:
- Gdy wybierzesz MCP, który korzysta z
customUserVars, będziesz mógł Zapisać lub Cofnąć wartośćcustomUserVardla wybranego serwera MCP z poziomu Panelu MCP. - Po zapisaniu wartości dla
customUserVar, kliknij przycisk ponownej inicjalizacji (ikonę z kolistymi strzałkami obok każdej nazwy serwera w panelu MCP). - LibreChat spróbuje połączyć się z serwerem przy użyciu podanych przez Ciebie danych uwierzytelniających i powiadomi Cię za pomocą komunikatu typu toast, czy proces ponownej inicjalizacji zakończył się sukcesem, czy niepowodzeniem.
Wskazówka: Jeśli wiesz, że serwer będzie wymagał poświadczeń niedostępnych przy pierwszym uruchomieniu, możesz dodać
startup: falsedo jego konfiguracji. Informuje to LibreChat, aby nie próbował łączyć się z tym serwerem, dopóki nie zostanie on ręcznie zainicjowany ponownie w interfejsie użytkownika.
Przykład:
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: falseUwierzytelnianie OAuth
LibreChat obsługuje uwierzytelnianie OAuth dla serwerów MCP, zgodnie z zaleceniami Anthropic dotyczącymi bezpiecznych połączeń MCP. OAuth zapewnia ustandaryzowany, bezpieczny sposób uwierzytelniania bez konieczności przechowywania długoterminowych danych uwierzytelniających.
Obsługiwane przepływy OAuth
Serwery MCP LibreChat obsługują OAuth 2.0 z:
- Authorization Code Flow with PKCE: Zalecany dla zapewnienia maksymalnego bezpieczeństwa
- Wykrywanie klienta: Automatyczna rejestracja klienta, gdy jest obsługiwana przez dostawcę OAuth
- Refresh Tokens: Automatyczne odnawianie tokenów, gdy jest dostępne
Przykłady konfiguracji
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'Przepływ uwierzytelniania OAuth
Gdy po raz pierwszy konfigurujesz serwer MCP z włączonym OAuth:
- Początkowe połączenie: LibreChat próbuje połączyć się z serwerem MCP
- Wymagane uwierzytelnienie: Jeśli nie istnieje żaden ważny token, w menu rozwijanym czatu dla danego serwera zobaczysz wskaźnik uwierzytelnienia OAuth.
- Interfejs przycisku: Kliknij przycisk wskaźnika uwierzytelniania, aby otworzyć MCPConfigDialog i rozpocząć proces OAuth
- Okno dialogowe konfiguracji: Kliknij przycisk Authenticate w MCPConfigDialog, aby otworzyć stronę uwierzytelniania OAuth w przeglądarce
- Przekierowanie przeglądarki: LibreChat otwiera dostawcę OAuth w Twojej przeglądarce
- Obsługa powrotu: LibreChat automatycznie przetwarza callback OAuth po uwierzytelnieniu się.
- Przechowywanie tokenów: LibreChat bezpiecznie przechowuje tokeny do późniejszego wykorzystania
- Połączenie nawiązane: Po uwierzytelnieniu serwer MCP zostanie połączony i będzie można z niego korzystać w czacie
Adres URL wywołania zwrotnego OAuth
Gdy serwer MCP korzysta z OAuth, LibreChat udostępnia endpoint wywołania zwrotnego (callback), na który dostawca OAuth przekierowuje użytkownika po pomyślnej autoryzacji.
Adres URL wywołania zwrotnego (callback URL) musi być zgodny z tym formatem:
${baseUrl}/api/mcp/${serverName}/oauth/callback
Gdzie ${serverName} to klucz serwera MCP zdefiniowany w Twojej konfiguracji librechat.yaml. LibreChat obsługuje przekierowanie pod tym endpoint, finalizuje wymianę tokenów i przypisuje poświadczenia do odpowiedniego serwera MCP.
Przykład adresu URL wywołania zwrotnego OAuth
Biorąc pod uwagę poniższą konfigurację serwera MCP:
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'Adres URL wywołania zwrotnego (callback URL) to ${baseUrl}/api/mcp/spotify/oauth/callback.
Uwaga:
- Adres URL wywołania zwrotnego (callback URL) musi być dokładnie zarejestrowany u dostawcy OAuth, aby przepływ działał poprawnie.
- Inne ścieżki, takie jak
/api/oauth/callbacklub/api/oauth/openid/callback, nie są poprawne dla przepływów OAuth MCP.
Zarządzanie tokenami
LibreChat inteligentnie zarządza tokenami OAuth:
- Bezpieczne przechowywanie: Tokeny są szyfrowane i przechowywane w bezpieczny sposób
- Automatyczne odświeżanie: Gdy dostępne są tokeny odświeżania (refresh tokens), LibreChat automatycznie odnawia wygasłe tokeny dostępu.
- Ciche odzyskiwanie 401: Jeśli połączenie OAuth MCP otrzyma błąd 401 w trakcie sesji, a dostępny jest token odświeżania, LibreChat podejmie próbę cichego odświeżenia przed wyświetleniem nowego monitu o uwierzytelnienie.
- Zarządzanie sesjami: Każdy użytkownik utrzymuje własne sesje OAuth w środowiskach wieloużytkownikowych
Każdy użytkownik zostanie poproszony o uwierzytelnienie za pomocą własnego loginu OAuth przy pierwszym użyciu serwera MCP z włączoną obsługą OAuth. Zapewnia to, że szczegóły połączenia i uwierzytelniania są unikalne dla każdego użytkownika, co pozwala zachować bezpieczeństwo i prywatność w środowiskach wieloużytkownikowych.
Czas OAuth
Ukończenie MCP OAuth w LibreChat wykorzystuje własny limit czasu skonfigurowany na serwerze, zamiast używać initTimeout serwera MCP. Domyślnie LibreChat czeka do 10 minut na ukończenie procesu MCP OAuth przez użytkownika i przechowuje stan przepływu przez 15 minut.
Użyj tych zmiennych środowiskowych, gdy dostawca OAuth lub przepływ pracy użytkownika wymaga więcej czasu:
MCP_OAUTH_HANDLING_TIMEOUT=600000
MCP_OAUTH_FLOW_TTL=900000MCP_OAUTH_FLOW_TTL jest ograniczony tak, aby trwał dłużej niż MCP_OAUTH_HANDLING_TIMEOUT, dzięki czemu wywołania zwrotne (callbacks) bliskie upływu terminu nadal mogą odnaleźć swój stan przepływu. Okno odpytywania karty serwera MCP jest zgodne ze skonfigurowanym limitem czasu obsługi (handling timeout).

Uwaga: Tokeny wyświetlane podczas uruchamiania aplikacji służą wyłącznie do inicjalizacji na poziomie aplikacji i nie są używane do indywidualnych połączeń użytkowników.
Przykład automatycznego odświeżania tokenów:
[MCP][spotify] Access token missing
[MCP][spotify] Attempting to refresh token
[MCP][spotify] Successfully refreshed and stored OAuth tokens
[MCP][spotify] ✓ InitializedNajlepsze praktyki
- Używaj OAuth, gdy jest dostępny: Preferuj OAuth zamiast kluczy API dla lepszego bezpieczeństwa
- Skonfiguruj odpowiednie limity czasu: Użyj
MCP_OAUTH_HANDLING_TIMEOUTorazMCP_OAUTH_FLOW_TTLdla okien zakończenia OAuth; użyjinitTimeoutdla inicjalizacji serwera - Monitorowanie wygaśnięcia tokenów: Sprawdź logi pod kątem problemów z uwierzytelnianiem
- Plan ponownego uwierzytelniania: Niektórzy dostawcy nie obsługują tokenów odświeżania
Uwaga: Konfiguracja OAuth z poziomu interfejsu użytkownika pojawi się wkrótce, co usprawni proces uwierzytelniania bezpośrednio z poziomu LibreChat.
Server Transports
Serwery MCP można skonfigurować tak, aby korzystały z różnych mechanizmów transportowych:
Serwery STDIO
- Dobrze sprawdza się w lokalnych środowiskach dla jednego użytkownika
- Nie skalowalne w przypadku wdrożeń zdalnych lub w chmurze
Serwery Server-Sent Events (SSE)
- Mechanizm zdalnego transportu, ale niezalecany w środowisku produkcyjnym
Strumieniowalne serwery HTTP
- Używa HTTP POST do wysyłania wiadomości i obsługuje strumieniowanie odpowiedzi
- Działa jako niezależny proces, który może obsługiwać wiele połączeń klienckich
- Obsługuje zarówno podstawowe żądania, jak i przesyłanie strumieniowe za pomocą Server-Sent Events (SSE)
- Wydajniejsza alternatywa dla starszego transportu HTTP+SSE
- Obsługuje odpowiednie konfiguracje serwerów wieloużytkownikowych
W środowiskach produkcyjnych zalecane są wyłącznie serwery MCP z transportem "Streamable HTTP". W przeciwieństwie do SSE, które utrzymuje długotrwałe połączenia, Streamable HTTP oferuje opcje bezstanowe, które lepiej sprawdzają się w skalowalnych wdrożeniach wieloużytkownikowych.
LibreChat znajduje się w czołówce wdrażania elastycznych i skalowalnych integracji serwerów MCP, aby wspierać różnorodne scenariusze użycia i pomagać w budowaniu przepływów pracy AI jutra.
Gotowy na rozszerzenie swoich możliwości AI? Zacznij od skonfigurowania swojego pierwszego serwera MCP i odkryj, jak LibreChat może połączyć się z praktycznie każdym narzędziem lub usługą, której potrzebuje Twoja organizacja.
Jaka jest ta instrukcja?