MCP-Connector
Claude's Model Context Protocol (MCP) Connector-Funktion ermöglicht es Ihnen, sich direkt von der Messages API aus mit entfernten MCP-Servern zu verbinden, ohne einen separaten MCP-Client.
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-Token für authentifizierte Server
- Mehrere Server: Verbindung zu mehreren MCP-Servern in einer einzigen Anfrage
Einschränkungen
- Vom Funktionsumfang der MCP-Spezifikation werden derzeit nur Tool-Aufrufe unterstützt.
- Der Server muss öffentlich über HTTP zugänglich sein (unterstützt sowohl Streamable HTTP- als auch SSE-Transporte). 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 sich mit einem entfernten MCP-Server zu verbinden, 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-5",
"max_tokens": 1000,
"messages": [{"role": "user", "content": "Welche Tools stehen Ihnen zur Verfügung?"}],
"mcp_servers": [
{
"type": "url",
"url": "https://example-server.modelcontextprotocol.io/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN"
}
]
}'import { Anthropic } from '@anthropic-ai/sdk';
const anthropic = new Anthropic();
const response = await anthropic.beta.messages.create({
model: "claude-sonnet-4-5",
max_tokens: 1000,
messages: [
{
role: "user",
content: "Welche Tools stehen Ihnen zur Verfügung?",
},
],
mcp_servers: [
{
type: "url",
url: "https://example-server.modelcontextprotocol.io/sse",
name: "example-mcp",
authorization_token: "YOUR_TOKEN",
},
],
betas: ["mcp-client-2025-04-04"],
});import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-sonnet-4-5",
max_tokens=1000,
messages=[{
"role": "user",
"content": "Welche Tools stehen Ihnen zur Verfügung?"
}],
mcp_servers=[{
"type": "url",
"url": "https://mcp.example.com/sse",
"name": "example-mcp",
"authorization_token": "YOUR_TOKEN"
}],
betas=["mcp-client-2025-04-04"]
)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
| Eigenschaft | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
type | string | Ja | Derzeit wird nur "url" unterstützt |
url | string | Ja | Die URL des MCP-Servers. Muss mit https:// beginnen |
name | string | Ja | Ein eindeutiger Bezeichner für diesen MCP-Server. Er wird in mcp_tool_call-Blöcken verwendet, um den Server zu identifizieren und Tools für das Modell zu disambiguieren. |
tool_configuration | object | Nein | Tool-Verwendung konfigurieren |
tool_configuration.enabled | boolean | Nein | Ob Tools von diesem Server aktiviert werden sollen (Standard: true) |
tool_configuration.allowed_tools | array | Nein | Liste zur Einschränkung der zu erlaubenden Tools (standardmäßig sind alle Tools erlaubt) |
authorization_token | string | Nein | OAuth-Autorisierungstoken, falls vom MCP-Server erforderlich. 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": "Hallo"
}
]
}Mehrere MCP-Server
Sie können sich mit mehreren MCP-Servern verbinden, indem Sie mehrere Objekte in das mcp_servers-Array einschließen:
{
"model": "claude-sonnet-4-5",
"max_tokens": 1000,
"messages": [
{
"role": "user",
"content": "Verwenden Sie Tools sowohl von mcp-server-1 als auch von 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 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-Verbrauchern wird erwartet, dass sie den OAuth-Flow handhaben und das Zugriffstoken vor dem API-Aufruf erhalten sowie das Token bei Bedarf aktualisieren.
Erhalten eines Zugriffstokens zum Testen
Der MCP-Inspector kann Sie durch den Prozess der Erlangung eines Zugriffstokens zu Testzwecken führen.
-
Führen Sie den Inspector mit dem folgenden Befehl aus. Sie benötigen Node.js auf Ihrem Computer.
npx @modelcontextprotocol/inspector -
Wählen Sie in der Seitenleiste links für "Transport type" entweder "SSE" oder "Streamable HTTP".
-
Geben Sie die URL des MCP-Servers ein.
-
Klicken Sie im rechten Bereich auf die Schaltfläche "Open Auth Settings" nach "Need to configure authentication?".
-
Klicken Sie auf "Quick OAuth Flow" und autorisieren Sie sich auf dem OAuth-Bildschirm.
-
Befolgen Sie die Schritte im Abschnitt "OAuth Flow Progress" des Inspectors und klicken Sie auf "Continue", bis Sie "Authentication complete" erreichen.
-
Kopieren Sie den
access_token-Wert. -
Fügen Sie ihn in das
authorization_token-Feld 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 verweisen Sie auf den Autorisierungsabschnitt in der MCP-Spezifikation.