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

MCP

Pelajari bagaimana LibreChat memanfaatkan Model Context Protocol (MCP) untuk menyediakan integrasi yang mulus dengan alat eksternal, sumber data, dan layanan khusus.

Model Context Protocol (MCP) adalah protokol terbuka yang menstandardisasi cara aplikasi menyediakan konteks ke Large Language Models (LLMs). Anggaplah MCP sebagai "USB-C untuk AI" - sebagaimana USB-C menyediakan standar koneksi universal untuk perangkat elektronik, MCP menawarkan cara terstandardisasi untuk menghubungkan model AI ke berbagai alat, sumber data, dan layanan.

LibreChat memanfaatkan MCP untuk memperluas kemampuan agen AI Anda secara dramatis, memungkinkan Anda untuk mengintegrasikan segalanya mulai dari akses sistem file, peramban web, API khusus, hingga alat bisnis kustom.

Mengapa MCP Penting

LLM terbatas pada kemampuan bawaan mereka. Dengan MCP, LibreChat mendobrak batasan tersebut dengan:

  • Menghubungkan ke alat atau layanan apa pun yang menyediakan server MCP
  • Menstandardisasi integrasi sehingga Anda tidak perlu mengubah kode LibreChat untuk setiap alat
  • Mendukung lingkungan multi-pengguna dengan autentikasi dan isolasi yang tepat
  • Menyediakan ekosistem yang berkembang dari integrasi dinamis yang siap digunakan

Bagaimana MCP Bekerja di LibreChat

LibreChat menyediakan dua cara untuk menggunakan server MCP, baik di area obrolan maupun dengan agen.

Anda dapat mengonfigurasi server MCP secara manual di dalam file librechat.yaml Anda atau dengan menggunakan smithery.ai untuk mencari dan menginstal server MCP ke dalam librechat.yaml (lihat contoh di bawah). Setiap kali Anda menambahkan atau mengedit server MCP, Anda perlu memulai ulang LibreChat untuk menginisialisasi koneksi.

URL Callback OAuth

Untuk server MCP yang mengaktifkan OAuth, URL callback LibreChat adalah:

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

<server-name> adalah kunci yang digunakan di bawah mcpServers dalam librechat.yaml atau nama server yang dibuat di UI Pengaturan MCP. Sebagai contoh, server bernama salesforce dengan DOMAIN_SERVER=https://chat.example.com menggunakan https://chat.example.com/api/mcp/salesforce/oauth/callback.

Daftarkan URL callback yang tepat ini dengan penyedia OAuth. Instalasi Docker lokal biasanya menggunakan http://localhost:3080 sebagai URL dasar.

Di Area Obrolan

Alat MCP di Area Obrolan

LibreChat menampilkan server MCP yang dikonfigurasi langsung di area obrolan saat menggunakan endpoint tradisional (OpenAI, Anthropic, Google, Bedrock, dll.):

  • Pilih endpoint non-agen terlebih dahulu, dan model yang kompatibel dengan tool
  • Server MCP muncul di menu drop-down pada antarmuka obrolan di bawah input teks Anda
  • Saat dipilih, semua alat dari server tersebut akan tersedia untuk model Anda saat ini
  • Akses cepat ke alat MCP tanpa perlu membuat agen, memungkinkan penggunaan beberapa server sekaligus

Untuk menonaktifkan server MCP agar tidak muncul di menu tarik-turun obrolan (menjaganya agar hanya untuk agen), atur chatMenu: false dalam konfigurasi Anda:

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

Dengan Agen

Server MCP terintegrasi dengan mulus dengan Agen LibreChat:

  1. Buat atau edit agen
  2. Klik "Add MCP Server Tools" untuk membuka Dialog Tools dari panel Agent Builder
  3. Pilih server MCP setelah ditambahkan, masing-masing akan muncul sebagai satu entri
  4. Sempurnakan kemampuan agen Anda dengan mengaktifkan/menonaktifkan alat secara individual setelah menambahkannya
  5. Simpan agen Anda

