Claudes Model Context Protocol (MCP) Connector-Funktion ermöglicht es Ihnen, direkt von der Messages API aus eine Verbindung zu entfernten MCP-Servern herzustellen, ohne einen separaten MCP-Client zu benötigen.

Diese Funktion erfordert den Beta-Header: "anthropic-beta": "mcp-client-2025-04-04"

Hauptfunktionen

  • Direkte API-Integration: Verbindung zu MCP-Servern ohne Implementierung eines MCP-Clients
  • Tool-Calling-Unterstützung: Zugriff auf MCP-Tools über die Messages API
  • OAuth-Authentifizierung: Unterstützung für OAuth Bearer-Tokens für authentifizierte Server
  • Mehrere Server: Verbindung zu mehreren MCP-Servern in einer einzigen Anfrage

Einschränkungen

  • Von den Funktionen der MCP-Spezifikation werden derzeit nur Tool-Aufrufe unterstützt.
  • Der Server muss öffentlich über HTTP zugänglich sein. Lokale STDIO-Server können nicht direkt verbunden werden.
  • Der MCP-Connector wird derzeit nicht auf Amazon Bedrock und Google Vertex unterstützt.

Verwendung des MCP-Connectors in der Messages API

Um eine Verbindung zu einem entfernten MCP-Server herzustellen, fügen Sie den Parameter mcp_servers in Ihre Messages API-Anfrage ein:

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": "Welche Tools stehen dir zur Verfügung?"}],
    "mcp_servers": [
      {
        "type": "url",
        "url": "https://example-server.modelcontextprotocol.io/sse",
        "name": "example-mcp",
        "authorization_token": "YOUR_TOKEN"
      }
    ]
  }'

MCP-Server-Konfiguration

Jeder MCP-Server im mcp_servers-Array unterstützt die folgende Konfiguration:

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

Feldbeschreibungen

EigenschaftTypErforderlichBeschreibung
typestringJaDerzeit wird nur “url” unterstützt
urlstringJaDie URL des MCP-Servers. Muss mit https:// beginnen
namestringJaEine eindeutige Kennung für diesen MCP-Server. Sie wird in mcp_tool_call-Blöcken verwendet, um den Server zu identifizieren und Tools für das Modell zu unterscheiden.
tool_configurationobjectNeinKonfigurieren der Tool-Nutzung
tool_configuration.enabledbooleanNeinOb Tools von diesem Server aktiviert werden sollen (Standard: true)
tool_configuration.allowed_toolsarrayNeinListe zur Einschränkung der erlaubten Tools (standardmäßig sind alle Tools erlaubt)
authorization_tokenstringNeinOAuth-Autorisierungstoken, falls vom MCP-Server benötigt. Siehe MCP-Spezifikation.

Antwort-Inhaltstypen

Wenn Claude MCP-Tools verwendet, enthält die Antwort zwei neue Inhaltsblocktypen:

MCP Tool Use Block

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

MCP Tool Result Block

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

Mehrere MCP-Server

Sie können eine Verbindung zu mehreren MCP-Servern herstellen, indem Sie mehrere Objekte im mcp_servers-Array einfügen:

{
  "model": "claude-sonnet-4-20250514",
  "max_tokens": 1000,
  "messages": [
    {
      "role": "user",
      "content": "Verwende Tools von sowohl mcp-server-1 als auch mcp-server-2, um diese Aufgabe zu erledigen"
    }
  ],
  "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"
    }
  ]
}

Authentifizierung

Für MCP-Server, die eine OAuth-Authentifizierung erfordern, müssen Sie ein Zugriffstoken erhalten. Die MCP-Connector-Beta unterstützt die Übergabe eines authorization_token-Parameters in der MCP-Server-Definition. Von API-Nutzern wird erwartet, dass sie den OAuth-Flow handhaben und das Zugriffstoken vor dem API-Aufruf erhalten sowie das Token bei Bedarf aktualisieren.

Erhalt eines Zugriffstokens für Testzwecke

Der MCP-Inspector kann Sie durch den Prozess des Erhalts eines Zugriffstokens für Testzwecke führen.

  1. Führen Sie den Inspector mit dem folgenden Befehl aus. Sie benötigen Node.js auf Ihrem Computer.

    npx @modelcontextprotocol/inspector
    
  2. Wählen Sie in der Seitenleiste links für “Transport type” entweder “SSE” oder “Streamable HTTP”.

  3. Geben Sie die URL des MCP-Servers ein.

  4. Klicken Sie im rechten Bereich auf die Schaltfläche “Open Auth Settings” nach “Need to configure authentication?”.

  5. Klicken Sie auf “Quick OAuth Flow” und autorisieren Sie auf dem OAuth-Bildschirm.

  6. Folgen Sie den Schritten im Abschnitt “OAuth Flow Progress” des Inspectors und klicken Sie auf “Continue”, bis Sie “Authentication complete” erreichen.

  7. Kopieren Sie den Wert access_token.

  8. Fügen Sie ihn in das Feld authorization_token in Ihrer MCP-Server-Konfiguration ein.

Verwendung des Zugriffstokens

Sobald Sie ein Zugriffstoken mit einem der oben genannten OAuth-Flows erhalten haben, können Sie es in Ihrer MCP-Server-Konfiguration verwenden:

{
  "mcp_servers": [
    {
      "type": "url",
      "url": "https://example-server.modelcontextprotocol.io/sse",
      "name": "authenticated-server",
      "authorization_token": "YOUR_ACCESS_TOKEN_HERE"
    }
  ]
}

Für detaillierte Erklärungen des OAuth-Flows siehe den Abschnitt zur Autorisierung in der MCP-Spezifikation.