Setiap kunci di bawah `mcpServers` mewakili konfigurasi server MCP individual, yang diidentifikasi dengan nama unik. Nama ini digunakan untuk merujuk konfigurasi server di dalam aplikasi.
(Opsional) Nama tampilan kustom untuk server MCP di UI. Jika tidak ditentukan, nama kunci server yang akan digunakan.
title: "My Custom Server"
description
String
(Opsional) Deskripsi server MCP, ditampilkan di UI untuk membantu pengguna memahami tujuannya.
description: "Provides file system access"
type
String
Menentukan tipe koneksi ke server MCP. Opsi yang valid adalah `"stdio"`, `"websocket"`, `"streamable-http"`, atau `"sse"`. Jika dihilangkan, nilai default akan ditentukan berdasarkan keberadaan dan format `url` atau `command`.
type: "stdio"
command
String
(Untuk tipe `stdio`) Perintah atau executable yang dijalankan untuk memulai server MCP.
command: "npx"
args
Array of Strings
(Untuk tipe `stdio`) Argumen baris perintah untuk diteruskan ke `command`.
(Untuk tipe `websocket`, `streamable-http`, atau `sse`) URL untuk terhubung ke server MCP.
url: "http://localhost:3001/sse"
proxy
String
(Opsional, untuk tipe `sse` dan `streamable-http`) URL proksi keluar untuk server MCP jarak jauh ini. Mendukung URL `http://`, `https://`, `socks://`, dan `socks5://`.
proxy: "${MCP_PROXY_URL}"
headers
Object
(Opsional, untuk tipe `sse` dan `streamable-http`) Header kustom untuk dikirim bersama permintaan. Mendukung substitusi kolom pengguna dinamis dengan placeholder `{{LIBRECHAT_USER_*}}` dan variabel lingkungan dengan `${ENV_VAR}`.
(Opsional, untuk tipe `sse` dan `streamable-http`) Konfigurasi autentikasi kunci API untuk server MCP.
See apiKey section below
iconPath
String
(Opsional) Menentukan ikon tampilan alat yang ditampilkan dalam dialog pemilihan alat.
iconPath: "/path/to/icon.svg"
chatMenu
Boolean
(Opsional) Jika diatur ke `false`, akan mengecualikan server MCP dari menu drop-down area obrolan (MCPSelect) untuk akses yang cepat dan mudah. Default-nya adalah `true`.
chatMenu: false
serverInstructions
Boolean or String
(Opsional) Mengontrol bagaimana instruksi server MCP disuntikkan ke dalam konteks agen. Instruksi server memberikan panduan penggunaan tingkat tinggi untuk keseluruhan server MCP, melengkapi deskripsi alat individu.
serverInstructions: true
# or
serverInstructions: "Custom instructions"
timeout
Integer
(Opsional) Batas waktu dalam milidetik untuk permintaan server MCP. Harus berupa bilangan bulat non-negatif.
timeout: 30000
initTimeout
Integer
(Opsional) Batas waktu dalam milidetik untuk inisialisasi server MCP. Harus berupa bilangan bulat non-negatif.
initTimeout: 10000
env
Object
(Opsional, hanya tipe `stdio`) Variabel lingkungan yang digunakan saat menjalankan proses.
env:
NODE_ENV: "production"
requiresOAuth
Boolean
(Opsional, transport jarak jauh: `sse`, `streamable-http`, `websocket`) Apakah server ini memerlukan autentikasi OAuth. Jika tidak ditentukan, akan dideteksi secara otomatis saat server dimulai. Meskipun opsional, sebaiknya tetapkan nilai ini secara eksplisit jika Anda mengetahui apakah server memerlukan OAuth atau tidak. Mengatur `requiresOAuth: false` berguna untuk server yang dilindungi oleh header `Authorization` statis, untuk melewati deteksi otomatis yang mungkin salah mengklasifikasikannya sebagai server yang dilindungi OAuth.
requiresOAuth: false
stderr
String or Integer
(Opsional, hanya tipe `stdio`) Cara menangani `stderr` dari proses anak. Opsi: `"pipe"`, `"ignore"`, `"inherit"`, atau bilangan bulat non-negatif (deskriptor file). Default-nya adalah `"inherit"`.
stderr: "inherit"
customUserVars
Object
(Opsional) Menentukan variabel kustom yang dapat diatur pengguna untuk server MCP ini, memungkinkan kredensial atau konfigurasi per-pengguna (misalnya, API keys). Variabel ini kemudian dapat direferensikan dalam kolom `headers` atau `env`.
customUserVars:
API_KEY:
title: "API Key"
description: "Your personal API key."
oauth
Object
(Opsional) Konfigurasi OAuth2 untuk autentikasi dengan server MCP. Saat dikonfigurasi, pengguna akan diminta untuk melakukan autentikasi melalui alur OAuth.
(Opsional, untuk tipe `sse` dan `streamable-http`) Konfigurasi pertukaran token On-Behalf-Of. Menukarkan token akses OpenID pengguna saat ini dengan token hilir yang didelegasikan dan meneruskannya sebagai token Bearer.
Deskripsi: Deskripsi server MCP, ditampilkan di UI untuk membantu pengguna memahami tujuan dan kemampuannya.
Contoh:
my-server: title: 'File System Access' description: 'Provides read/write access to local files and directories' command: npx args: ['-y', '@modelcontextprotocol/server-filesystem']
Deskripsi: (Untuk tipe websocket, streamable-http, atau sse) URL untuk terhubung ke server MCP. Mendukung placeholder kolom pengguna dinamis ({{LIBRECHAT_USER_*}}) dan substitusi variabel lingkungan (${ENV_VAR}).
Catatan:
Untuk tipe sse, URL harus diawali dengan http:// atau https://.
Untuk tipe streamable-http, URL harus dimulai dengan http:// atau https://.
Untuk tipe websocket, URL harus diawali dengan ws:// atau wss://.
Tipe: String (Opsional, untuk tipe sse dan streamable-http)
Deskripsi: URL proksi keluar untuk server MCP jarak jauh ini. Nilai ini dapat merujuk pada variabel lingkungan dengan ${ENV_VAR}.
Protokol yang didukung:http://, https://, socks://, dan socks5://
Catatan keamanan:proxy dikontrol oleh admin. Ini menyelesaikan variabel lingkungan, tetapi tidak menyelesaikan placeholder yang dikontrol pengguna seperti {{LIBRECHAT_USER_ID}} atau customUserVars.
Tipe: Objek (Opsional, untuk tipe sse dan streamable-http)
Deskripsi: Header kustom untuk dikirim bersama permintaan. Mendukung berbagai jenis placeholder untuk substitusi nilai dinamis.
Dukungan Placeholder:
{{LIBRECHAT_USER_ID}}: Akan diganti dengan ID pengguna saat ini, yang memungkinkan dukungan multi-pengguna.
{{LIBRECHAT_USER_*}}: Placeholder kolom pengguna dinamis. Ganti * dengan versi HURUF BESAR dari kolom apa pun yang diizinkan.
{{LIBRECHAT_OPENID_*}}: Placeholder token/sesi OpenID untuk server yang didefinisikan dalam YAML.
{{LIBRECHAT_GRAPH_*}}: Placeholder token Microsoft Graph untuk server yang didefinisikan dalam YAML.
{{LIBRECHAT_BODY_*}}: Placeholder isi permintaan untuk server yang didefinisikan dalam YAML, seperti conversationId, parentMessageId, atau messageId saat ini.
{{CUSTOM_VARIABLE_NAME}}: Diganti dengan nilai yang diberikan oleh pengguna untuk variabel yang didefinisikan dalam customUserVars (contoh: {{MY_API_KEY}}).
${ENV_VAR}: Akan diganti dengan nilai dari variabel lingkungan {{ENV_VAR}}.
Catatan: Bidang yang kosong akan diganti dengan string kosong.
Placeholder {{LIBRECHAT_BODY_*}} bersifat request-scoped. LibreChat membuat koneksi MCP untuk run yang aktif, menggunakannya kembali di seluruh pemanggilan tool dalam run tersebut, dan membersihkannya saat permintaan berakhir. Server yang bersifat request-scoped dikecualikan dari cache tool persisten sehingga header dan URL spesifik permintaan tidak digunakan kembali di luar run yang aktif. Placeholder {{LIBRECHAT_USER_*}}, {{LIBRECHAT_OPENID_*}}, dan {{LIBRECHAT_GRAPH_*}} tetap membuat server bersifat user-scoped, namun transport HTTP akan menyegarkan header yang telah di-resolve sebelum setiap pemanggilan tool tanpa memaksa penyambungan ulang (reconnect) secara mandiri.
Deskripsi: Mengontrol bagaimana instruksi server MCP disuntikkan ke dalam konteks agen. Instruksi server memberikan panduan penggunaan tingkat tinggi untuk keseluruhan server MCP, melengkapi deskripsi alat individu.
Opsi:
undefined (default): Tidak ada instruksi yang disertakan
true: Gunakan instruksi yang disediakan server (jika tersedia) - ideal untuk server yang terdokumentasi dengan baik dengan panduan yang komprehensif
false: Menonaktifkan instruksi secara eksplisit - berguna untuk menghemat token konteks atau saat alat (tools) sudah cukup jelas dengan sendirinya
string: Gunakan instruksi kustom (menggantikan instruksi yang disediakan server) - terbaik untuk alur kerja khusus aplikasi atau saat instruksi server tidak mencukupi
Nilai Default:undefined (tidak ada instruksi yang disertakan)
Catatan:
Instruksi akan disuntikkan secara otomatis saat serverInstructions dikonfigurasi dan alat (tools) server tersedia untuk agen tersebut
Beberapa server masing-masing dapat memberikan instruksi ke konteks agen
Contoh:
# 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
Deskripsi: Variabel lingkungan yang digunakan saat menjalankan proses.
Dukungan Placeholder:
{{LIBRECHAT_USER_ID}}: Diganti dengan ID pengguna saat ini.
{{LIBRECHAT_USER_*}}: Placeholder bidang pengguna dinamis (contoh: {{LIBRECHAT_USER_EMAIL}}).
{{CUSTOM_VARIABLE_NAME}}: Diganti dengan nilai yang diberikan oleh pengguna untuk variabel yang didefinisikan dalam customUserVars (contoh: {{MY_API_KEY}}).
${ENV_VAR}: Diganti dengan nilai dari variabel lingkungan sisi server {{ENV_VAR}}.
Tipe: Boolean (Opsional, hanya untuk transport jarak jauh: sse, streamable-http, websocket)
Deskripsi: Apakah server ini memerlukan autentikasi OAuth. Jika tidak ditentukan, akan dideteksi secara otomatis selama startup server. Meskipun opsional, sebaiknya tetapkan nilai ini secara eksplisit jika Anda mengetahui apakah server tersebut memerlukan OAuth atau tidak.
Nilai Default: Terdeteksi otomatis jika tidak ditentukan
Catatan:
Berlaku untuk transport jarak jauh (berbasis URL): sse, streamable-http, dan websocket. Pengaturan ini tidak berpengaruh pada server stdio, yang tidak memiliki URL untuk proses autentikasi.
Deteksi otomatis terjadi selama startup server, yang dapat menambah waktu inisialisasi
Konfigurasi eksplisit meningkatkan performa startup dengan melewati deteksi
Atur requiresOAuth: false untuk server yang hanya dilindungi oleh header Authorization statis (contohnya: kunci API Bearer). Deteksi otomatis akan melakukan probe ke server tanpa header yang Anda konfigurasi, sehingga server yang merespons dengan tantangan 401 dan WWW-Authenticate: Bearer dapat salah diklasifikasikan sebagai server yang dilindungi OAuth; flag ini akan melewati probe tersebut dan membiarkan header statis Anda mengautentikasi koneksi secara normal.
Bekerja dengan variabel lingkungan MCP OAuth (MCP_OAUTH_ON_AUTH_ERROR, MCP_OAUTH_DETECTION_TIMEOUT, MCP_OAUTH_HANDLING_TIMEOUT, MCP_OAUTH_FLOW_TTL) untuk manajemen koneksi yang ditingkatkan
Tipe: String atau Integer (Opsional, hanya untuk tipe stdio)
Deskripsi: Cara menangani stderr dari proses anak. Ini sesuai dengan semantik child_process.spawn milik Node. Nilai string yang valid: "pipe", "ignore", "inherit". Sebagai alternatif, bilangan bulat non-negatif dapat digunakan sebagai deskriptor file.
Nilai Default:"inherit" (pesan ke stderr akan dicetak ke stderr proses induk).
Deskripsi: Mendefinisikan variabel kustom yang dapat diatur pengguna untuk server MCP ini. Hal ini memungkinkan administrator untuk menentukan variabel (misalnya, kunci API, URL) yang harus dikonfigurasi oleh setiap pengguna secara individu. Nilai yang disediakan pengguna ini kemudian dapat digunakan dalam konfigurasi headers atau env. Server dengan customUserVars secara otomatis dikecualikan dari koneksi tingkat aplikasi, memastikan kredensial per pengguna selalu diselesaikan pada saat runtime.
Struktur:
Objek customUserVars berisi kunci-kunci, di mana setiap kunci merepresentasikan nama variabel (contohnya, MY_API_KEY). Nama ini akan digunakan dalam placeholder seperti {{MY_API_KEY}}.
Setiap nama variabel adalah objek dengan subkunci berikut:
title: String (Wajib) - Judul yang mudah dipahami pengguna untuk variabel tersebut, ditampilkan di UI konfigurasi.
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: Boolean (Opsional) - Mengontrol apakah nilai tersebut diperlakukan sebagai rahasia dan disamarkan di UI. Secara default akan disamarkan/dianggap rahasia jika diabaikan; atur ke false untuk kolom yang bukan rahasia seperti ID proyek atau URL dasar.
Penggunaan dalam headers dan env:
Setelah didefinisikan di bawah customUserVars, variabel-variabel ini dapat direferensikan di bagian headers (untuk tipe sse dan streamable-http) atau env (untuk tipe stdio) menggunakan sintaks {{VARIABLE_NAME}}.
Pengguna memberikan nilai-nilai ini melalui UI. Pengaturan ini dapat diakses dengan dua cara:
Dari Input Obrolan Asisten: Saat memilih alat MCP untuk asisten, ikon pengaturan akan muncul di samping server MCP yang dapat dikonfigurasi di menu tarik-turun pemilihan alat. Mengeklik ikon ini akan membuka dialog untuk mengelola kredensial untuk server tersebut.
Dari Panel Pengaturan: Bagian "MCP Settings" khusus di panel kanan mencantumkan semua server MCP dengan variabel kustom yang dapat ditentukan. Pengguna dapat mengeklik server untuk membuka dialog konfigurasi guna mengatur atau memperbarui kredensial mereka untuk server MCP spesifik tersebut.
Nilai-nilai yang disediakan pengguna ini disimpan dengan aman, dikaitkan dengan pengguna individu dan server MCP tertentu, serta disubstitusikan pada saat runtime.
Contoh:
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
Tipe: Objek (Opsional, hanya untuk tipe sse dan streamable-http)
Deskripsi: Mengonfigurasi pertukaran token OAuth 2.0 On-Behalf-Of untuk server MCP. LibreChat menukarkan token akses OpenID pengguna yang sedang masuk dengan token hilir (downstream) yang didelegasikan dengan cakupan (scope) yang dikonfigurasi, kemudian meneruskan token tersebut ke server MCP sebagai header Authorization: Bearer ....
Subkey yang Diperlukan:
scopes: String - Scope tidak kosong yang diminta untuk pertukaran token hilir (downstream).
Validasi:
obo hanya valid untuk server MCP sse dan streamable-http.
obo ditolak untuk server stdio dan websocket.
Pengguna memerlukan izin peran MCP_SERVERS.CONFIGURE_OBO untuk mengonfigurasi kolom ini. Lakukan seeding dengan interface.mcpServers.configureObo atau kelola dari panel admin.
Prasyarat:
Autentikasi OpenID harus dikonfigurasi dengan access token yang dapat digunakan kembali.
Penyedia identitas dan aplikasi hilir Anda harus mengizinkan cakupan delegasi yang diminta.
Deskripsi: Konfigurasi OAuth2 untuk autentikasi dengan server MCP. Saat dikonfigurasi, pengguna akan diminta untuk melakukan autentikasi melalui alur OAuth sebelum server MCP dapat digunakan. Jika client id & client secret tidak disediakan, Dynamic Client Registration (DCR) akan digunakan.
redirect_uri: String - OAuth redirect URI (contoh: http://localhost:3080/api/mcp/${serverName}/oauth/callback)
scope: String - OAuth scopes (dipisahkan dengan spasi)
Subkey Opsional:
grant_types_supported: Array of Strings - Tipe grant yang didukung (default ke ["authorization_code", "refresh_token"])
token_endpoint_auth_methods_supported: Array of Strings - Metode autentikasi endpoint token yang didukung (default ke ["client_secret_basic", "client_secret_post"])
token_exchange_method: String - Metode permintaan pertukaran token. Gunakan default_post untuk penyedia yang mengharapkan kredensial klien OAuth di dalam body POST.
response_types_supported: Array of Strings - Tipe respons yang didukung (default ke ["code"])
code_challenge_methods_supported: Array of Strings - Metode code challenge PKCE yang didukung (default ke ["S256", "plain"])
skip_code_challenge_check: Boolean - Melewati pemeriksaan apakah penyedia OAuth mengiklankan dukungan PKCE. Berguna untuk penyedia seperti AWS Cognito yang mendukung S256 tetapi tidak mengiklankannya dalam metadata mereka. (default ke false)
Variabel lingkungan: Bidang URL OAuth yang didefinisikan dalam YAML, termasuk authorization_url, token_url, redirect_uri, dan revocation_endpoint, dapat menggunakan referensi ${ENV_VAR}. LibreChat akan menyelesaikan nilai lingkungan tersebut sebelum validasi URL. URL endpoint OAuth yang dikelola pengguna dan dikirimkan melalui UI harus berupa URL literal dan akan menolak placeholder ${ENV_VAR}.
Deskripsi: Header yang digunakan secara khusus untuk permintaan alur OAuth. Header ini digunakan selama autentikasi OAuth, seperti pendaftaran klien dinamis dan pertukaran token, dan tidak dikirim selama komunikasi server MCP reguler.
Kasus Penggunaan Umum:
Menambahkan autentikasi ke endpoint pendaftaran klien dinamis, seperti Authorization: Bearer ${DCR_API_KEY}
Menyertakan header khusus penyedia yang diperlukan untuk alur OAuth
Mengatur header yang diperlukan oleh endpoint token OAuth
Perbedaan Utama dari headers:
headers: Dikirim bersama permintaan server MCP reguler setelah autentikasi selesai
oauth_headers: Dikirim hanya selama alur autentikasi OAuth
Deskripsi: Jika diatur ke false, server MCP ini tidak akan terhubung saat aplikasi dimulai. Ini berguna untuk server yang memerlukan input atau konfigurasi pengguna sebelum terhubung, atau untuk kasus di mana Anda ingin mengontrol kapan server diinisialisasi.
Jika url ditentukan dan diawali dengan http:// atau https://, maka type secara default akan menjadi sse.
Jika url ditentukan dan diawali dengan ws:// atau wss://, maka type secara default akan menjadi websocket.
Jika command ditentukan, type secara default akan menjadi stdio.
Tipe Koneksi:
stdio: Memulai server MCP sebagai proses anak dan berkomunikasi melalui input/output standar.
websocket: Terhubung ke server MCP eksternal melalui WebSocket.
sse: Terhubung ke server MCP eksternal melalui Server-Sent Events (SSE).
streamable-http: Terhubung ke server MCP eksternal melalui HTTP dengan dukungan untuk respons streaming.
Alamat Internal/Lokal:
Penting: Server MCP yang menggunakan alamat IP internal (contoh: 172.24.1.165, 192.168.1.100), atau domain lokal (contoh: mcp-server, host.docker.internal) harus diizinkan secara eksplisit. Gunakan mcpSettings.allowedAddresses untuk layanan host:port privat yang spesifik ketika Anda ingin tujuan publik tetap dapat diakses, atau mcpSettings.allowedDomains ketika Anda menginginkan daftar putih (whitelist) yang ketat.
Saat menggunakan server MCP internal/lokal dan tidak diperlukan daftar putih domain yang ketat, konfigurasikan mcpSettings.allowedAddresses dengan host dan port yang tepat:
# 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
CATATAN Lihat MCP Server Initialization untuk informasi lebih lanjut mengenai inisialisasi server berbasis UI.
# 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
Mengimpor Konfigurasi Server MCP
Konfigurasi mcpServers memungkinkan LibreChat untuk berinteraksi secara dinamis dengan berbagai server MCP, yang dapat melakukan tugas-tugas khusus atau menyediakan fungsionalitas tertentu di dalam aplikasi. Pendekatan modular ini memfasilitasi perluasan kemampuan aplikasi hanya dengan menambahkan atau memodifikasi konfigurasi server.
Inisialisasi terjadi saat startup, dan aplikasi harus dimulai ulang agar perubahan dapat diterapkan.
Jika url dan command keduanya ditentukan, type harus didefinisikan secara eksplisit untuk menghindari ambiguitas.
Dukungan Multi-Pengguna:
MCPManager kini mendukung koneksi tingkat pengguna dan tingkat aplikasi yang terpisah, sehingga memungkinkan pengelolaan koneksi yang tepat per pengguna.
Koneksi pengguna dilacak dan dikelola secara terpisah, dengan pembentukan dan pembersihan yang tepat.
Gunakan placeholder kolom pengguna dinamis di header, URL, dan variabel lingkungan:
{{LIBRECHAT_USER_ID}} - Pengidentifikasi unik pengguna
{{LIBRECHAT_USER_EMAIL}} - Alamat email pengguna
{{LIBRECHAT_USER_USERNAME}} - Nama pengguna (username) pengguna
{{LIBRECHAT_USER_ROLE}} - Peran pengguna (contoh: "user", "admin")
Dan masih banyak kolom lainnya (lihat bagian headers untuk daftar lengkapnya)
Manajemen Idle Pengguna:
Koneksi pengguna dipantau untuk aktivitas dan akan diputuskan setelah 15 menit tidak ada aktivitas.
Variabel Lingkungan:
Di env (untuk tipe stdio): Berguna untuk menyiapkan lingkungan runtime atau konfigurasi spesifik yang diperlukan oleh proses server MCP.
Dalam headers (untuk tipe sse dan streamable-http): Gunakan sintaks ${ENV_VAR} untuk mereferensikan variabel lingkungan dalam nilai header.
Bidang Pengguna Dinamis:
Placeholder kolom pengguna diganti saat runtime dengan informasi pengguna yang terautentikasi
Hanya kolom non-sensitif yang tersedia (kata sandi dan data sensitif lainnya dikecualikan)
Bidang yang hilang akan dianggap sebagai string kosong secara default
Bidang boolean dikonversi menjadi representasi string ("true" atau "false")
Penanganan Kesalahan (stderr):
Mengonfigurasi stderr memungkinkan Anda untuk mengelola bagaimana pesan kesalahan dari proses server MCP ditangani. Nilai default "inherit" berarti bahwa kesalahan akan dicetak ke stderr proses induk.
Instruksi Server:
Instruksi secara otomatis disuntikkan ke dalam pesan sistem agen saat alat server MCP digunakan
Instruksi kustom (nilai string) lebih diutamakan daripada instruksi yang disediakan oleh server
Beberapa server MCP masing-masing dapat memberikan instruksi mereka sendiri ke dalam konteks agen
Instruksi hanya disertakan jika alat server MCP yang terkait benar-benar tersedia untuk agen tersebut
Autentikasi OAuth:
Alur OAuth2 didukung untuk autentikasi aman dengan server MCP
Pengguna akan diminta untuk melakukan autentikasi melalui OAuth sebelum server MCP dapat digunakan
Dengan mengonfigurasi mcpServers secara tepat di dalam librechat.yaml Anda, Anda dapat meningkatkan fungsionalitas LibreChat dan mengintegrasikan alat serta layanan kustom dengan lancar.