MCP Tools in Agent Builder

Organisasi tingkat tinggi ini menjaga antarmuka tetap mudah dikelola - bahkan server dengan 20+ alat (seperti Spotify) muncul sebagai entri tunggal yang dapat diperluas untuk kontrol yang lebih terperinci.

Konfigurasi Dasar

Tambahkan server MCP ke file librechat.yaml Anda secara manual:

mcpServers:
  # ClickHouse Cloud
  clickhouse-cloud:
    type: streamable-http
    url: https://mcp.clickhouse.cloud/mcp

  # File system access
  filesystem:
    command: npx
    args:
      - -y
      - '@modelcontextprotocol/server-filesystem'
      - /path/to/your/documents

  # Web browser automation
  puppeteer:
    command: npx
    args:
      - -y
      - '@modelcontextprotocol/server-puppeteer'

  # Production-ready cloud service
  business-api:
    type: streamable-http
    url: https://api.yourbusiness.com/mcp
    headers:
      X-User-ID: '{{LIBRECHAT_USER_ID}}'
      Authorization: 'Bearer ${API_TOKEN}'
    timeout: 30000
    serverInstructions: true

Menambahkan MCP Server di UI

Anda juga dapat menambahkan dan mengonfigurasi server MCP secara langsung dari antarmuka LibreChat tanpa perlu mengedit file konfigurasi apa pun atau memulai ulang server.

Langkah 1: Buka Panel Pengaturan MCP

Arahkan ke panel MCP Settings dari bilah sisi kanan. Anda akan melihat server MCP yang ada tercantum di sini beserta tombol + untuk menambahkan yang baru.

Panel Pengaturan MCP

Langkah 2: Isi Detail Server

Tekan tombol + dan isi nama server MCP, deskripsi, URL, tipe transport, dan metode autentikasi Anda, lalu klik Create.

Dialog Tambah Server MCP

Server baru Anda akan muncul di panel MCP Settings dengan notifikasi konfirmasi.

MCP Server Created Successfully

Langkah 3: Periksa Status Koneksi dan Autentikasi

Tinjau indikator status koneksi untuk server baru Anda. Jika server memerlukan autentikasi OAuth, status akan ditampilkan sebagai terputus (disconnected). Klik tombol autentikasi/koneksi server (Anda dapat melakukannya dengan mengeklik server MCP itu sendiri di menu tarik-turun obrolan, atau dengan mengeklik ikon koneksi terlebih dahulu untuk diarahkan ke dialog dengan informasi lebih lanjut mengenai status koneksi) untuk memulai alur autentikasi.

Connection Status - Disconnected

Setelah dimulai, indikator status akan diperbarui untuk menunjukkan bahwa autentikasi sedang berlangsung.

Status Koneksi - Mengautentikasi

Langkah 4: Lanjutkan di Tab OAuth

Tab peramban baru akan terbuka untuk penyedia OAuth. Verifikasi URL callback dan klik Continue untuk mengotorisasi LibreChat.

OAuth Continue Prompt

Langkah 5: Autentikasi Berhasil

Setelah melakukan autentikasi, Anda akan melihat konfirmasi keberhasilan. Jendela ini akan tertutup secara otomatis dan mengarahkan Anda kembali ke LibreChat.

Autentikasi Berhasil

Langkah 6: Server Siap Digunakan

LibreChat mengakui keberhasilan autentikasi dan secara otomatis memilih server MCP untuk digunakan dalam percakapan Anda. Server tersebut kini menampilkan indikator status terhubung dan telah dicentang di menu tarik-turun MCP Servers.

MCP Server Authenticated and Auto-Selected

Server MCP baru Anda juga tersedia di Agent Builder, di mana Anda dapat menambahkan alatnya ke agen mana pun dan menyesuaikan subset alat mana yang diizinkan.

MCP Server Tersedia di Pembuat Agen

Variabel Kredensial untuk Server yang Dibuat melalui UI

