Fitur konektor Model Context Protocol (MCP) Claude memungkinkan Anda terhubung ke server MCP jarak jauh langsung dari Messages API tanpa klien MCP terpisah.
Versi saat ini: Fitur ini memerlukan header beta: "anthropic-beta": "mcp-client-2025-11-20"
Versi sebelumnya (mcp-client-2025-04-04) sudah tidak digunakan lagi. Lihat dokumentasi versi yang tidak digunakan lagi di bawah.
Konektor MCP menggunakan dua komponen:
mcp_servers): Menentukan detail koneksi server (URL, autentikasi)tools): Mengonfigurasi alat mana yang akan diaktifkan dan cara mengonfigurasinyaContoh ini mengaktifkan semua alat dari server MCP dengan konfigurasi default:
Setiap server MCP dalam array mcp_servers menentukan detail koneksi:
{
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN"
}| Properti | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
type | string | Ya | Saat ini hanya "url" yang didukung |
url | string | Ya | URL server MCP. Harus dimulai dengan https:// |
name | string | Ya | Pengidentifikasi unik untuk server MCP ini. Harus direferensikan oleh tepat satu MCPToolset dalam array tools. |
authorization_token | string | Tidak | Token otorisasi OAuth jika diperlukan oleh server MCP. Lihat spesifikasi MCP. |
MCPToolset berada dalam array tools dan mengonfigurasi alat mana dari server MCP yang diaktifkan dan cara mengonfigurasinya.
{
"type": "mcp_toolset",
"mcp_server_name": "example-mcp",
"default_config": {
"enabled": true,
"defer_loading": false
},
"configs": {
"specific_tool_name": {
"enabled": true,
"defer_loading": true
}
}
}| Properti | Tipe | Diperlukan | Deskripsi |
|---|---|---|---|
type | string | Ya | Harus "mcp_toolset" |
mcp_server_name | string | Ya | Harus cocok dengan nama server yang ditentukan dalam array mcp_servers |
default_config | object | Tidak | Konfigurasi default yang diterapkan ke semua alat dalam set ini. Konfigurasi alat individual dalam configs akan mengganti default ini. |
configs | object | Tidak | Penggantian konfigurasi per-alat. Kunci adalah nama alat, nilai adalah objek konfigurasi. |
Setiap alat (baik dikonfigurasi dalam default_config atau dalam configs) mendukung bidang berikut:
| Properti | Tipe | Default | Deskripsi |
|---|---|---|---|
enabled | boolean | true | Apakah alat ini diaktifkan |
defer_loading | boolean | false | Jika true, deskripsi alat tidak dikirim ke model awalnya. Digunakan dengan Alat Pencarian Alat. |
Nilai konfigurasi digabungkan dengan urutan prioritas ini (tertinggi ke terendah):
configsdefault_configContoh:
{
"type": "mcp_toolset",
"mcp_server_name": "google-calendar-mcp",
"default_config": {
"defer_loading": true
},
"configs": {
"search_events": {
"enabled": false
}
}
}Menghasilkan:
search_events: enabled: false (dari configs), defer_loading: true (dari default_config)enabled: true (default sistem), defer_loading: true (dari default_config)Pola paling sederhana - aktifkan semua alat dari server:
{
"type": "mcp_toolset",
"mcp_server_name": "google-calendar-mcp",
}Atur enabled: false sebagai default, kemudian secara eksplisit aktifkan alat tertentu:
{
"type": "mcp_toolset",
"mcp_server_name": "google-calendar-mcp",
"default_config": {
"enabled": false
},
"configs": {
"search_events": {
"enabled": true
},
"create_event": {
"enabled": true
}
}
}Aktifkan semua alat secara default, kemudian secara eksplisit nonaktifkan alat yang tidak diinginkan:
{
"type": "mcp_toolset",
"mcp_server_name": "google-calendar-mcp",
"configs": {
"delete_all_events": {
"enabled": false
},
"share_calendar_publicly": {
"enabled": false
}
}
}Gabungkan daftar putih dengan konfigurasi khusus untuk setiap alat:
{
"type": "mcp_toolset",
"mcp_server_name": "google-calendar-mcp",
"default_config": {
"enabled": false,
"defer_loading": true
},
"configs": {
"search_events": {
"enabled": true,
"defer_loading": false
},
"list_events": {
"enabled": true
}
}
}Dalam contoh ini:
search_events diaktifkan dengan defer_loading: falselist_events diaktifkan dengan defer_loading: true (diwarisi dari default_config)API memberlakukan aturan validasi ini:
mcp_server_name dalam MCPToolset harus cocok dengan server yang ditentukan dalam array mcp_serversmcp_servers harus direferensikan oleh tepat satu MCPToolsetconfigs tidak ada di server MCP, peringatan backend dicatat tetapi tidak ada kesalahan yang dikembalikan (server MCP mungkin memiliki ketersediaan alat yang dinamis)Ketika Claude menggunakan alat MCP, respons akan mencakup dua jenis blok konten baru:
{
"type": "mcp_tool_use",
"id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
"name": "echo",
"server_name": "example-mcp",
"input": { "param1": "value1", "param2": "value2" }
}{
"type": "mcp_tool_result",
"tool_use_id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
"is_error": false,
"content": [
{
"type": "text",
"text": "Hello"
}
]
}Anda dapat terhubung ke beberapa server MCP dengan menyertakan beberapa definisi server dalam mcp_servers dan MCPToolset yang sesuai untuk masing-masing dalam array tools:
{
"model": "claude-sonnet-4-5",
"max_tokens": 1000,
"messages": [
{
"role": "user",
"content": "Use tools from both mcp-server-1 and mcp-server-2 to complete this task"
}
],
"mcp_servers": [
{
"type": "url",
"url": "https://mcp.example1.com/sse",
"name": "mcp-server-1",
"authorization_token": "TOKEN1"
},
{
"type": "url",
"url": "https://mcp.example2.com/sse",
"name": "mcp-server-2",
"authorization_token": "TOKEN2"
}
],
"tools": [
{
"type": "mcp_toolset",
"mcp_server_name": "mcp-server-1"
},
{
"type": "mcp_toolset",
"mcp_server_name": "mcp-server-2",
"default_config": {
"defer_loading": true
}
}
]
}Untuk server MCP yang memerlukan autentikasi OAuth, Anda perlu mendapatkan token akses. Beta konektor MCP mendukung melewatkan parameter authorization_token dalam definisi server MCP.
Konsumen API diharapkan menangani alur OAuth dan mendapatkan token akses sebelum melakukan panggilan API, serta menyegarkan token sesuai kebutuhan.
Inspektur MCP dapat memandu Anda melalui proses mendapatkan token akses untuk tujuan pengujian.
Jalankan inspektur dengan perintah berikut. Anda perlu Node.js terinstal di mesin Anda.
npx @modelcontextprotocol/inspectorDi bilah sisi di sebelah kiri, untuk "Jenis transportasi", pilih "SSE" atau "HTTP Streamable".
Masukkan URL server MCP.
Di area kanan, klik tombol "Buka Pengaturan Autentikasi" setelah "Perlu mengonfigurasi autentikasi?".
Klik "Alur OAuth Cepat" dan otorisasi di layar OAuth.
Ikuti langkah-langkah di bagian "Kemajuan Alur OAuth" dari inspektur dan klik "Lanjutkan" hingga Anda mencapai "Autentikasi selesai".
Salin nilai access_token.
Setelah Anda mendapatkan token akses menggunakan alur OAuth di atas, Anda dapat menggunakannya dalam konfigurasi server MCP Anda:
{
"mcp_servers": [
{
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse",
"name": "authenticated-server",
"authorization_token": "YOUR_ACCESS_TOKEN_HERE"
}
]
}Untuk penjelasan terperinci tentang alur OAuth, lihat bagian Otorisasi dalam spesifikasi MCP.
Jika Anda menggunakan header beta mcp-client-2025-04-04 yang tidak digunakan lagi, ikuti panduan ini untuk bermigrasi ke versi baru.
mcp-client-2025-04-04 menjadi mcp-client-2025-11-20tools sebagai objek MCPToolset, bukan dalam definisi server MCPSebelumnya (tidak digunakan lagi):
{
"model": "claude-sonnet-4-5",
"max_tokens": 1000,
"messages": [...],
"mcp_servers": [
{
"type": "url",
"url": "https://mcp.example.com/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN",
"tool_configuration": {
"enabled": true,
"allowed_tools": ["tool1", "tool2"]
}
}
]
}Sesudahnya (saat ini):
{
"model": "claude-sonnet-4-5",
"max_tokens": 1000,
"messages": [...],
"mcp_servers": [
{
"type": "url",
"url": "https://mcp.example.com/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN"
}
],
"tools": [
{
"type": "mcp_toolset",
"mcp_server_name": "example-mcp",
"default_config": {
"enabled": false
},
"configs": {
"tool1": {
"enabled": true
},
"tool2": {
"enabled": true
}
}
}
]
}| Pola lama | Pola baru |
|---|---|
Tidak ada tool_configuration (semua alat diaktifkan) | MCPToolset tanpa default_config atau configs |
tool_configuration.enabled: false | MCPToolset dengan default_config.enabled: false |
tool_configuration.allowed_tools: [...] | MCPToolset dengan default_config.enabled: false dan alat tertentu diaktifkan dalam configs |
Versi ini tidak digunakan lagi. Silakan bermigrasi ke mcp-client-2025-11-20 menggunakan panduan migrasi di atas.
Versi sebelumnya dari konektor MCP menyertakan konfigurasi alat langsung dalam definisi server MCP:
{
"mcp_servers": [
{
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN",
"tool_configuration": {
"enabled": true,
"allowed_tools": ["example_tool_1", "example_tool_2"]
}
}
]
}| Properti | Tipe | Deskripsi |
|---|---|---|
tool_configuration | object | Tidak digunakan lagi: Gunakan MCPToolset dalam array tools sebagai gantinya |
tool_configuration.enabled | boolean | Tidak digunakan lagi: Gunakan default_config.enabled dalam MCPToolset |
tool_configuration.allowed_tools | array | Tidak digunakan lagi: Gunakan pola daftar putih dengan configs dalam MCPToolset |
curl https://api.anthropic.com/v1/messages \
-H "Content-Type: application/json" \
-H "X-API-Key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: mcp-client-2025-11-20" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1000,
"messages": [{"role": "user", "content": "What tools do you have available?"}],
"mcp_servers": [
{
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN"
}
],
"tools": [
{
"type": "mcp_toolset",
"mcp_server_name": "example-mcp"
}
]
}'cache_control |
| object |
| Tidak |
| Konfigurasi titik henti cache untuk set alat ini |
Tempel ke bidang authorization_token dalam konfigurasi server MCP Anda.