Loading...
    • Panduan Pengembang
    • Referensi API
    • MCP
    • Sumber daya
    • Catatan Rilis
    Search...
    ⌘K
    Langkah pertama
    Pengenalan ClaudeMulai cepat
    Model & harga
    Ikhtisar modelMemilih modelYang baru di Claude 4.6Panduan migrasiPenghentian modelHarga
    Bangun dengan Claude
    Ikhtisar fiturMenggunakan Messages APIMenangani alasan berhentiPraktik terbaik prompting
    Kemampuan model
    Extended thinkingAdaptive thinkingEffortMode cepat (pratinjau penelitian)Output terstrukturKutipanStreaming MessagesPemrosesan batchDukungan PDFHasil pencarianDukungan multibahasaEmbeddingsVisi
    Alat
    IkhtisarCara mengimplementasikan penggunaan alatAlat pencarian webAlat pengambilan webAlat eksekusi kodeAlat memoriAlat BashAlat penggunaan komputerAlat editor teks
    Infrastruktur alat
    Pencarian alatPemanggilan alat terprogramStreaming alat berbutir halus
    Manajemen konteks
    Jendela konteksPemadatanPengeditan konteksPrompt cachingPenghitungan token
    File & aset
    Files API
    Agent Skills
    IkhtisarMulai cepatPraktik terbaikSkills untuk enterpriseMenggunakan Skills dengan API
    Agent SDK
    IkhtisarMulai cepatTypeScript SDKTypeScript V2 (pratinjau)Python SDKPanduan Migrasi
    MCP di API
    Konektor MCPServer MCP jarak jauh
    Claude di platform pihak ketiga
    Amazon BedrockMicrosoft FoundryVertex AI
    Prompt engineering
    IkhtisarPembuat promptGunakan template promptPenyempurna promptJadilah jelas dan langsungGunakan contoh (multishot prompting)Biarkan Claude berpikir (CoT)Gunakan tag XMLBerikan Claude peran (system prompts)Rantai prompt kompleksTips konteks panjangTips extended thinking
    Uji & evaluasi
    Tentukan kriteria kesuksesanKembangkan kasus ujiMenggunakan Alat EvaluasiMengurangi latensi
    Perkuat guardrails
    Kurangi halusinasiTingkatkan konsistensi outputMitigasi jailbreaksStreaming penolakanKurangi kebocoran promptJaga Claude tetap dalam karakter
    Administrasi dan pemantauan
    Ikhtisar Admin APIResidensi dataRuang kerjaUsage and Cost APIClaude Code Analytics APIZero Data Retention
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    MCP di API

    MCP connector

    Hubungkan ke server MCP jarak jauh langsung dari Messages API tanpa klien MCP terpisah.

    Fitur MCP connector (Model Context Protocol) dari 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 didukung. Lihat dokumentasi versi yang tidak didukung di bawah.

    This feature is not eligible for Zero Data Retention (ZDR). Data is retained according to the feature's standard retention policy.

    Fitur utama

    • Integrasi API langsung: Terhubung ke server MCP tanpa mengimplementasikan klien MCP
    • Dukungan pemanggilan alat: Akses alat MCP melalui Messages API
    • Konfigurasi alat yang fleksibel: Aktifkan semua alat, buat daftar putih alat tertentu, atau buat daftar hitam alat yang tidak diinginkan
    • Konfigurasi per-alat: Konfigurasikan alat individual dengan pengaturan khusus
    • Autentikasi OAuth: Dukungan untuk token Bearer OAuth untuk server yang terautentikasi
    • Beberapa server: Terhubung ke beberapa server MCP dalam satu permintaan

    Keterbatasan

    • Dari kumpulan fitur spesifikasi MCP, hanya pemanggilan alat yang saat ini didukung.
    • Server harus dapat diakses secara publik melalui HTTP (mendukung transport Streamable HTTP dan SSE). Server STDIO lokal tidak dapat dihubungkan secara langsung.
    • MCP connector saat ini tidak didukung di Amazon Bedrock dan Google Vertex.

    Menggunakan MCP connector di Messages API

    MCP connector menggunakan dua komponen:

    1. Definisi Server MCP (array mcp_servers): Mendefinisikan detail koneksi server (URL, autentikasi)
    2. MCP Toolset (array tools): Mengonfigurasi alat mana yang akan diaktifkan dan cara mengonfigurasinya

    Contoh dasar

    Contoh ini mengaktifkan semua alat dari server MCP dengan konfigurasi default:

    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-opus-4-6",
        "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"
          }
        ]
      }'

    Konfigurasi server MCP

    Setiap server MCP dalam array mcp_servers mendefinisikan detail koneksi:

    {
      "type": "url",
      "url": "https://example-server.modelcontextprotocol.io/sse",
      "name": "example-mcp",
      "authorization_token": "YOUR_TOKEN"
    }

    Deskripsi field

    PropertiTipeWajibDeskripsi
    typestringYaSaat ini hanya "url" yang didukung
    urlstringYaURL server MCP. Harus dimulai dengan https://
    namestringYaPengenal unik untuk server MCP ini. Harus direferensikan oleh tepat satu MCPToolset dalam array tools.
    authorization_tokenstringTidakToken otorisasi OAuth jika diperlukan oleh server MCP. Lihat spesifikasi MCP.

    Konfigurasi MCP toolset

    MCPToolset berada dalam array tools dan mengonfigurasi alat mana dari server MCP yang diaktifkan dan bagaimana alat tersebut harus dikonfigurasi.

    Struktur dasar

    {
      "type": "mcp_toolset",
      "mcp_server_name": "example-mcp",
      "default_config": {
        "enabled": true,
        "defer_loading": false
      },
      "configs": {
        "specific_tool_name": {
          "enabled": true,
          "defer_loading": true
        }
      }
    }

    Deskripsi field

    PropertiTipeWajibDeskripsi
    typestringYaHarus berupa "mcp_toolset"
    mcp_server_namestringYaHarus cocok dengan nama server yang didefinisikan dalam array mcp_servers
    default_configobjectTidakKonfigurasi default yang diterapkan ke semua alat dalam set ini. Konfigurasi alat individual dalam configs akan menggantikan default ini.
    configsobjectTidakPenggantian konfigurasi per-alat. Kunci adalah nama alat, nilai adalah objek konfigurasi.
    cache_controlobjectTidakKonfigurasi breakpoint cache untuk toolset ini

    Opsi konfigurasi alat

    Setiap alat (baik yang dikonfigurasi dalam default_config maupun dalam configs) mendukung field berikut:

    PropertiTipeDefaultDeskripsi
    enabledbooleantrueApakah alat ini diaktifkan
    defer_loadingbooleanfalseJika true, deskripsi alat tidak dikirim ke model pada awalnya. Digunakan dengan Tool Search Tool.

    Penggabungan konfigurasi

    Nilai konfigurasi digabungkan dengan urutan prioritas ini (tertinggi ke terendah):

    1. Pengaturan spesifik alat dalam configs
    2. default_config tingkat set
    3. Default sistem

    Contoh:

    {
      "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)
    • Semua alat lainnya: enabled: true (default sistem), defer_loading: true (dari default_config)

    Pola konfigurasi umum

    Aktifkan semua alat dengan konfigurasi default

    Pola paling sederhana - aktifkan semua alat dari server:

    {
      "type": "mcp_toolset",
      "mcp_server_name": "google-calendar-mcp"
    }

    Daftar putih - Aktifkan hanya alat tertentu

    Atur enabled: false sebagai default, lalu aktifkan alat tertentu secara eksplisit:

    {
      "type": "mcp_toolset",
      "mcp_server_name": "google-calendar-mcp",
      "default_config": {
        "enabled": false
      },
      "configs": {
        "search_events": {
          "enabled": true
        },
        "create_event": {
          "enabled": true
        }
      }
    }

    Daftar hitam - Nonaktifkan alat tertentu

    Aktifkan semua alat secara default, lalu nonaktifkan alat yang tidak diinginkan secara eksplisit:

    {
      "type": "mcp_toolset",
      "mcp_server_name": "google-calendar-mcp",
      "configs": {
        "delete_all_events": {
          "enabled": false
        },
        "share_calendar_publicly": {
          "enabled": false
        }
      }
    }

    Campuran - Daftar putih dengan konfigurasi per-alat

    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: false
    • list_events diaktifkan dengan defer_loading: true (diwarisi dari default_config)
    • Semua alat lainnya dinonaktifkan

    Aturan validasi

    API memberlakukan aturan validasi berikut:

    • Server harus ada: mcp_server_name dalam MCPToolset harus cocok dengan server yang didefinisikan dalam array mcp_servers
    • Server harus digunakan: Setiap server MCP yang didefinisikan dalam mcp_servers harus direferensikan oleh tepat satu MCPToolset
    • Toolset unik per server: Setiap server MCP hanya dapat direferensikan oleh satu MCPToolset
    • Nama alat tidak dikenal: Jika nama alat dalam configs tidak ada di server MCP, peringatan backend dicatat tetapi tidak ada kesalahan yang dikembalikan (server MCP mungkin memiliki ketersediaan alat yang dinamis)

    Tipe konten respons

    Ketika Claude menggunakan alat MCP, respons akan menyertakan dua tipe blok konten baru:

    Blok MCP Tool Use

    {
      "type": "mcp_tool_use",
      "id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
      "name": "echo",
      "server_name": "example-mcp",
      "input": { "param1": "value1", "param2": "value2" }
    }

    Blok MCP Tool Result

    {
      "type": "mcp_tool_result",
      "tool_use_id": "mcptoolu_014Q35RayjACSWkSj4X2yov1",
      "is_error": false,
      "content": [
        {
          "type": "text",
          "text": "Hello"
        }
      ]
    }

    Beberapa server MCP

    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-opus-4-6",
      "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
          }
        }
      ]
    }

    Autentikasi

    Untuk server MCP yang memerlukan autentikasi OAuth, Anda perlu mendapatkan token akses. Beta MCP connector mendukung pengiriman parameter authorization_token dalam definisi server MCP. Konsumen API diharapkan menangani alur OAuth dan mendapatkan token akses sebelum melakukan panggilan API, serta memperbarui token sesuai kebutuhan.

    Mendapatkan token akses untuk pengujian

    MCP inspector dapat memandu Anda melalui proses mendapatkan token akses untuk tujuan pengujian.

    1. Jalankan inspector dengan perintah berikut. Anda perlu menginstal Node.js di mesin Anda.

      npx @modelcontextprotocol/inspector
    2. Di sidebar sebelah kiri, untuk "Transport type", pilih "SSE" atau "Streamable HTTP".

    3. Masukkan URL server MCP.

    4. Di area kanan, klik tombol "Open Auth Settings" setelah "Need to configure authentication?".

    5. Klik "Quick OAuth Flow" dan otorisasi di layar OAuth.

    6. Ikuti langkah-langkah di bagian "OAuth Flow Progress" pada inspector dan klik "Continue" hingga Anda mencapai "Authentication complete".

    7. Salin nilai access_token.

    8. Tempelkan ke field authorization_token dalam konfigurasi server MCP Anda.

    Menggunakan token akses

    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 Authorization dalam spesifikasi MCP.

    Helper MCP sisi klien (TypeScript)

    Jika Anda mengelola koneksi klien MCP sendiri (misalnya, dengan server stdio lokal, prompt MCP, atau resource MCP), TypeScript SDK menyediakan fungsi helper yang mengonversi antara tipe MCP dan tipe Claude API. Ini menghilangkan kode konversi manual saat menggunakan MCP SDK bersama Anthropic SDK.

    Helper ini saat ini hanya tersedia di TypeScript SDK.

    Gunakan parameter API mcp_servers ketika Anda memiliki server jarak jauh yang dapat diakses melalui URL dan hanya memerlukan dukungan alat. Jika Anda menggunakan Agent SDK, koneksi MCP dikelola secara otomatis. Gunakan helper sisi klien ketika Anda memerlukan server lokal, prompt, resource, atau kontrol lebih besar atas koneksi dengan base SDK.

    Instalasi

    Instal Anthropic SDK dan MCP SDK:

    npm install @anthropic-ai/sdk @modelcontextprotocol/sdk

    Helper yang tersedia

    Impor helper dari namespace beta:

    import {
      mcpTools,
      mcpMessages,
      mcpResourceToContent,
      mcpResourceToFile
    } from "@anthropic-ai/sdk/helpers/beta/mcp";
    HelperDeskripsi
    mcpTools(tools, mcpClient)Mengonversi alat MCP ke alat Claude API untuk digunakan dengan client.beta.messages.toolRunner()
    mcpMessages(messages)Mengonversi pesan prompt MCP ke format pesan Claude API
    mcpResourceToContent(resource)Mengonversi resource MCP ke blok konten Claude API
    mcpResourceToFile(resource)Mengonversi resource MCP ke objek file untuk diunggah

    Gunakan alat MCP

    Konversi alat MCP untuk digunakan dengan tool runner SDK, yang menangani eksekusi alat secara otomatis:

    import Anthropic from "@anthropic-ai/sdk";
    import { mcpTools } from "@anthropic-ai/sdk/helpers/beta/mcp";
    import { Client } from "@modelcontextprotocol/sdk/client/index.js";
    import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
    
    const anthropic = new Anthropic();
    
    // Terhubung ke server MCP
    const transport = new StdioClientTransport({ command: "mcp-server", args: [] });
    const mcpClient = new Client({ name: "my-client", version: "1.0.0" });
    await mcpClient.connect(transport);
    
    // Daftarkan alat dan konversi untuk Claude API
    const { tools } = await mcpClient.listTools();
    const runner = await anthropic.beta.messages.toolRunner({
      model: "claude-sonnet-4-6",
      max_tokens: 1024,
      messages: [{ role: "user", content: "What tools do you have available?" }],
      tools: mcpTools(tools, mcpClient)
    });

    Gunakan prompt MCP

    Konversi pesan prompt MCP ke format pesan Claude API:

    import { mcpMessages } from "@anthropic-ai/sdk/helpers/beta/mcp";
    
    const { messages } = await mcpClient.getPrompt({ name: "my-prompt" });
    const response = await anthropic.beta.messages.create({
      model: "claude-sonnet-4-6",
      max_tokens: 1024,
      messages: mcpMessages(messages)
    });

    Gunakan resource MCP

    Konversi resource MCP ke blok konten untuk disertakan dalam pesan, atau ke objek file untuk diunggah:

    import { mcpResourceToContent, mcpResourceToFile } from "@anthropic-ai/sdk/helpers/beta/mcp";
    
    // Sebagai blok konten dalam pesan
    const resource = await mcpClient.readResource({ uri: "file:///path/to/doc.txt" });
    await anthropic.beta.messages.create({
      model: "claude-sonnet-4-6",
      max_tokens: 1024,
      messages: [
        {
          role: "user",
          content: [
            mcpResourceToContent(resource),
            { type: "text", text: "Summarize this document" }
          ]
        }
      ]
    });
    
    // Sebagai unggahan file
    const fileResource = await mcpClient.readResource({ uri: "file:///path/to/data.json" });
    await anthropic.beta.files.upload({ file: mcpResourceToFile(fileResource) });

    Penanganan kesalahan

    Fungsi konversi melempar UnsupportedMCPValueError jika nilai MCP tidak didukung oleh Claude API. Ini dapat terjadi dengan tipe konten yang tidak didukung, tipe MIME, atau tautan resource non-HTTP.

    Retensi data

    MCP Connector tidak tercakup dalam pengaturan ZDR. Data yang dipertukarkan dengan server MCP, termasuk definisi alat dan hasil eksekusi, disimpan sesuai dengan kebijakan retensi data standar Anthropic.

    Untuk kelayakan ZDR di semua fitur, lihat API dan Retensi Data.

    Panduan migrasi

    Jika Anda menggunakan header beta mcp-client-2025-04-04 yang sudah tidak didukung, ikuti panduan ini untuk bermigrasi ke versi baru.

    Perubahan utama

    1. Header beta baru: Ubah dari mcp-client-2025-04-04 menjadi mcp-client-2025-11-20
    2. Konfigurasi alat dipindahkan: Konfigurasi alat sekarang berada dalam array tools sebagai objek MCPToolset, bukan dalam definisi server MCP
    3. Konfigurasi lebih fleksibel: Pola baru mendukung daftar putih, daftar hitam, dan konfigurasi per-alat

    Langkah migrasi

    Sebelum (tidak didukung):

    {
      "model": "claude-opus-4-6",
      "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"]
          }
        }
      ]
    }

    Sesudah (saat ini):

    {
      "model": "claude-opus-4-6",
      "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 migrasi umum

    Pola lamaPola baru
    Tidak ada tool_configuration (semua alat diaktifkan)MCPToolset tanpa default_config atau configs
    tool_configuration.enabled: falseMCPToolset dengan default_config.enabled: false
    tool_configuration.allowed_tools: [...]MCPToolset dengan default_config.enabled: false dan alat tertentu diaktifkan dalam configs

    Versi yang tidak didukung: mcp-client-2025-04-04

    Versi ini sudah tidak didukung. Silakan migrasi ke mcp-client-2025-11-20 menggunakan panduan migrasi di atas.

    Versi sebelumnya dari MCP connector 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"]
          }
        }
      ]
    }

    Deskripsi field yang tidak didukung

    PropertiTipeDeskripsi
    tool_configurationobjectTidak didukung: Gunakan MCPToolset dalam array tools sebagai gantinya
    tool_configuration.enabledbooleanTidak didukung: Gunakan default_config.enabled dalam MCPToolset
    tool_configuration.allowed_toolsarrayTidak didukung: Gunakan pola daftar putih dengan configs dalam MCPToolset

    Was this page helpful?

    • Fitur utama
    • Keterbatasan
    • Menggunakan MCP connector di Messages API
    • Contoh dasar
    • Konfigurasi server MCP
    • Deskripsi field
    • Konfigurasi MCP toolset
    • Struktur dasar
    • Deskripsi field
    • Opsi konfigurasi alat
    • Penggabungan konfigurasi
    • Pola konfigurasi umum
    • Aktifkan semua alat dengan konfigurasi default
    • Daftar putih - Aktifkan hanya alat tertentu
    • Daftar hitam - Nonaktifkan alat tertentu
    • Campuran - Daftar putih dengan konfigurasi per-alat
    • Aturan validasi
    • Tipe konten respons
    • Blok MCP Tool Use
    • Blok MCP Tool Result
    • Beberapa server MCP
    • Autentikasi
    • Mendapatkan token akses untuk pengujian
    • Menggunakan token akses
    • Helper MCP sisi klien (TypeScript)
    • Instalasi
    • Helper yang tersedia
    • Gunakan alat MCP
    • Gunakan prompt MCP
    • Gunakan resource MCP
    • Penanganan kesalahan
    • Retensi data
    • Panduan migrasi
    • Perubahan utama
    • Langkah migrasi
    • Pola migrasi umum
    • Versi yang tidak didukung: mcp-client-2025-04-04
    • Deskripsi field yang tidak didukung