Saat menambahkan server MCP melalui UI, Anda dapat mewajibkan pengguna untuk menyediakan kunci API mereka sendiri. Di bagian Authentication pada dialog MCP Server Builder, pilih "API Key" dan centang "User provides key". Pilih format header (Bearer, Basic, atau Custom) dan simpan server tersebut.

Di balik layar, LibreChat secara otomatis membuat entri customUserVars bernama MCP_API_KEY dan mengonfigurasi templat header yang sesuai (contoh: Authorization: Bearer {{MCP_API_KEY}}). Setiap pengguna memberikan kunci mereka sendiri melalui Dialog Pilih Alat MCP saat mengonfigurasi agen — UI yang sama dengan yang digunakan untuk customUserVars yang ditentukan YAML.

Demi keamanan, server MCP yang dibuat melalui UI (bersumber dari DB) hanya dapat menyelesaikan placeholder customUserVars ({{VAR_NAME}}). Variabel lingkungan sisi server (${ENV_VAR}), kolom profil pengguna ({{LIBRECHAT_USER_*}}), dan token OIDC ({{LIBRECHAT_OPENID_*}}) sengaja diblokir untuk mencegah akses tidak sah ke rahasia server atau data pengguna lain. Untuk dukungan placeholder penuh, konfigurasikan server di librechat.yaml sebagai gantinya.

Menambahkan MCP Server dengan Smithery

Smithery.ai menyediakan cara yang efisien untuk menemukan dan menginstal server MCP untuk LibreChat. Ikuti langkah-langkah berikut untuk memulai:

Langkah 1: Cari Server MCP

Kunjungi smithery.ai dan cari server MCP yang ingin Anda tambahkan ke instance LibreChat Anda.

Antarmuka Pencarian Smithery

Langkah 2: Pilih MCP Server Anda

Klik pada server MCP dari hasil pencarian untuk melihat detail dan alat yang tersedia.

Halaman Detail Server MCP

Langkah 3: Konfigurasi untuk LibreChat

Arahkan ke tab Auto di bagian Connect dan pilih LibreChat sebagai klien yang Anda inginkan.

Pengaturan Integrasi LibreChat

Langkah 4: Instal MCP Server

Salin dan jalankan perintah yang dihasilkan di terminal Anda untuk menginstal server MCP.

Installation Command

Langkah 5: Mulai Ulang dan Verifikasi

Server MCP Anda kini telah terinstal dan dapat dikonfigurasi di librechat.yaml. Mulai ulang LibreChat untuk menginisialisasi koneksi dan mulai menggunakan server MCP baru Anda.

MCP Server Successfully Installed Server MCP berhasil diinstal melalui smithery.ai dan siap digunakan di LibreChat

Untuk opsi konfigurasi dan contoh terperinci, lihat:

Manajemen Server MCP

LibreChat menyediakan alat yang komprehensif untuk mengelola koneksi server MCP dengan pelacakan status koneksi serta dukungan autentikasi dan inisialisasi OAuth di dalam UI.

Indikator Status Koneksi

LibreChat menampilkan ikon status dinamis yang menunjukkan kondisi terkini dari setiap server MCP di menu tarik-turun obrolan dan panel pengaturan:

Ikon Status Server MCP

Tipe Status:

  • Terhubung (ikon roda gigi hijau): Server telah terhubung dan memiliki customUserVars yang dapat dikonfigurasi
  • OAuth Diperlukan (kunci amber): Server memerlukan autentikasi OAuth
  • Terputus (steker oranye): Koneksi server gagal atau terputus
  • Initializing (pemuat biru): Server sedang memulai atau menyambungkan kembali
  • Error (segitiga merah): Server mengalami kesalahan
  • Membatalkan (tanda x merah): Alur OAuth sedang dibatalkan

Inisialisasi Server

Anda dapat menginisialisasi atau menginisialisasi ulang server MCP secara langsung dari antarmuka:

