O Claude Managed Agents fornece um conjunto de ferramentas integradas que o Claude pode usar de forma autônoma dentro de uma sessão. Você controla quais ferramentas estão disponíveis especificando-as na configuração do agente.
O Claude Managed Agents também oferece suporte a ferramentas personalizadas definidas pelo usuário. Sua aplicação executa essas ferramentas separadamente e retorna os resultados ao Claude, que os utiliza para continuar a tarefa. Para fornecer ao agente ferramentas de um servidor MCP, use o conector MCP.
O conjunto de ferramentas do agente inclui as ferramentas a seguir. Todas são habilitadas por padrão quando você inclui o conjunto de ferramentas na configuração do agente. Cada entrada no array configs é identificada pelo seu name, usando os valores da coluna Nome, e aceita um campo opcional type com o mesmo valor. As entradas web_search e web_fetch aceitam configurações adicionais; consulte Restringir domínios de busca e obtenção na web.
| Ferramenta | Nome | Descrição |
|---|---|---|
| Bash | bash | Executa comandos bash em uma sessão de shell |
| Read | read | Lê um arquivo do sistema de arquivos do sandbox |
| Write | write | Grava um arquivo no sistema de arquivos do sandbox |
| Edit | edit | Realiza substituição de strings em um arquivo |
| Glob | glob | Correspondência rápida de padrões de arquivo usando padrões glob |
| Grep | grep | Busca de texto usando padrões regex |
| Web fetch | web_fetch | Obtém conteúdo de uma URL |
| Web search | web_search | Busca informações na web |
Quando a saída de uma ferramenta excede 100.000 caracteres (cerca de 25.000 tokens), ela é automaticamente gravada em um arquivo no sandbox. O modelo recebe uma prévia truncada com o caminho do arquivo e pode ler o conteúdo completo a partir dele.
Habilite o conjunto completo de ferramentas com agent_toolset_20260401 ao criar um agente. Use o array configs para desabilitar ferramentas específicas ou substituir suas configurações. Cada entrada de configuração também pode definir uma permission_policy que controla se as chamadas da ferramenta são aprovadas automaticamente ou exigem confirmação. Consulte Políticas de permissão para conhecer os tipos de política disponíveis.
As entradas de configuração para web_search e web_fetch também aceitam filtros de domínio e outras configurações de web; consulte Restringir domínios de busca e obtenção na web.
ant beta:agents create <<'YAML'
name: Coding Assistant
model: claude-opus-5
tools:
- type: agent_toolset_20260401
configs:
- name: web_fetch
enabled: false
YAMLPara desabilitar uma ferramenta, defina enabled: false na entrada de configuração correspondente no objeto do conjunto de ferramentas do array tools do seu agente:
{
"type": "agent_toolset_20260401",
"configs": [
{ "name": "web_fetch", "enabled": false },
{ "name": "web_search", "enabled": false }
]
}O objeto default_config define a linha de base para todas as ferramentas do conjunto, e as entradas individuais em configs a substituem. Para começar com tudo desativado e habilitar apenas o que você precisa, defina default_config.enabled como false:
{
"type": "agent_toolset_20260401",
"default_config": { "enabled": false },
"configs": [
{ "name": "bash", "enabled": true },
{ "name": "read", "enabled": true },
{ "name": "write", "enabled": true }
]
}Para controlar quais sites as ferramentas de web do agente podem acessar, defina allowed_domains (a ferramenta pode acessar apenas esses hosts) ou blocked_domains (a ferramenta nunca pode acessar esses hosts) nas entradas web_search e web_fetch do array configs do conjunto de ferramentas. Cada ferramenta carrega sua própria lista, então web_search e web_fetch podem ter restrições diferentes. Um domínio listado cobre esse host e todos os seus subdomínios. Em tempo de execução, uma chamada de web_fetch para uma URL que suas listas não permitem retorna um resultado de erro ao agente (is_error: true no evento agent.tool_result, com conteúdo que nomeia o código de erro url_not_allowed), e web_search omite resultados que suas listas não permitem.
O conjunto de ferramentas a seguir limita web_search a dois sites e localiza seus resultados, e bloqueia um host para web_fetch enquanto limita a quantidade de conteúdo obtido que entra no contexto:
{
"type": "agent_toolset_20260401",
"configs": [
{
"type": "web_search",
"name": "web_search",
"allowed_domains": ["docs.example.com", "arxiv.org"],
"user_location": {
"type": "approximate",
"country": "US",
"timezone": "America/Los_Angeles"
}
},
{
"type": "web_fetch",
"name": "web_fetch",
"blocked_domains": ["ads.example.com"],
"max_content_tokens": 50000
}
]
}A requisição a seguir cria um agente com esse conjunto de ferramentas e imprime o array configs da resposta:
ant beta:agents create --transform tools.0.configs <<'YAML'
name: Research Agent
model: claude-opus-5
tools:
- type: agent_toolset_20260401
configs:
- type: web_search
name: web_search
allowed_domains: [docs.example.com, arxiv.org]
user_location:
type: approximate
country: US
timezone: America/Los_Angeles
- type: web_fetch
name: web_fetch
blocked_domains: [ads.example.com]
max_content_tokens: 50000
YAMLNo Claude Console, defina domínios permitidos ou bloqueados nas linhas web_search e web_fetch do card Built-in tools no formulário do agente; defina max_content_tokens e user_location na visualização Raw da configuração do agente.
Além de enabled e permission_policy, as entradas de ferramentas de web aceitam as seguintes configurações:
| Configuração | Aplica-se a | Descrição |
|---|---|---|
allowed_domains | web_search, web_fetch | Os únicos hosts que a ferramenta pode acessar. Não pode ser combinado com blocked_domains na mesma entrada. |
blocked_domains | web_search, web_fetch | Hosts que a ferramenta não pode acessar. |
max_content_tokens | web_fetch | Limita a quantidade de conteúdo de página obtido incluído no contexto. Deve ser um número inteiro positivo. Consulte limites de conteúdo. |
user_location | web_search | Localiza os resultados da busca. Um objeto com os mesmos campos do parâmetro user_location da Messages API. |
allowed_domains ou blocked_domains em uma entrada, não ambos. Uma entrada que define ambos é rejeitada.null.web_search descrito mais adiante nesta lista. Use example.com, não https://example.com, example.com:443 ou *.example.com. Hostnames são comparados sem diferenciar maiúsculas de minúsculas, e uma única / final é ignorada.example.com cobre docs.example.com, mas docs.example.com não cobre example.com nem api.example.com. Um www. inicial é um subdomínio como qualquer outro, então www.example.com não cobre example.com; liste o domínio sem prefixo para cobrir ambos.127.1. Liste o nome de domínio do site em vez disso.com, co.uk ou gov.uk, é rejeitado, assim como um nome de rótulo único como intranet. Liste um domínio completo como example.co.uk.localhost e hosts que terminam em .localhost, .local, .internal, .localdomain ou .invalid são rejeitados.xn-- (Punycode) para nomes de domínio internacionalizados; um domínio que contém caracteres não ASCII é rejeitado.web_fetch não pode incluir um caminho: use example.com, não example.com/*. Um domínio de web_search pode conter um sufixo de caminho como example.com/blog, no qual o caminho não pode conter espaços, ?, # ou qualquer um dos caracteres $ , | ^ !. Prefira hostnames simples também para web_search, porque o provedor de busca corresponde sufixos de caminho como padrões de URL em vez de regras estritas de host.www.example.com e example.com contam como domínios diferentes; consulte a regra de correspondência anterior para saber o que cada um cobre.Violações de formato e limite são rejeitadas com um erro 400 invalid_request_error quando você cria um agente ou atualiza um agente, e quando você cria ou atualiza uma sessão que fornece tools. Por exemplo, a mensagem para uma entrada que define ambas as listas inclui Only one of allowed_domains or blocked_domains may be set., e a mensagem para uma lista vazia inclui allowed_domains: Empty list of domains is ambiguous. Provide at least one domain or null. A mensagem para um domínio que viola uma regra de formato nomeia sua lista e posição baseada em zero, por exemplo allowed_domains.0: IP addresses are not supported; provide a plain hostname like "example.com".
As mesmas requisições também rejeitam três configurações que dependem dos provedores de busca e obtenção: um domínio em allowed_domains que o crawler da Anthropic não tem permissão para acessar, um user_location.country que o provedor de busca não suporta (a mensagem termina em user_location.country: not a country the search provider supports) e um user_location.timezone que não é um nome IANA válido. A sessão verifica a configuração novamente quando inicializa a ferramenta pela primeira vez; se uma configuração que foi aceita anteriormente não for mais válida nesse momento, a sessão emite um evento session.error e retorna para idle sem tentar novamente. Corrija a configuração atualizando as ferramentas da sessão, atualize o agente também para que novas sessões comecem com a configuração corrigida e, em seguida, envie uma nova user.message para continuar.
Em uma sessão multiagente, todas as listas de domínios que se aplicam a uma thread são aplicadas ao mesmo tempo: um agente no roster do coordenador está vinculado aos seus próprios allowed_domains e blocked_domains, aos de qualquer agente que o chamou e às listas atuais do coordenador.
blocked_domains mantém os allowed_domains do coordenador e bloqueia esses hosts dentro deles, e um agente do roster que define seus próprios allowed_domains pode acessar apenas os hosts que tanto sua lista quanto a lista do coordenador cobrem.url_not_allowed informando que nenhum domínio é permitido, e a descrição da ferramenta informa isso ao modelo. Mantenha a lista de permissão de cada agente do roster dentro da do coordenador para evitar isso.max_content_tokens e user_location não são combinados: uma thread usa o valor da sua própria configuração de ferramenta, se definido, caso contrário do agente que a chamou, caso contrário da configuração atual do coordenador.{"type": "self"} não tem configurações de web próprias e segue as configurações atuais do coordenador.web_search e web_fetch, independentemente dessas configurações.Essas configurações usam o mesmo vocabulário de allowed_domains e blocked_domains que a filtragem de domínios nas ferramentas de servidor da Messages API, com as seguintes diferenças no Managed Agents:
web_fetch não podem incluir um caminho.max_uses, citations e cache_control não estão disponíveis no conjunto de ferramentas.Além das ferramentas integradas, você pode definir ferramentas personalizadas. Ferramentas personalizadas são análogas às ferramentas de cliente definidas pelo usuário na Messages API.
Cada ferramenta personalizada define um contrato: você especifica quais operações estão disponíveis e o que elas retornam, e o Claude determina quando e como chamá-las. O modelo nunca executa nada por conta própria. Ele emite uma requisição estruturada, seu código executa a operação e o resultado retorna para a conversa. Consulte Fluxo de eventos da sessão para saber como receber chamadas de ferramentas personalizadas e retornar resultados durante uma sessão.
Se suas sessões são executadas em um sandbox auto-hospedado, o worker do ambiente pode servir ferramentas personalizadas a partir do seu sandbox, incluindo ferramentas que encapsulam um servidor MCP dentro da sua rede.
ant beta:agents create < agent.yamlname: Weather Agent
model: claude-opus-5
tools:
- type: agent_toolset_20260401
- type: custom
name: get_weather
description: Get current weather for a location
input_schema:
type: object
properties:
location:
type: string
description: City name
required:
- locationDepois de definir ferramentas personalizadas no agente, o agente as invoca durante uma sessão.
create_pr, review_pr, merge_pr), agrupe-as em uma única ferramenta com um parâmetro action. Menos ferramentas, porém mais capazes, reduzem a ambiguidade de seleção e tornam sua superfície de ferramentas mais fácil de navegar para o Claude.db_query ou storage_read). Isso torna a seleção de ferramentas inequívoca à medida que sua biblioteca cresce.Conecte servidores MCP aos seus agentes para acesso a ferramentas externas e fontes de dados.
Controle quando as ferramentas do agente e do MCP são executadas.
Envie eventos, faça streaming de respostas e interrompa ou redirecione sua sessão durante a execução.
Was this page helpful?