Claude é capaz de interagir com ferramentas e funções, permitindo que você estenda os recursos do Claude para realizar uma variedade maior de tarefas.
Aprenda tudo que você precisa para dominar o uso de ferramentas com Claude como parte de nossos novos cursos! Por favor, continue compartilhando suas ideias e sugestões usando este formulário.
Garanta conformidade de esquema com uso rigoroso de ferramentas
Structured Outputs fornece validação de esquema garantida para entradas de ferramentas. Adicione strict: true às suas definições de ferramentas para garantir que as chamadas de ferramentas do Claude sempre correspondam ao seu esquema exatamente—sem mais incompatibilidades de tipo ou campos ausentes.
Perfeito para agentes de produção onde parâmetros de ferramentas inválidos causariam falhas. Saiba quando usar uso rigoroso de ferramentas →
Aqui está um exemplo de como fornecer ferramentas ao Claude usando a API de Mensagens:
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-opus-4-6",
"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 suporta dois tipos de ferramentas:
Ferramentas de cliente: Ferramentas que são executadas em seus sistemas, que incluem:
Ferramentas de servidor: Ferramentas que são executadas nos servidores da Anthropic, como as ferramentas de busca na web e busca na web. Essas ferramentas devem ser especificadas na solicitação da API, mas não requerem implementação da sua parte.
As ferramentas definidas pela Anthropic usam tipos versionados (por exemplo, web_search_20250305, text_editor_20250124) para garantir compatibilidade entre versões de modelos.
Integre ferramentas de cliente com Claude nestas etapas:
Forneça ao Claude ferramentas e um prompt do usuário
Claude decide usar uma ferramenta
stop_reason de tool_use, sinalizando a intenção do Claude.Execute a ferramenta e retorne os resultados
user contendo um bloco de conteúdo tool_resultClaude usa o resultado da ferramenta para formular uma resposta
Nota: As etapas 3 e 4 são opcionais. Para alguns fluxos de trabalho, a solicitação de uso de ferramenta do Claude (etapa 2) pode ser tudo que você precisa, sem enviar resultados de volta ao Claude.
As ferramentas de servidor seguem um fluxo de trabalho diferente:
Forneça ao Claude ferramentas e um prompt do usuário
Claude executa a ferramenta de servidor
Claude usa o resultado da ferramenta de servidor para formular uma resposta
Se você está construindo uma aplicação que usa o Model Context Protocol (MCP), você pode usar ferramentas de servidores MCP diretamente com a API de Mensagens do Claude. As definições de ferramentas MCP usam um formato de esquema semelhante ao formato de ferramenta do Claude. Você apenas precisa renomear inputSchema para input_schema.
Não quer construir seu próprio cliente MCP? Use o conector MCP para conectar diretamente a servidores MCP remotos a partir da API de Mensagens sem implementar um cliente.
Quando você constrói um cliente MCP e chama list_tools() em um servidor MCP, você receberá definições de ferramentas com um campo inputSchema. Para usar essas ferramentas com Claude, converta-as para o formato do Claude:
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_toolsEntão passe essas ferramentas convertidas para Claude:
import anthropic
client = anthropic.Anthropic()
claude_tools = await get_claude_tools(mcp_session)
response = client.messages.create(
model="claude-opus-4-6",
max_tokens=1024,
tools=claude_tools,
messages=[{"role": "user", "content": "What tools do you have available?"}]
)Quando Claude responde com um bloco tool_use, execute a ferramenta em seu servidor MCP usando call_tool() e retorne o resultado ao Claude em um bloco tool_result.
Para um guia completo sobre como construir clientes MCP, consulte Construir um cliente MCP.
Aqui estão alguns exemplos de código demonstrando vários padrões e técnicas de uso de ferramentas. Por brevidade, as ferramentas são simples e as descrições das ferramentas são mais curtas do que o ideal para garantir o melhor desempenho.
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.6 | auto, noneany, tool | 346 tokens 313 tokens |
| 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.
Consulte nossa tabela de visão geral de modelos para os preços atuais por modelo.
Quando você envia um prompt de uso de ferramenta, assim como qualquer outra solicitação de API, a resposta exibirá contagens de tokens de entrada e saída como parte das métricas usage relatadas.
Explore nosso repositório de exemplos de código de uso de ferramenta prontos para implementação em nossos cookbooks:
Aprenda como integrar uma ferramenta calculadora simples com Claude para cálculos numéricos precisos.
Crie um bot de atendimento ao cliente responsivo que aproveita as ferramentas do cliente para aprimorar o suporte.
Veja como Claude e o uso de ferramentas podem extrair dados estruturados de texto não estruturado.
Was this page helpful?