Sekali klik:

  • Inisialisasi sekali klik dari menu pilihan server MCP

    Inisialisasi MCP sekali klik

Dari MCPConfigDialog:

  • Klik ikon status di samping server MCP pada Chat Dropdown untuk membuka MCPConfigDialog

  • Konfigurasikan variabel pengguna kustom dan klik tombol Authenticate/Initialize tergantung pada tipe autentikasi server

    Autentikasi dialog konfigurasi MCP

    Dari Panel Pengaturan MCP:

  • Klik server mana pun di bagian daftar server pada Panel Pengaturan MCP untuk mengakses kontrol konfigurasi dan inisialisasi

  • Konfigurasikan variabel pengguna kustom dan klik tombol Authenticate/Initialize tergantung pada tipe autentikasi server

    Inisialisasi panel pengaturan MCP

Visibilitas Panel Pengaturan MCP

Panel Pengaturan MCP muncul di bilah sisi kanan ketika LibreChat mendeteksi server MCP yang mungkin memerlukan intervensi pengguna selama inisialisasinya. Panel tersebut akan terlihat ketika server yang dikonfigurasi memenuhi salah satu kriteria berikut:

  • Custom User Variables: Server memiliki customUserVars yang ditentukan yang mungkin berisi kredensial yang disediakan pengguna
  • Autentikasi OAuth: Server terdeteksi memerlukan autentikasi OAuth selama startup
  • Inisialisasi Manual: Server memiliki konfigurasi startup: false, yang memerlukan inisialisasi manual

Fitur Spesifik LibreChat

Implementasi MCP LibreChat dirancang untuk lingkungan multi-pengguna dunia nyata yang sangat dapat dikonfigurasi.

Koneksi Spesifik Pengguna

  • Setiap pengguna mendapatkan koneksi terisolasi mereka sendiri ke server MCP
  • Autentikasi pengguna dan izin dihormati
  • Data pribadi dan konteks tetap bersifat pribadi

Berbagi MCP Servers

Server MCP berpartisipasi dalam sistem kontrol akses granular LibreChat. Selain server yang didefinisikan dalam librechat.yaml (yang dikelola oleh admin dan diatur oleh izin fitur interface.mcpServers), server MCP yang dibuat pengguna memiliki ACL sendiri dan dapat dibagikan kepada pengguna, grup, peran, atau secara publik, pada tingkat Viewer, Editor, atau Owner.

USE, CREATE, SHARE, dan SHARE_PUBLIC feature flags di bawah interface.mcpServers mengontrol siapa saja yang diizinkan untuk membuat dan membagikan MCP servers. Lihat Access Control untuk mengetahui bagaimana lapisan izin disusun.

Konteks Pengguna Dinamis

Server MCP dapat mengakses informasi pengguna melalui placeholder di dalam URL dan header (untuk transport SSE dan HTTP yang dapat di-stream):

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

Placeholder yang tersedia meliputi:

  • {{LIBRECHAT_USER_ID}} - Pengidentifikasi pengguna unik
  • {{LIBRECHAT_USER_EMAIL}} - Alamat email pengguna
  • {{LIBRECHAT_USER_ROLE}} - Peran pengguna (admin, user, dll.)
  • {{LIBRECHAT_USER_USERNAME}} - Nama pengguna
  • Dan masih banyak lagi (lihat Konfigurasi Server MCP untuk daftar lengkapnya)

Server MCP yang didefinisikan dalam YAML juga dapat menggunakan placeholder {{LIBRECHAT_OPENID_*}}, {{LIBRECHAT_GRAPH_*}}, dan {{LIBRECHAT_BODY_*}}. Nilai {{LIBRECHAT_BODY_*}} memiliki cakupan permintaan (request-scoped), sehingga LibreChat membuat koneksi untuk proses yang sedang berjalan, menggunakannya kembali di seluruh pemanggilan alat dalam proses tersebut, dan membersihkannya saat permintaan berakhir. Server dengan cakupan permintaan dikecualikan dari cache alat persisten agar header dan URL spesifik permintaan tidak digunakan kembali di luar proses yang sedang berjalan. Placeholder User, OpenID, dan Graph memiliki cakupan pengguna (user-scoped); transport HTTP menyegarkan header yang telah diselesaikan sebelum setiap pemanggilan alat tanpa memerlukan penyambungan ulang secara mandiri.

