Fitur konektor Model Context Protocol (MCP) Claude memungkinkan Anda terhubung ke server MCP jarak jauh langsung dari Messages API tanpa perlu klien MCP terpisah.

Fitur ini memerlukan header beta: "anthropic-beta": "mcp-client-2025-04-04"

Fitur utama

  • Integrasi API langsung: Terhubung ke server MCP tanpa perlu mengimplementasikan klien MCP
  • Dukungan pemanggilan alat: Akses alat MCP melalui Messages API
  • Autentikasi OAuth: Dukungan untuk token Bearer OAuth untuk server yang terautentikasi
  • Beberapa server: Terhubung ke beberapa server MCP dalam satu permintaan

Batasan

  • Dari rangkaian fitur spesifikasi MCP, saat ini hanya pemanggilan alat yang didukung.
  • Server harus terekspos secara publik melalui HTTP. Server STDIO lokal tidak dapat terhubung secara langsung.
  • Konektor MCP saat ini tidak didukung di Amazon Bedrock dan Google Vertex.

Menggunakan konektor MCP di Messages API

Untuk terhubung ke server MCP jarak jauh, sertakan parameter mcp_servers dalam permintaan Messages API Anda:

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-04-04" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1000,
    "messages": [{"role": "user", "content": "Alat apa saja yang tersedia?"}],
    "mcp_servers": [
      {
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse",
        "name": "example-mcp",
        "authorization_token": "YOUR_TOKEN"
      }
    ]
  }'

Konfigurasi server MCP

Setiap server MCP dalam array mcp_servers mendukung konfigurasi berikut:

{
  "type": "url",
  "url": "https://example-server.modelcontextprotocol.io/sse",
  "name": "example-mcp",
  "tool_configuration": {
    "enabled": true,
    "allowed_tools": ["example_tool_1", "example_tool_2"]
  },
  "authorization_token": "YOUR_TOKEN"
}

Deskripsi bidang

PropertiTipeWajibDeskripsi
typestringYaSaat ini hanya “url” yang didukung
urlstringYaURL server MCP. Harus dimulai dengan https://
namestringYaPengidentifikasi unik untuk server MCP ini. Ini akan digunakan dalam blok mcp_tool_call untuk mengidentifikasi server dan untuk membedakan alat bagi model.
tool_configurationobjectTidakMengonfigurasi penggunaan alat
tool_configuration.enabledbooleanTidakApakah akan mengaktifkan alat dari server ini (default: true)
tool_configuration.allowed_toolsarrayTidakDaftar untuk membatasi alat yang diizinkan (secara default, semua alat diizinkan)
authorization_tokenstringTidakToken otorisasi OAuth jika diperlukan oleh server MCP. Lihat Spesifikasi MCP.

Tipe konten respons

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

Blok Penggunaan Alat MCP

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

Blok Hasil Alat MCP

{
  "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 objek dalam array mcp_servers:

{
  "model": "claude-sonnet-4-20250514",
  "max_tokens": 1000,
  "messages": [
    {
      "role": "user",
      "content": "Gunakan alat dari mcp-server-1 dan mcp-server-2 untuk menyelesaikan tugas ini"
    }
  ],
  "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"
    }
  ]
}

Autentikasi

Untuk server MCP yang memerlukan autentikasi OAuth, Anda perlu mendapatkan token akses. Beta konektor MCP 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 memerlukan Node.js yang terinstal 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 pada layar OAuth.

  6. Ikuti langkah-langkah di bagian “OAuth Flow Progress” dari inspector dan klik “Continue” sampai Anda mencapai “Authentication complete”.

  7. Salin nilai access_token.

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

Menggunakan token akses

Setelah Anda mendapatkan token akses menggunakan salah satu 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 mendetail tentang alur OAuth, lihat Bagian Otorisasi dalam spesifikasi MCP.