Apa yang dapat Anda lakukan dengan MCP
Dengan server MCP yang terhubung, Anda dapat meminta Claude Code untuk:- Menerapkan fitur dari pelacak masalah: “Tambahkan fitur yang dijelaskan dalam masalah JIRA ENG-4521 dan buat PR di GitHub.”
- Menganalisis data pemantauan: “Periksa Sentry dan Statsig untuk memeriksa penggunaan fitur yang dijelaskan dalam ENG-4521.”
- Menanyakan database: “Temukan email 10 pengguna acak yang menggunakan fitur ENG-4521, berdasarkan database PostgreSQL kami.”
- Mengintegrasikan desain: “Perbarui template email standar kami berdasarkan desain Figma baru yang diposting di Slack”
- Mengotomatisasi alur kerja: “Buat draf Gmail mengundang 10 pengguna ini ke sesi umpan balik tentang fitur baru.”
- Bereaksi terhadap peristiwa eksternal: Server MCP juga dapat bertindak sebagai saluran yang mendorong pesan ke dalam sesi Anda, sehingga Claude bereaksi terhadap pesan Telegram, obrolan Discord, atau peristiwa webhook saat Anda sedang pergi.
Temukan dan bangun server MCP
Jelajahi konektor yang telah ditinjau di Direktori Anthropic. Konektor Direktori menggunakan infrastruktur MCP yang sama dengan Claude Code, jadi Anda dapat menambahkan server jarak jauh apa pun yang terdaftar di sana denganclaude mcp add.
Untuk membangun server Anda sendiri, lihat panduan server MCP untuk dasar-dasar protokol dan dokumentasi pembangun konektor Claude untuk autentikasi, pengujian, dan pengajuan Direktori.
Anda juga dapat membuat Claude membangun server untuk Anda dengan plugin resmi mcp-server-dev.
Instal plugin
Dalam sesi Claude Code, jalankan:Jika Claude Code melaporkan bahwa marketplace tidak ditemukan, jalankan
/plugin marketplace add anthropics/claude-plugins-official terlebih dahulu, kemudian coba lagi instalnya. Setelah diinstal, jalankan /reload-plugins untuk mengaktifkannya dalam sesi saat ini.Menginstal server MCP
Server MCP dapat dikonfigurasi dengan beberapa cara berbeda tergantung pada kebutuhan Anda:Opsi 1: Tambahkan server HTTP jarak jauh
Server HTTP adalah opsi yang direkomendasikan untuk terhubung ke server MCP jarak jauh. Ini adalah transport yang paling banyak didukung untuk layanan berbasis cloud..mcp.json, ~/.claude.json, atau claude mcp add-json, bidang type menerima streamable-http sebagai alias untuk http. Spesifikasi MCP menggunakan nama streamable-http untuk transport ini, jadi konfigurasi yang disalin dari dokumentasi server berfungsi tanpa modifikasi.
Opsi 2: Tambahkan server SSE jarak jauh
Opsi 3: Tambahkan server stdio lokal
Server stdio berjalan sebagai proses lokal di mesin Anda. Mereka ideal untuk alat yang memerlukan akses sistem langsung atau skrip khusus. Claude Code menetapkanCLAUDE_PROJECT_DIR di lingkungan server yang dihasilkan ke akar proyek, sehingga server Anda dapat menyelesaikan jalur relatif proyek tanpa bergantung pada direktori kerja. Ini adalah direktori yang sama yang diterima hooks dalam variabel CLAUDE_PROJECT_DIR mereka. Bacalah dari dalam proses server Anda, misalnya process.env.CLAUDE_PROJECT_DIR di Node atau os.environ["CLAUDE_PROJECT_DIR"] di Python.
Server Anda juga dapat memanggil permintaan MCP roots/list, yang mengembalikan direktori tempat Claude Code diluncurkan.
Variabel ini ditetapkan di lingkungan server, bukan di lingkungan Claude Code itu sendiri, jadi mereferensikannya melalui ekspansi ${VAR} dalam .mcp.json yang bersifat proyek atau pengguna command atau args memerlukan default seperti ${CLAUDE_PROJECT_DIR:-.}. Konfigurasi MCP yang disediakan plugin mengganti ${CLAUDE_PROJECT_DIR} secara langsung dan tidak memerlukan default.
Penting: Pisahkan argumen server dengan
--Untuk server stdio, -- (tanda hubung ganda) memisahkan opsi Claude sendiri, seperti --transport, --env, dan --scope, dari perintah dan argumen yang menjalankan server. Semuanya setelah -- diteruskan ke server tanpa diubah.Sebagai contoh:claude mcp add --transport stdio myserver -- npx server→ menjalankannpx serverclaude mcp add --env KEY=value --transport stdio myserver -- python server.py --port 8080→ menjalankanpython server.py --port 8080denganKEY=valuedi lingkungan
--, Claude Code akan mencoba mengurai flag server, seperti --port di atas, sebagai opsinya sendiri.--env menerima beberapa pasangan KEY=value. Jika nama server datang langsung setelah --env, CLI membaca nama sebagai pasangan lain dan menolaknya, jadi tempatkan setidaknya satu opsi lain antara --env dan nama server, seperti dalam contoh di atas.Opsi 4: Tambahkan server WebSocket jarak jauh
Server WebSocket mempertahankan koneksi bidirectional yang persisten, yang cocok untuk server MCP jarak jauh yang mendorong peristiwa ke Claude tanpa diminta. Gunakan HTTP sebagai gantinya ketika server Anda hanya merespons permintaan, karena HTTP mendukung OAuth dan flagclaude mcp add --transport, sementara WebSocket tidak mendukung keduanya.
Konfigurasi server WebSocket dalam .mcp.json atau dengan claude mcp add-json:
type: "ws" menerima bidang url, headers, headersHelper, timeout, dan alwaysLoad yang sama seperti http. Autentikasi hanya header, jadi teruskan token statis dalam headers atau buat satu pada waktu koneksi dengan headersHelper. Flag claude mcp add --transport tidak menerima ws.
Mengelola server Anda
Setelah dikonfigurasi, Anda dapat mengelola server MCP Anda dengan perintah ini:.mcp.json yang menunggu persetujuan Anda muncul dalam claude mcp list sebagai ⏸ Pending approval. Jalankan claude secara interaktif untuk meninjau dan menyetujui mereka. claude mcp get <name> menampilkan server yang tertunda sebagai ⏸ Pending approval dan server yang ditolak sebagai ✗ Rejected.
Mulai dari v2.1.196, claude mcp list dan claude mcp get membaca persetujuan .mcp.json hanya dari file pengaturan yang tidak dimasukkan ke dalam repositori sampai Anda mempercayai workspace dengan menjalankan claude di dalamnya dan menerima dialog kepercayaan workspace. Repositori yang diklon tidak dapat menyetujui server-nya sendiri: enableAllProjectMcpServers atau enabledMcpjsonServers yang dikomitkan ke .claude/settings.json proyek diabaikan dalam folder yang tidak dipercaya, dan server tetap di ⏸ Pending approval alih-alih terhubung dan diperiksa kesehatannya.
Persetujuan dari sumber-sumber ini masih berlaku dalam folder yang tidak dipercaya:
~/.claude/settings.jsonpengguna Anda- pengaturan yang dikelola
- pengaturan yang diteruskan dengan
--settings .claude/settings.local.json, selama git tidak melacaknya
disabledMcpjsonServers dalam file pengaturan apa pun masih menolak server.
Panel /mcp menampilkan jumlah alat di sebelah setiap server yang terhubung dan menandai server yang mengiklankan kemampuan alat tetapi tidak mengekspos alat apa pun.
Jika permintaan Anda memerlukan alat dari server yang masih terhubung di latar belakang, Claude menunggu server tersebut sebelum melanjutkan. Dengan pencarian alat diaktifkan, yang merupakan default, penantian terjadi di dalam panggilan ToolSearch. Dalam konfigurasi tanpa pencarian alat, seperti Vertex AI, ANTHROPIC_BASE_URL khusus, atau ENABLE_TOOL_SEARCH=false, Claude menggunakan alat WaitForMcpServers sebagai gantinya.
Nama server workspace dicadangkan untuk penggunaan internal. Jika konfigurasi Anda menentukan server dengan nama tersebut, Claude Code melewatinya saat waktu muat dan menampilkan peringatan yang meminta Anda untuk mengganti namanya.
Pembaruan alat dinamis
Claude Code mendukung notifikasilist_changed MCP, memungkinkan server MCP untuk secara dinamis memperbarui alat, prompt, dan sumber daya yang tersedia tanpa memerlukan Anda untuk memutuskan dan menghubungkan kembali. Ketika server MCP mengirim notifikasi list_changed, Claude Code secara otomatis menyegarkan kemampuan yang tersedia dari server tersebut.
Koneksi ulang otomatis
Jika server HTTP atau SSE terputus di tengah sesi, Claude Code secara otomatis menghubungkan kembali dengan backoff eksponensial: hingga lima upaya, dimulai dengan penundaan satu detik dan berlipat ganda setiap kali. Server muncul sebagai tertunda dalam/mcp saat koneksi ulang sedang berlangsung. Setelah lima upaya gagal, server ditandai sebagai gagal dan Anda dapat mencoba lagi secara manual dari /mcp. Server stdio adalah proses lokal dan tidak dihubungkan kembali secara otomatis.
Backoff yang sama berlaku ketika server HTTP atau SSE gagal koneksi awalnya saat startup. Mulai dari v2.1.121, Claude Code mencoba ulang koneksi awal hingga tiga kali pada kesalahan transien seperti respons 5xx, koneksi ditolak, atau timeout, kemudian menandai server sebagai gagal jika masih tidak dapat terhubung. Kesalahan autentikasi dan not-found tidak dicoba ulang karena memerlukan perubahan konfigurasi untuk diselesaikan.
Mulai dari v2.1.191, permintaan penemuan kemampuan yang berjalan setelah koneksi yang berhasil, seperti tools/list, prompts/list, dan resources/list, juga mencoba ulang kesalahan jaringan transien dan server hingga tiga kali dengan backoff pendek. Kesalahan autentikasi, respons 4xx, dan timeout permintaan tidak dicoba ulang.
Dorong pesan dengan saluran
Server MCP juga dapat mendorong pesan langsung ke dalam sesi Anda sehingga Claude dapat bereaksi terhadap peristiwa eksternal seperti hasil CI, peringatan pemantauan, atau pesan obrolan. Untuk mengaktifkan ini, server Anda mendeklarasikan kemampuanclaude/channel dan Anda memilihnya dengan flag --channels saat startup. Lihat Saluran untuk menggunakan saluran yang didukung secara resmi, atau Referensi saluran untuk membangun saluran Anda sendiri.
Waktu tunggu per-server timeout adalah batas dinding jam yang keras per panggilan alat, dan notifikasi kemajuan dari server tidak memperpanjangnya. Nilai di bawah 1000 diabaikan dan jatuh melalui MCP_TOOL_TIMEOUT, atau ke default-nya sekitar 28 jam ketika variabel tersebut tidak diatur. Sebelum v2.1.162, nilai di bawah 1000 dibulatkan ke satu detik sebagai gantinya.
Untuk server HTTP dan SSE, anggaran first-byte fetch per-permintaan memiliki minimum 60 detik.
Mulai dari v2.1.187, panggilan alat ke server HTTP, SSE, WebSocket, atau konektor claude.ai jarak jauh yang tidak mengirim respons dan tidak ada notifikasi kemajuan selama 5 menit akan dibatalkan dengan kesalahan alih-alih menunggu batas dinding jam. Atur variabel lingkungan CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT dalam milidetik untuk mengubah jendela idle, atau atur ke 0 untuk menonaktifkan pemeriksaan. Server stdio adalah proses lokal dan tidak tunduk pada timeout idle.
Server MCP yang disediakan plugin
Plugin dapat menggabungkan server MCP, secara otomatis menyediakan alat dan integrasi ketika plugin diaktifkan. Server MCP plugin bekerja identik dengan server yang dikonfigurasi pengguna. Cara kerja server MCP plugin:- Plugin menentukan server MCP dalam
.mcp.jsondi root plugin atau inline dalamplugin.json - Ketika plugin diaktifkan, server MCP-nya dimulai secara otomatis
- Alat MCP plugin muncul bersama alat MCP yang dikonfigurasi secara manual
- Server plugin dikelola melalui instalasi plugin, bukan perintah
/mcp
.mcp.json di root plugin:
plugin.json:
- Siklus hidup otomatis: Pada startup sesi, server untuk plugin yang diaktifkan terhubung secara otomatis. Jika Anda mengaktifkan atau menonaktifkan plugin selama sesi, jalankan
/reload-pluginsuntuk menghubungkan atau memutuskan server MCP-nya - Variabel lingkungan: gunakan
${CLAUDE_PLUGIN_ROOT}untuk file plugin bundel,${CLAUDE_PLUGIN_DATA}untuk status persisten yang bertahan pembaruan plugin, dan${CLAUDE_PROJECT_DIR}untuk akar proyek yang stabil - Akses lingkungan pengguna: Akses ke variabel lingkungan yang sama seperti server yang dikonfigurasi secara manual
- Jenis transport berganda: Dukungan transport stdio, SSE, HTTP, dan WebSocket, meskipun dukungan transport dapat bervariasi menurut server
mcp__plugin_<plugin-name>_<server-name>__<tool-name>, di mana karakter apa pun di luar A-Z, a-z, 0-9, _, dan - diganti dengan _. Untuk server database-tools yang dibundel dalam plugin bernama my-plugin, alat query dapat dipanggil sebagai:
allowed-tools skill, atau bidang tools subagent.
Manfaat server MCP plugin:
- Distribusi bundel: Alat dan server dikemas bersama
- Pengaturan otomatis: Tidak perlu konfigurasi MCP manual
- Konsistensi tim: Semua orang mendapatkan alat yang sama ketika plugin diinstal
Cakupan instalasi MCP
Server MCP dapat dikonfigurasi pada tiga cakupan berbeda. Cakupan yang Anda pilih mengontrol proyek mana tempat server dimuat dan apakah konfigurasi dibagikan dengan tim Anda. Administrator juga dapat menerapkan server di tingkat enterprise melalui konfigurasi terkelola.Cakupan lokal
Cakupan lokal adalah default. Server dengan cakupan lokal hanya dimuat di proyek tempat Anda menambahkannya dan tetap pribadi untuk Anda. Claude Code menyimpannya dalam~/.claude.json di bawah jalur proyek tersebut, jadi server yang sama tidak akan muncul di proyek lain Anda. Gunakan cakupan lokal untuk server pengembangan pribadi, konfigurasi eksperimental, atau server dengan kredensial yang tidak ingin Anda masukkan ke dalam kontrol versi.
Istilah “cakupan lokal” untuk server MCP berbeda dari pengaturan lokal umum. Server MCP dengan cakupan lokal disimpan dalam
~/.claude.json (direktori home Anda), sementara pengaturan lokal umum menggunakan .claude/settings.local.json (di direktori proyek). Lihat Pengaturan untuk detail tentang lokasi file pengaturan.~/.claude.json. Contoh di bawah menunjukkan hasilnya ketika Anda menjalankannya dari /path/to/your/project:
Cakupan proyek
Server dengan cakupan proyek memungkinkan kolaborasi tim dengan menyimpan konfigurasi dalam file.mcp.json di direktori root proyek Anda. File ini dirancang untuk diperiksa ke dalam kontrol versi, memastikan semua anggota tim memiliki akses ke alat dan layanan MCP yang sama. Ketika Anda menambahkan server dengan cakupan proyek, Claude Code secara otomatis membuat atau memperbarui file ini dengan struktur konfigurasi yang sesuai.
.mcp.json yang dihasilkan mengikuti format standar:
.mcp.json. Jika Anda perlu mengatur ulang pilihan persetujuan ini, gunakan perintah claude mcp reset-project-choices.
Cakupan pengguna
Server dengan cakupan pengguna disimpan dalam~/.claude.json dan menyediakan aksesibilitas lintas proyek, menjadikannya tersedia di semua proyek di mesin Anda sambil tetap pribadi untuk akun pengguna Anda. Cakupan ini bekerja dengan baik untuk server utilitas pribadi, alat pengembangan, atau layanan yang sering Anda gunakan di berbagai proyek.
Hierarki cakupan dan prioritas
Ketika server yang sama ditentukan di lebih dari satu tempat, Claude Code terhubung ke server tersebut sekali, menggunakan definisi dari sumber dengan prioritas tertinggi. Seluruh entri server dari sumber tersebut digunakan; bidang tidak digabungkan di seluruh cakupan.- Cakupan lokal
- Cakupan proyek
- Cakupan pengguna
- Server yang disediakan plugin
- Konektor claude.ai
Ekspansi variabel lingkungan dalam .mcp.json
Claude Code mendukung ekspansi variabel lingkungan dalam file .mcp.json, memungkinkan tim untuk berbagi konfigurasi sambil mempertahankan fleksibilitas untuk jalur spesifik mesin dan nilai sensitif seperti kunci API.
Sintaks yang didukung:
${VAR}: berkembang menjadi nilai variabel lingkunganVAR${VAR:-default}: berkembang menjadiVARjika diatur, jika tidak menggunakandefault
command: jalur executable serverargs: argumen baris perintahenv: variabel lingkungan yang diteruskan ke serverurl: untuk jenis server HTTPheaders: untuk autentikasi server HTTP
Contoh praktis
Contoh: Pantau kesalahan dengan Sentry
Contoh: Hubungkan ke GitHub untuk tinjauan kode
Server MCP jarak jauh GitHub diautentikasi dengan token akses pribadi GitHub yang diteruskan sebagai header. Untuk mendapatkan satu, buka pengaturan token GitHub Anda, hasilkan token baru yang bersifat fine-grained dengan akses ke repositori yang ingin Claude kerjakan, kemudian tambahkan server:Contoh: Tanyakan database PostgreSQL Anda
Autentikasi dengan server MCP jarak jauh
Banyak server MCP berbasis cloud memerlukan autentikasi. Claude Code mendukung OAuth 2.0 untuk koneksi yang aman. Claude Code menandai server jarak jauh sebagai memerlukan autentikasi ketika server merespons dengan401 Unauthorized atau 403 Forbidden. Salah satu kode status ini menandai server di /mcp sehingga Anda dapat menyelesaikan alur OAuth.
Mulai dari v2.1.195, ketika penyegaran token gagal karena server menolak token penyegaran yang disimpan, Claude Code segera menampilkan pemberitahuan yang menunjuk ke /mcp. Menu server yang terhubung di sana menawarkan Re-authenticate, sehingga Anda dapat masuk lagi sebelum panggilan alat berikutnya gagal.
Server kustom yang mengembalikan header WWW-Authenticate yang menunjuk ke server otorisasinya mendapatkan penemuan otomatis yang sama seperti server jarak jauh lainnya.
Mulai dari v2.1.193, Claude Code juga menampilkan pemberitahuan startup ketika satu atau lebih server yang dikonfigurasi memerlukan autentikasi, sehingga Anda tidak perlu membuka /mcp untuk menemukan server mana yang memerlukan sign-in.
Dalam mode non-interaktif tidak ada panel /mcp, jadi Claude Code tidak dapat menjalankan alur OAuth untuk Anda. Mulai dari v2.1.196, ketika server yang dikonfigurasi memerlukan autentikasi selama claude -p atau jalankan Agent SDK dengan pencarian alat diaktifkan, yang merupakan default, Claude Code memberi tahu Claude bahwa alat server tidak tersedia sampai Anda mengotorisasinya. Claude kemudian dapat menyebutkan server yang memerlukan sign-in alih-alih merespons seolah-olah server tidak dikonfigurasi. Selesaikan sign-in dari sesi interaktif dengan /mcp atau claude mcp login <name>.
Jika Anda mengonfigurasi headers.Authorization untuk server dan server menolak header tersebut, Claude Code melaporkan koneksi sebagai gagal alih-alih kembali ke OAuth. Periksa bahwa token valid untuk endpoint MCP, atau hapus header untuk menggunakan alur OAuth.
Autentikasi dari baris perintah
Dari v2.1.186,claude mcp login <name> menjalankan alur OAuth server yang dikonfigurasi langsung dari shell Anda, sehingga Anda tidak perlu membuka panel /mcp di dalam sesi.
claude mcp logout <name>.
Mulai dari v2.1.191, perintah mendeteksi ketika tidak ada browser lokal yang tersedia, seperti selama sesi SSH atau di Linux tanpa server tampilan, dan mencetak URL otorisasi alih-alih mencoba membuka browser. Buka URL di mesin lokal Anda, kemudian tempel URL pengalihan lengkap dari bilah alamat browser Anda kembali ke prompt. Perintah memerlukan terminal interaktif untuk langkah paste, jadi hubungkan dengan ssh -t. Teruskan --no-browser untuk memaksa prompt URL bahkan ketika browser lokal terdeteksi.
Gunakan port callback OAuth tetap
Beberapa server MCP memerlukan URI pengalihan tertentu yang terdaftar sebelumnya. Secara default, Claude Code memilih port acak yang tersedia untuk callback OAuth. Gunakan--callback-port untuk memperbaiki port sehingga cocok dengan URI pengalihan yang telah terdaftar sebelumnya dalam bentuk http://localhost:PORT/callback.
Anda dapat menggunakan --callback-port sendiri (dengan pendaftaran klien dinamis) atau bersama dengan --client-id (dengan kredensial yang telah dikonfigurasi sebelumnya).
Gunakan kredensial OAuth yang telah dikonfigurasi sebelumnya
Beberapa server MCP tidak mendukung pengaturan OAuth otomatis melalui Dynamic Client Registration. Jika Anda melihat kesalahan seperti “Incompatible auth server: does not support dynamic client registration,” server memerlukan kredensial yang telah dikonfigurasi sebelumnya. Claude Code juga mendukung server yang menggunakan Client ID Metadata Document (CIMD) alih-alih Dynamic Client Registration, dan menemukan ini secara otomatis. Jika penemuan otomatis gagal, daftarkan aplikasi OAuth melalui portal pengembang server terlebih dahulu, kemudian berikan kredensial saat menambahkan server.Daftarkan aplikasi OAuth dengan server
Buat aplikasi melalui portal pengembang server dan catat ID klien dan rahasia klien Anda.Banyak server juga memerlukan URI pengalihan. Jika demikian, pilih port dan daftarkan URI pengalihan dalam format
http://localhost:PORT/callback. Gunakan port yang sama dengan --callback-port di langkah berikutnya.Tambahkan server dengan kredensial Anda
Pilih salah satu metode berikut. Port yang digunakan untuk
--callback-port dapat berupa port apa pun yang tersedia. Itu hanya perlu cocok dengan URI pengalihan yang Anda daftarkan di langkah sebelumnya.- claude mcp add
- claude mcp add-json
- claude mcp add-json (callback port only)
- CI / env var
Gunakan
--client-id untuk meneruskan ID klien aplikasi Anda. Flag --client-secret meminta rahasia dengan input yang disembunyikan:Ganti penemuan metadata OAuth
Arahkan Claude Code ke URL metadata otorisasi OAuth tertentu untuk melewati rantai penemuan default. AturauthServerMetadataUrl ketika endpoint standar server MCP mengembalikan kesalahan, atau ketika Anda ingin merutekan penemuan melalui proxy internal. Secara default, Claude Code pertama kali memeriksa Protected Resource Metadata RFC 9728 di /.well-known/oauth-protected-resource, kemudian kembali ke metadata server otorisasi RFC 8414 di /.well-known/oauth-authorization-server.
Atur authServerMetadataUrl dalam objek oauth dari konfigurasi server Anda di .mcp.json:
https://. authServerMetadataUrl memerlukan Claude Code v2.1.64 atau lebih baru. scopes_supported dari URL metadata mengganti cakupan yang diiklankan server upstream.
Batasi cakupan OAuth
Aturoauth.scopes untuk menyematkan cakupan yang diminta Claude Code selama alur otorisasi. Ini adalah cara yang didukung untuk membatasi server MCP ke subset yang disetujui tim keamanan ketika server otorisasi upstream mengiklankan lebih banyak cakupan daripada yang ingin Anda berikan. Nilainya adalah string tunggal yang dipisahkan spasi, cocok dengan format parameter scope dalam RFC 6749 §3.3.
oauth.scopes mengambil prioritas atas authServerMetadataUrl dan cakupan yang ditemukan server di /.well-known. Biarkan tidak diatur untuk membiarkan server MCP menentukan set cakupan yang diminta.
Mulai dari v2.1.196, ketika oauth.scopes tidak diatur, Claude Code meminta cakupan yang disediakan oleh header WWW-Authenticate server atau metadata sumber daya terlindungnya, dan tidak mengirim parameter scope ketika tidak ada yang menyediakannya. Itu tidak lagi meminta katalog scopes_supported lengkap dari metadata server otorisasi yang ditemukan secara otomatis. Meminta katalog itu membuat penyedia identitas yang mengiklankan cakupan khusus admin atau template menolak permintaan otorisasi dengan kesalahan invalid_scope. Metadata yang diambil dari authServerMetadataUrl yang dikonfigurasi masih menyediakan scopes_supported sebagai cakupan yang diminta.
Jika server otorisasi mengiklankan offline_access dalam scopes_supported, Claude Code menambahkannya ke cakupan yang disematkan sehingga token akses dapat disegarkan tanpa login browser baru.
Jika server kemudian mengembalikan 403 insufficient_scope untuk panggilan alat, Claude Code melakukan autentikasi ulang dengan cakupan yang disematkan yang sama. Perluas oauth.scopes ketika alat yang Anda butuhkan memerlukan cakupan di luar set yang disematkan.
Gunakan header dinamis untuk autentikasi khusus
Jika server MCP Anda menggunakan skema autentikasi selain OAuth, seperti Kerberos, token berumur pendek, atau SSO internal, gunakanheadersHelper untuk menghasilkan header permintaan pada waktu koneksi. Claude Code menjalankan perintah dan menggabungkan outputnya ke dalam header koneksi.
- Perintah harus menulis objek JSON dari pasangan kunci-nilai string ke stdout
- Perintah berjalan dalam shell dengan waktu tunggu 10 detik
- Header dinamis mengganti
headersstatis apa pun dengan nama yang sama
401 Unauthorized atau 403 Forbidden, Claude Code secara otomatis menjalankan kembali helper, terhubung kembali dengan header segar, dan mencoba panggilan sekali lagi. Claude Code menandai server sebagai memerlukan autentikasi di /mcp hanya jika percobaan ulang itu juga gagal.
Claude Code menetapkan variabel lingkungan ini saat menjalankan helper:
| Variabel | Nilai |
|---|---|
CLAUDE_CODE_MCP_SERVER_NAME | nama server MCP |
CLAUDE_CODE_MCP_SERVER_URL | URL server MCP |
CLAUDE_PLUGIN_ROOT | direktori root plugin. Diatur hanya ketika plugin menyediakan server |
headersHelper relatif diselesaikan di dalam direktori plugin daripada terhadap direktori kerja sesi. Memerlukan Claude Code v2.1.195 atau lebih baru.
headersHelper mengeksekusi perintah shell arbitrer. Ketika ditentukan pada cakupan proyek atau lokal, itu hanya berjalan setelah Anda menerima dialog kepercayaan ruang kerja.Tambahkan server MCP dari konfigurasi JSON
Jika Anda memiliki konfigurasi JSON untuk server MCP, Anda dapat menambahkannya secara langsung:Impor server MCP dari Claude Desktop
Jika Anda telah mengonfigurasi server MCP di Claude Desktop, Anda dapat mengimpornya:Pilih server mana yang akan diimpor
Setelah menjalankan perintah, Anda akan melihat dialog interaktif yang memungkinkan Anda memilih server mana yang ingin Anda impor.
Gunakan server MCP dari claude.ai
Jika Anda telah masuk ke Claude Code dengan akun claude.ai, server MCP yang telah Anda tambahkan di claude.ai secara otomatis tersedia di Claude Code:Konfigurasi server MCP di claude.ai
Tambahkan server di claude.ai/customize/connectors. Pada paket Tim dan Enterprise, hanya admin yang dapat menambahkan server.
Show unused connectors di akhir bagian claude.ai, sehingga daftar yang disediakan organisasi tidak mengisi panel. Pilih baris untuk memperluas mereka. Konektor yang Anda masuki sebelumnya tetap terlihat bahkan ketika saat ini memerlukan autentikasi ulang.
Konektor dari claude.ai diambil hanya ketika metode autentikasi aktif Anda adalah langganan claude.ai Anda. Mereka tidak dimuat ketika ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN, apiKeyHelper, atau penyedia pihak ketiga seperti Bedrock atau Vertex aktif, bahkan jika Anda sebelumnya menjalankan /login.
Jika /mcp tidak mencantumkan konektor yang Anda tambahkan, jalankan /status untuk mengonfirmasi metode autentikasi mana yang aktif, hapus variabel lingkungan tersebut atau hapus pengaturan apiKeyHelper, kemudian jalankan /login untuk memilih akun claude.ai Anda.
Server yang telah Anda tambahkan di Claude Code mengambil prioritas atas konektor claude.ai yang menunjuk ke URL yang sama. Ketika ini terjadi, /mcp mencantumkan konektor sebagai tersembunyi dan menunjukkan cara menghapus duplikat jika Anda lebih suka menggunakan konektor.
Beberapa konektor yang dihosting Anthropic, seperti Microsoft 365, Gmail, dan Google Calendar, tidak mendukung OAuth lokal dari Claude Code karena penyedia identitas hulu hanya menerima URL pengalihan yang didaftarkan claude.ai. Mulai dari v2.1.162, mengautentikasi salah satu host ini di /mcp menampilkan pesan yang mengarahkan Anda untuk menghubungkannya di Settings → Connectors di claude.ai. Setelah terhubung di sana, konektor muncul di Claude Code secara otomatis.
Nonaktifkan konektor claude.ai
Untuk menonaktifkan server MCP claude.ai di Claude Code, aturdisableClaudeAiConnectors ke true dalam cakupan pengaturan apa pun:
true dalam sumber pengaturan apa pun mengambil prioritas. File .claude/settings.json proyek yang diperiksa dapat mengeluarkan repositori dari konektor cloud, tetapi false tingkat proyek tidak dapat mengaktifkan kembali konektor yang telah dinonaktifkan oleh true tingkat pengguna atau kebijakan. Server yang dilewatkan secara eksplisit melalui --mcp-config tidak terpengaruh.
Anda juga dapat mengatur variabel lingkungan ENABLE_CLAUDEAI_MCP_SERVERS ke false, yang memiliki efek yang sama untuk sesi shell saat ini:
deniedMcpServers berdasarkan nama atau pola URL. Misalnya, entri serverName dari "claude.ai Slack" memblokir konektor Slack. Untuk mengalihkan konektor aktif atau nonaktif hanya untuk proyek saat ini, gunakan panel /mcp.
Pengaturan sisi klien ini mengatur sesi Claude Code lokal. Dalam sesi Claude Code di web, konektor claude.ai disediakan oleh host jarak jauh dan tiba sebagai entri
--mcp-config eksplisit, jadi disableClaudeAiConnectors tidak berlaku di sana. URL konektor juga ditulis ulang melalui proxy sesi, jadi pola serverUrl deniedMcpServers yang menargetkan URL vendor tidak akan cocok. Kelola konektor mana yang dapat digunakan sesi cloud dari pengaturan organisasi claude.ai Anda.Gunakan Claude Code sebagai server MCP
Anda dapat menggunakan Claude Code itu sendiri sebagai server MCP yang dapat terhubung oleh aplikasi lain:Batas output MCP dan peringatan
Ketika alat MCP menghasilkan output besar, Claude Code membantu mengelola penggunaan token untuk mencegah membanjiri konteks percakapan Anda:- Ambang batas peringatan output: Claude Code menampilkan peringatan ketika output alat MCP apa pun melebihi 10.000 token
- Batas yang dapat dikonfigurasi: Anda dapat menyesuaikan token output MCP maksimum yang diizinkan menggunakan variabel lingkungan
MAX_MCP_OUTPUT_TOKENS - Batas default: Maksimum default adalah 25.000 token
- Cakupan: Variabel lingkungan berlaku untuk alat yang tidak mendeklarasikan batas mereka sendiri. Alat yang menetapkan
anthropic/maxResultSizeCharsmenggunakan nilai itu sebagai gantinya untuk konten teks, terlepas dari apa yangMAX_MCP_OUTPUT_TOKENSdiatur. Alat yang mengembalikan data gambar masih tunduk padaMAX_MCP_OUTPUT_TOKENS
- Menanyakan dataset atau database besar
- Menghasilkan laporan atau dokumentasi terperinci
- Memproses file log atau informasi debugging yang luas
Naikkan batas untuk alat tertentu
Jika Anda membangun server MCP, Anda dapat mengizinkan alat individual untuk mengembalikan hasil yang lebih besar dari ambang batas default dengan menetapkan_meta["anthropic/maxResultSizeChars"] dalam entri tools/list alat. Claude Code menaikkan ambang batas alat tersebut ke nilai yang dianotasi, hingga batas keras 500.000 karakter.
Ini berguna untuk alat yang mengembalikan output yang secara inheren besar tetapi diperlukan, seperti skema database atau pohon file lengkap. Tanpa anotasi, hasil yang melebihi ambang batas default disimpan ke disk dan diganti dengan referensi file dalam percakapan.
MAX_MCP_OUTPUT_TOKENS untuk konten teks, jadi pengguna tidak perlu menaikkan variabel lingkungan untuk alat yang mendeklarasikannya. Alat yang mengembalikan data gambar masih tunduk pada batas token.
Tanggapi permintaan elicitasi MCP
Server MCP dapat meminta input terstruktur dari Anda di tengah tugas menggunakan elicitasi. Ketika server memerlukan informasi yang tidak dapat diperolehnya sendiri, Claude Code menampilkan dialog interaktif dan meneruskan respons Anda kembali ke server. Tidak ada konfigurasi yang diperlukan di pihak Anda: dialog elicitasi muncul secara otomatis ketika server memintanya. Server dapat meminta input dengan dua cara:- Mode formulir: Claude Code menampilkan dialog dengan field formulir yang ditentukan oleh server (misalnya, prompt nama pengguna dan kata sandi). Isi field dan kirim.
- Mode URL: Claude Code membuka URL browser untuk autentikasi atau persetujuan. Selesaikan alur di browser, kemudian konfirmasi di CLI.
Elicitation.
Jika Anda membangun server MCP yang menggunakan elicitasi, lihat spesifikasi elicitasi MCP untuk detail protokol dan contoh skema.
Gunakan sumber daya MCP
Server MCP dapat mengekspos sumber daya yang dapat Anda referensikan menggunakan penyebutan @, mirip dengan cara Anda mereferensikan file.Referensikan sumber daya MCP
Daftar sumber daya yang tersedia
Ketik
@ dalam prompt Anda untuk melihat sumber daya yang tersedia dari semua server MCP yang terhubung. Sumber daya muncul bersama file dalam menu pelengkapan otomatis.Referensikan sumber daya tertentu
Gunakan format
@server:protocol://resource/path untuk mereferensikan sumber daya:Skala dengan Pencarian Alat MCP
Pencarian Alat menjaga penggunaan konteks MCP tetap rendah dengan menunda definisi alat sampai Claude membutuhkannya. Hanya nama alat dan instruksi server yang dimuat saat startup sesi, jadi menambahkan lebih banyak server MCP memiliki dampak minimal pada jendela konteks Anda. Claude Code tidak memberlakukan batas alat tetap per-server; batas praktisnya adalah anggaran jendela konteks Anda.Cara kerjanya
Pencarian Alat diaktifkan secara default. Alat MCP ditangguhkan daripada dimuat ke konteks sebelumnya, dan Claude menggunakan alat pencarian untuk menemukan yang relevan saat tugas membutuhkannya. Hanya alat yang benar-benar digunakan Claude yang memasuki konteks. Dari perspektif Anda, alat MCP bekerja persis seperti sebelumnya. Jika Anda lebih suka pemuatan berbasis ambang batas, aturENABLE_TOOL_SEARCH=auto untuk memuat skema sebelumnya ketika mereka cocok dalam 10% jendela konteks dan hanya menunda overflow. Lihat Konfigurasi pencarian alat untuk semua opsi.
Untuk penulis server MCP
Jika Anda membangun server MCP, field instruksi server menjadi lebih berguna dengan Pencarian Alat yang diaktifkan. Instruksi server membantu Claude memahami kapan harus mencari alat Anda, mirip dengan cara skills bekerja. Tambahkan instruksi server yang jelas dan deskriptif yang menjelaskan:- Kategori tugas apa yang ditangani alat Anda
- Kapan Claude harus mencari alat Anda
- Kemampuan utama yang disediakan server Anda
Konfigurasi pencarian alat
Pencarian alat diaktifkan secara default: alat MCP ditangguhkan dan ditemukan sesuai permintaan. Claude Code menonaktifkannya secara default di Vertex AI. Pencarian alat juga dinonaktifkan ketikaANTHROPIC_BASE_URL menunjuk ke host non-pihak pertama, karena sebagian besar proxy tidak meneruskan blok tool_reference. Atur ENABLE_TOOL_SEARCH secara eksplisit untuk mengganti fallback mana pun.
Pencarian alat memerlukan model yang mendukung blok tool_reference. Model Haiku tidak mendukungnya. Di Vertex AI, pencarian alat didukung untuk Claude Sonnet 4.5 dan lebih baru serta Claude Opus 4.5 dan lebih baru.
Kontrol perilaku pencarian alat dengan variabel lingkungan ENABLE_TOOL_SEARCH:
| Nilai | Perilaku |
|---|---|
| (tidak diatur) | Semua alat MCP ditangguhkan dan dimuat sesuai permintaan. Kembali ke pemuatan sebelumnya di Vertex AI atau ketika ANTHROPIC_BASE_URL adalah host non-pihak pertama |
true | Semua alat MCP ditangguhkan. Claude Code mengirim header beta bahkan di Vertex AI dan melalui proxy. Permintaan gagal pada model Vertex AI lebih awal dari Sonnet 4.5 atau Opus 4.5, atau pada proxy yang tidak mendukung blok tool_reference |
auto | Mode ambang batas: alat dimuat sebelumnya jika cocok dalam 10% jendela konteks, ditangguhkan sebaliknya |
auto:N | Mode ambang batas dengan persentase khusus, di mana N adalah 0-100. Misalnya, auto:5 untuk 5% |
false | Semua alat MCP dimuat sebelumnya, tidak ada penundaan |
env settings.json Anda.
Anda juga dapat menonaktifkan alat ToolSearch secara khusus:
Keluarkan server dari penundaan
Jika alat server harus selalu terlihat oleh Claude tanpa langkah pencarian, aturalwaysLoad ke true dalam konfigurasi server tersebut. Setiap alat dari server tersebut kemudian dimuat ke konteks saat startup sesi terlepas dari pengaturan ENABLE_TOOL_SEARCH. Gunakan ini untuk sejumlah kecil alat yang Claude butuhkan di setiap putaran, karena setiap alat sebelumnya mengonsumsi konteks yang sebaliknya akan tersedia untuk percakapan Anda.
Entri .mcp.json berikut mengecualikan satu server HTTP sambil membiarkan server lain ditangguhkan:
alwaysLoad tersedia di semua jenis server dan memerlukan Claude Code v2.1.121 atau lebih baru. Server MCP juga dapat menandai alat individual sebagai selalu-dimuat dengan menyertakan "anthropic/alwaysLoad": true dalam objek _meta alat, yang memiliki efek yang sama hanya untuk alat tersebut.
Pengaturan alwaysLoad: true juga memblokir startup sampai server terhubung, dibatasi pada timeout koneksi standar 5 detik. Ini berlaku bahkan ketika MCP startup adalah non-blocking secara default, karena alat harus ada saat prompt pertama dibangun. Server lain terus terhubung di latar belakang.
Gunakan prompt MCP sebagai perintah
Server MCP dapat mengekspos prompt yang menjadi tersedia sebagai perintah di Claude Code.Jalankan prompt MCP
Temukan prompt yang tersedia
Ketik
/ untuk melihat semua perintah yang tersedia, termasuk yang dari server MCP. Prompt MCP muncul dengan format /mcp__servername__promptname.Konfigurasi MCP yang dikelola
Untuk organisasi yang memerlukan kontrol terpusat atas server MCP mana yang dapat dihubungkan pengguna, lihat Konfigurasi MCP yang dikelola. Ini mencakup penerapan set server tetap denganmanaged-mcp.json, pembatasan server dengan allowedMcpServers dan deniedMcpServers, dan apa yang dilihat pengguna ketika server diblokir.