Instruksi Server

serverInstructions adalah fitur LibreChat yang secara dinamis menambahkan instruksi yang dikonfigurasi saat alat apa pun dari server MCP tersebut dipilih:

mcpServers:
  filesystem:
    command: npx
    args: ['-y', '@modelcontextprotocol/server-filesystem', '/docs']
    serverInstructions: |
      When accessing files:
      - Always check file permissions first
      - Use absolute paths for reliability
      - Handle errors gracefully

Opsi:

  • true: Gunakan instruksi yang disediakan server
  • false: Nonaktifkan instruksi
  • string: Instruksi khusus (ditampilkan di atas)

Konfigurasi Timeout

Untuk operasi MCP yang berjalan lama, konfigurasikan batas waktu (timeout) yang sesuai untuk inisialisasi maupun operasi alat (tool).

mcpServers:
  data-processor:
    type: streamable-http
    url: https://api.example.com/mcp
    initTimeout: 15000 # 15 seconds for server initialization
    timeout: 60000 # 60 seconds for tool operations

Catatan: Jika operasi masih terputus, periksa konfigurasi proksi Anda (misalnya, nginx, traefik, dll.) yang mungkin memutus koneksi sebelum waktunya karena batas waktu (timeout) bawaan.

Kredensial yang Disediakan Pengguna

Anda dapat mengizinkan pengguna untuk menyediakan kredensial mereka sendiri untuk server MCP melalui customUserVars. Hal ini memungkinkan autentikasi yang aman dan spesifik bagi pengguna tanpa perlu menyimpan kredensial di dalam file konfigurasi.

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

Pengguna dapat mengonfigurasi kredensial ini:

  • Dari Area Obrolan: Klik ikon pengaturan di sebelah server MCP yang dapat dikonfigurasi pada menu tarik-turun pemilihan alat
  • Dari Panel Pengaturan MCP: Akses "MCP Settings" di panel kanan untuk mengelola kredensial bagi semua server yang telah dikonfigurasi

Menginisialisasi Ulang Server MCP dengan Kredensial Pengguna

Untuk server MCP yang memerlukan kredensial khusus pengguna sebelum dapat digunakan (contohnya, PAT_TOKEN di server MCP resmi GitHub), LibreChat memungkinkan pengguna untuk memberikan kredensial tersebut dan kemudian menginisialisasi ulang server MCP dari dalam UI tanpa perlu memulai ulang seluruh aplikasi:

  1. Saat Anda memilih MCP yang menggunakan customUserVars, Anda akan dapat Save (Simpan) atau Revoke (Cabut) nilai customUserVar untuk server MCP yang dipilih dari dalam Panel MCP.
  2. Setelah menyimpan nilai untuk customUserVar, klik tombol inisialisasi ulang (ikon dengan panah melingkar di sebelah setiap nama server di Panel MCP).
  3. LibreChat akan mencoba terhubung ke server menggunakan kredensial yang Anda berikan dan memberi tahu Anda melalui toast apakah proses inisialisasi ulang telah berhasil atau gagal.

Tip: Jika Anda mengetahui bahwa sebuah server akan memerlukan kredensial yang tidak tersedia pada saat pertama kali dijalankan, Anda dapat menambahkan startup: false ke konfigurasinya. Ini memberi tahu LibreChat untuk tidak mencoba terhubung ke server tersebut sampai diinisialisasi ulang secara manual di UI.

Contoh:

mcpServers:
  github-mcp:
    type: streamable-http
    url: 'https://api.githubcopilot.com/mcp/'
    headers:
      Authorization: '{{PAT_TOKEN}}'
    customUserVars:
      PAT_TOKEN:
        title: 'GitHub PAT Token'
        description: 'GitHub Personal Access Token'
    startup: false

