Esta página cobre a mecânica compartilhada de ferramentas executadas pelo servidor: o bloco server_tool_use, continuação pause_turn, considerações de ZDR e filtragem de domínio. Para ferramentas individuais, consulte a referência de ferramentas.
O bloco server_tool_use aparece na resposta do Claude quando uma ferramenta executada pelo servidor é executada. Seu campo id usa o prefixo srvtoolu_ para distingui-lo das chamadas de ferramentas do cliente:
{
"type": "server_tool_use",
"id": "srvtoolu_01A2B3C4D5E6F7G8H9",
"name": "web_search",
"input": { "query": "latest quantum computing breakthroughs" }
}A API executa a ferramenta internamente. Você vê a chamada e seu resultado na resposta, mas não lida com a execução. Diferentemente dos blocos tool_use do cliente, você não precisa responder com um tool_result. O bloco de resultado aparece imediatamente após o bloco server_tool_use no mesmo turno do assistente.
Ao usar ferramentas de servidor como busca na web, a API pode retornar um motivo de parada pause_turn, indicando que a API pausou um turno de longa duração.
Aqui está como lidar com o motivo de parada pause_turn:
# Solicitação inicial com busca na web
response = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "Search for comprehensive information about quantum computing breakthroughs in 2025",
}
],
tools=[{"type": "web_search_20250305", "name": "web_search", "max_uses": 10}],
)
# Verifique se a resposta tem motivo de parada pause_turn
if response.stop_reason == "pause_turn":
# Continue a conversa com o conteúdo pausado
messages = [
{
"role": "user",
"content": "Search for comprehensive information about quantum computing breakthroughs in 2025",
},
{"role": "assistant", "content": response.content},
]
# Envie a solicitação de continuação
continuation = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
messages=messages,
tools=[{"type": "web_search_20250305", "name": "web_search", "max_uses": 10}],
)
print(continuation)
else:
print(response)Ao lidar com pause_turn:
As versões básicas de busca na web (web_search_20250305) e busca na web (web_fetch_20250910) são elegíveis para Zero Data Retention (ZDR).
As versões _20260209 com filtragem dinâmica não são elegíveis para ZDR por padrão porque a filtragem dinâmica depende da execução de código internamente.
Para usar uma ferramenta de servidor _20260209 com ZDR, desabilite a filtragem dinâmica definindo "allowed_callers": ["direct"] na ferramenta:
{
"type": "web_search_20260209",
"name": "web_search",
"allowed_callers": ["direct"]
}Isso restringe a ferramenta apenas à invocação direta, contornando a etapa de execução de código interno.
Embora a ferramenta de busca na web seja elegível para ZDR, os editores de sites podem reter quaisquer parâmetros passados para a URL se Claude buscar conteúdo de seu site.
Ferramentas de servidor que acessam a web aceitam parâmetros allowed_domains e blocked_domains para controlar quais domínios Claude pode alcançar.
Ao usar filtros de domínio:
example.com em vez de https://example.com)example.com cobre docs.example.com)docs.example.com retorna apenas resultados desse subdomínio, não de example.com ou api.example.com)example.com/blog corresponde a example.com/blog/post-1)allowed_domains ou blocked_domains, mas não ambos na mesma solicitaçãoSuporte a caracteres curinga:
*) é permitido por entrada de domínio, e deve aparecer após a parte do domínio (no caminho)example.com/*, example.com/*/articles*.example.com, ex*.com, example.com/*/news/*Formatos de domínio inválidos retornam um erro de ferramenta invalid_tool_input.
As restrições de domínio no nível da solicitação devem ser compatíveis com as restrições de domínio no nível da organização configuradas no Console. Os domínios no nível da solicitação podem apenas restringir ainda mais os domínios, não substituir ou expandir além da lista no nível da organização. Se sua solicitação incluir domínios que entrem em conflito com as configurações da organização, a API retorna um erro de validação.
Esteja ciente de que caracteres Unicode em nomes de domínio podem criar vulnerabilidades de segurança através de ataques de homógrafos, onde caracteres visualmente semelhantes de scripts diferentes podem contornar filtros de domínio. Por exemplo, аmazon.com (usando 'а' cirílico) pode parecer idêntico a amazon.com mas representa um domínio diferente.
Ao configurar listas de permissão/bloqueio de domínio:
As versões _20260209 de busca na web e busca na web usam execução de código internamente para aplicar filtros dinâmicos contra resultados de busca.
Incluir uma ferramenta code_execution independente junto com versões _20260209 de ferramentas da web cria dois ambientes de execução, o que pode confundir o modelo. Use um ou outro, ou fixe ambos na mesma versão.
Eventos de ferramentas de servidor são transmitidos como parte do fluxo SSE normal. O bloco server_tool_use e seu resultado chegam como eventos content_block_start e content_block_delta, da mesma forma que texto e chamadas de ferramentas do cliente são transmitidos.
Consulte Streaming para a referência completa de eventos. Páginas de ferramentas individuais documentam nomes de eventos específicos da ferramenta onde diferem.
Todas as ferramentas de servidor suportam processamento em lote. Consulte Processamento em lote.
Pesquise a web e cite resultados.
Recupere conteúdo de URLs específicas.
Execute Python em um contêiner em sandbox.
Descubra e carregue ferramentas sob demanda.
Was this page helpful?