Claude kann mit Werkzeugen und Funktionen interagieren, um seine Fähigkeiten zu erweitern und eine größere Vielfalt an Aufgaben auszuführen.
Garantierte Schemakonformität mit strikter Werkzeugnutzung
Strukturierte Ausgaben bietet garantierte Schemavalidierung für Werkzeugeingaben. Fügen Sie strict: true zu Ihren Werkzeugdefinitionen hinzu, um sicherzustellen, dass Claude's Werkzeugaufrufe immer genau Ihrem Schema entsprechen – keine Typfehler oder fehlenden Felder mehr.
Perfekt für Produktionsagenten, bei denen ungültige Werkzeugparameter zu Fehlern führen würden. Erfahren Sie, wann Sie strikte Werkzeugnutzung verwenden sollten →
Hier ist ein Beispiel, wie Sie Claude Werkzeuge über die Messages API bereitstellen:
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" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"tools": [
{
"name": "get_weather",
"description": "Get the current weather in a given location",
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
}
},
"required": ["location"]
}
}
],
"messages": [
{
"role": "user",
"content": "What is the weather like in San Francisco?"
}
]
}'Claude unterstützt zwei Arten von Werkzeugen:
Client-Werkzeuge: Werkzeuge, die auf Ihren Systemen ausgeführt werden, einschließlich:
Server-Werkzeuge: Werkzeuge, die auf Anthropic's Servern ausgeführt werden, wie die Web-Suche und Web-Abruf Werkzeuge. Diese Werkzeuge müssen in der API-Anfrage angegeben werden, erfordern aber keine Implementierung auf Ihrer Seite.
Von Anthropic definierte Werkzeuge verwenden versionierte Typen (z. B. web_search_20250305, text_editor_20250124), um die Kompatibilität über Modellversionen hinweg zu gewährleisten.
Integrieren Sie Client-Werkzeuge mit Claude in diesen Schritten:
Stellen Sie Claude Werkzeuge und eine Benutzereingabe bereit
Claude entscheidet sich für die Verwendung eines Werkzeugs
stop_reason von tool_use, was Claude's Absicht signalisiert.Führen Sie das Werkzeug aus und geben Sie Ergebnisse zurück
user Nachricht mit einem tool_result Inhaltsblock zurückClaude verwendet das Werkzeugergebnis, um eine Antwort zu formulieren
Hinweis: Die Schritte 3 und 4 sind optional. Bei einigen Workflows könnte Claude's Werkzeugnutzungsanfrage (Schritt 2) alles sein, was Sie benötigen, ohne die Ergebnisse an Claude zurückzusenden.
Server-Werkzeuge folgen einem anderen Workflow:
Stellen Sie Claude Werkzeuge und eine Benutzereingabe bereit
Claude führt das Server-Werkzeug aus
Claude verwendet das Server-Werkzeugergebnis, um eine Antwort zu formulieren
Wenn Sie eine Anwendung erstellen, die das Model Context Protocol (MCP) verwendet, können Sie Werkzeuge von MCP-Servern direkt mit Claude's Messages API verwenden. MCP-Werkzeugdefinitionen verwenden ein Schemaformat, das Claude's Werkzeugformat ähnelt. Sie müssen nur inputSchema in input_schema umbenennen.
Möchten Sie keinen eigenen MCP-Client erstellen? Verwenden Sie den MCP-Connector, um sich direkt von der Messages API aus mit Remote-MCP-Servern zu verbinden, ohne einen Client zu implementieren.
Wenn Sie einen MCP-Client erstellen und list_tools() auf einem MCP-Server aufrufen, erhalten Sie Werkzeugdefinitionen mit einem inputSchema Feld. Um diese Werkzeuge mit Claude zu verwenden, konvertieren Sie sie in Claude's Format:
from mcp import ClientSession
async def get_claude_tools(mcp_session: ClientSession):
"""Convert MCP tools to Claude's tool format."""
mcp_tools = await mcp_session.list_tools()
claude_tools = []
for tool in mcp_tools.tools:
claude_tools.append({
"name": tool.name,
"description": tool.description or "",
"input_schema": tool.inputSchema # Rename inputSchema to input_schema
})
return claude_toolsÜbergeben Sie diese konvertierten Werkzeuge dann an Claude:
import anthropic
client = anthropic.Anthropic()
claude_tools = await get_claude_tools(mcp_session)
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
tools=claude_tools,
messages=[{"role": "user", "content": "What tools do you have available?"}]
)Wenn Claude mit einem tool_use Block antwortet, führen Sie das Werkzeug auf Ihrem MCP-Server mit call_tool() aus und geben Sie das Ergebnis an Claude in einem tool_result Block zurück.
Eine vollständige Anleitung zum Erstellen von MCP-Clients finden Sie unter Erstellen Sie einen MCP-Client.
Hier sind einige Codebeispiele, die verschiedene Muster und Techniken der Werkzeugnutzung demonstrieren. Der Kürze halber sind die Werkzeuge einfache Werkzeuge, und die Werkzeugbeschreibungen sind kürzer als ideal, um optimale Leistung zu gewährleisten.
Tool use requests are priced based on:
tools parameter)Client-side tools are priced the same as any other Claude API request, while server-side tools may incur additional charges based on their specific usage.
The additional tokens from tool use come from:
tools parameter in API requests (tool names, descriptions, and schemas)tool_use content blocks in API requests and responsestool_result content blocks in API requestsWhen you use tools, we also automatically include a special system prompt for the model which enables tool use. The number of tool use tokens required for each model are listed below (excluding the additional tokens listed above). Note that the table assumes at least 1 tool is provided. If no tools are provided, then a tool choice of none uses 0 additional system prompt tokens.
| Model | Tool choice | Tool use system prompt token count |
|---|---|---|
| Claude Opus 4.5 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Opus 4.1 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Opus 4 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Sonnet 4.5 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Sonnet 4 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Sonnet 3.7 (deprecated) | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Haiku 4.5 | auto, noneany, tool | 346 tokens 313 tokens |
| Claude Haiku 3.5 | auto, noneany, tool | 264 tokens 340 tokens |
| Claude Opus 3 (deprecated) | auto, noneany, tool | 530 tokens 281 tokens |
| Claude Sonnet 3 | auto, noneany, tool | 159 tokens 235 tokens |
| Claude Haiku 3 | auto, noneany, tool | 264 tokens 340 tokens |
These token counts are added to your normal input and output tokens to calculate the total cost of a request.
Weitere Informationen finden Sie in unserer Modellübersichtstabelle für aktuelle Preise pro Modell.
Wenn Sie eine Tool-Use-Anfrage senden, wird die Antwort wie bei jeder anderen API-Anfrage sowohl die Eingabe- als auch die Ausgabe-Token-Anzahl als Teil der gemeldeten usage-Metriken ausgeben.
Erkunden Sie unser Repository mit einsatzbereiten Tool-Use-Code-Beispielen in unseren Cookbooks:
Erfahren Sie, wie Sie ein einfaches Rechner-Tool mit Claude für präzise numerische Berechnungen integrieren.
Erstellen Sie einen reaktionsschnellen Kundenservice-Bot, der Client-Tools nutzt, um den Support zu verbessern.
Sehen Sie, wie Claude und Tool-Use strukturierte Daten aus unstrukturiertem Text extrahieren können.