Autentikasi OAuth

LibreChat mendukung autentikasi OAuth untuk server MCP, mengikuti rekomendasi Anthropic untuk koneksi MCP yang aman. OAuth menyediakan cara yang terstandarisasi dan aman untuk melakukan autentikasi tanpa menyimpan kredensial yang berumur panjang.

Alur OAuth yang Didukung

Server MCP LibreChat mendukung OAuth 2.0 dengan:

  • Authorization Code Flow with PKCE: Direkomendasikan untuk keamanan maksimal
  • Client Discovery: Pendaftaran klien otomatis jika didukung oleh penyedia OAuth
  • Refresh Tokens: Pembaruan token otomatis jika tersedia

Contoh Konfigurasi

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'

Alur Autentikasi OAuth

Saat Anda pertama kali mengonfigurasi server MCP yang mendukung OAuth:

  1. Koneksi Awal: LibreChat mencoba untuk terhubung ke server MCP
  2. Autentikasi Diperlukan: Jika tidak ada token yang valid, Anda akan melihat indikator autentikasi OAuth di menu tarik-turun obrolan untuk server tersebut
  3. Antarmuka Tombol: Klik tombol indikator autentikasi untuk membuka MCPConfigDialog dan memulai alur OAuth
  4. Config Dialog: Klik tombol Authenticate di dalam MCPConfigDialog untuk membuka halaman autentikasi OAuth di peramban Anda
  5. Pengalihan Browser: LibreChat membuka penyedia OAuth di browser Anda
  6. Penanganan Pengembalian (Return Handling): LibreChat secara otomatis memproses callback OAuth setelah Anda melakukan autentikasi
  7. Penyimpanan Token: LibreChat menyimpan token secara aman untuk penggunaan di masa mendatang
  8. Koneksi Terjalin: Setelah Anda melakukan autentikasi, MCP server akan terhubung dan Anda dapat menggunakannya dalam obrolan Anda

URL Callback OAuth

Ketika server MCP menggunakan OAuth, LibreChat mengekspos endpoint callback yang akan dituju oleh pengalihan dari penyedia OAuth setelah otorisasi berhasil.

URL callback harus mengikuti format berikut:

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

Di mana ${serverName} adalah kunci server MCP yang ditentukan dalam konfigurasi librechat.yaml Anda. LibreChat menangani pengalihan di endpoint ini, menyelesaikan pertukaran token, dan mengaitkan kredensial dengan server MCP yang sesuai.

Contoh URL Callback OAuth

Diberikan konfigurasi server MCP berikut:

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'

URL callback-nya adalah ${baseUrl}/api/mcp/spotify/oauth/callback.

Catatan:

  • URL callback harus didaftarkan secara tepat pada penyedia OAuth agar alur tersebut dapat berfungsi.
  • Jalur lain seperti /api/oauth/callback atau /api/oauth/openid/callback tidak valid untuk alur OAuth MCP.

Manajemen Token

LibreChat menangani token OAuth secara cerdas:

  • Penyimpanan Aman: Token dienkripsi dan disimpan dengan aman
  • Penyegaran Otomatis: Saat token penyegaran tersedia, LibreChat secara otomatis memperbarui token akses yang kedaluwarsa
  • Pemulihan 401 Senyap: Jika koneksi MCP OAuth menerima 401 di tengah sesi dan token penyegaran (refresh token) tersedia, LibreChat akan mencoba penyegaran senyap sebelum memunculkan permintaan autentikasi baru.
  • Manajemen Sesi: Setiap pengguna mengelola sesi OAuth mereka sendiri untuk lingkungan multi-pengguna

Setiap pengguna akan diminta untuk melakukan autentikasi dengan login OAuth mereka sendiri saat pertama kali menggunakan server MCP yang mengaktifkan OAuth. Hal ini memastikan bahwa detail koneksi dan autentikasi bersifat unik untuk setiap pengguna, sehingga menjaga keamanan dan privasi di lingkungan multi-pengguna.

Waktu OAuth

Penyelesaian OAuth MCP menggunakan batas waktu (timeout) yang dikonfigurasi oleh servernya sendiri, alih-alih menggunakan kembali initTimeout pada server MCP. Secara default, LibreChat menunggu hingga 10 menit bagi pengguna untuk menyelesaikan OAuth MCP dan menyimpan status alur tersebut selama 15 menit.

Gunakan variabel lingkungan ini ketika penyedia OAuth atau alur kerja pengguna membutuhkan waktu lebih lama:

MCP_OAUTH_HANDLING_TIMEOUT=600000
MCP_OAUTH_FLOW_TTL=900000

MCP_OAUTH_FLOW_TTL dibatasi agar durasinya lebih lama daripada MCP_OAUTH_HANDLING_TIMEOUT, sehingga callback yang mendekati batas waktu masih dapat menemukan status alurnya. Jendela polling server-card MCP mengikuti batas waktu penanganan yang telah dikonfigurasi.

Alur autentikasi OAuth khusus pengguna

Catatan: Token yang ditampilkan selama startup aplikasi hanya untuk inisialisasi tingkat aplikasi dan tidak digunakan untuk koneksi pengguna individu.

Contoh penyegaran token otomatis:

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

Praktik Terbaik

  1. Gunakan OAuth jika tersedia: Utamakan OAuth daripada kunci API untuk keamanan yang lebih baik
  2. Konfigurasikan timeout yang sesuai: Gunakan MCP_OAUTH_HANDLING_TIMEOUT dan MCP_OAUTH_FLOW_TTL untuk jendela penyelesaian OAuth; gunakan initTimeout untuk inisialisasi server
  3. Pantau kedaluwarsa token: Periksa log untuk masalah autentikasi
  4. Rencana untuk autentikasi ulang: Beberapa penyedia tidak mendukung token penyegaran (refresh tokens)

Catatan: Konfigurasi OAuth berbasis UI akan segera hadir, yang akan menyederhanakan proses autentikasi langsung dari antarmuka LibreChat.

Server Transports

Server MCP dapat dikonfigurasi untuk menggunakan mekanisme transport yang berbeda:

Server STDIO

  • Berfungsi dengan baik untuk lingkungan lokal pengguna tunggal
  • Tidak dapat diskalakan untuk penerapan jarak jauh atau cloud

Server-Sent Events (SSE) Servers

  • Mekanisme transport jarak jauh namun tidak direkomendasikan untuk lingkungan produksi

Server HTTP yang Dapat Di-stream

  • Menggunakan HTTP POST untuk mengirim pesan dan mendukung respons streaming
  • Beroperasi sebagai proses independen yang dapat menangani beberapa koneksi klien
  • Mendukung permintaan dasar maupun streaming melalui Server-Sent Events (SSE)
  • Alternatif yang lebih berkinerja tinggi dibandingkan transport HTTP+SSE warisan
  • Mendukung konfigurasi server multi-pengguna yang tepat

Untuk lingkungan produksi, hanya server MCP dengan "Streamable HTTP" transports yang direkomendasikan. Tidak seperti SSE yang mempertahankan koneksi yang berjalan lama, Streamable HTTP menawarkan opsi stateless yang lebih cocok untuk penerapan multi-pengguna yang dapat diskalakan.

LibreChat berada di garis depan dalam mengimplementasikan integrasi server MCP yang fleksibel dan dapat diskalakan untuk mendukung beragam skenario penggunaan serta membantu Anda membangun alur kerja AI masa depan.


Siap untuk memperluas kapabilitas AI Anda? Mulailah dengan mengonfigurasi server MCP pertama Anda dan temukan bagaimana LibreChat dapat terhubung ke hampir semua alat atau layanan yang dibutuhkan organisasi Anda.

Bagaimana panduan ini?