Claude Managed Agents fornisce un insieme di strumenti integrati che Claude può utilizzare autonomamente all'interno di una sessione. Puoi controllare quali strumenti sono disponibili specificandoli nella configurazione dell'agente.
Claude Managed Agents supporta anche strumenti personalizzati definiti dall'utente. La tua applicazione esegue questi strumenti separatamente e restituisce i risultati a Claude, che li utilizza per continuare l'attività. Per fornire all'agente strumenti da un server MCP, usa invece il connettore MCP.
Il set di strumenti dell'agente include i seguenti strumenti. Tutti sono abilitati per impostazione predefinita quando includi il set di strumenti nella configurazione dell'agente. Ogni voce nell'array configs è identificata dal suo name, utilizzando i valori nella colonna Nome, e accetta un campo opzionale type con lo stesso valore. Le voci web_search e web_fetch accettano impostazioni aggiuntive; consulta Limitare i domini di ricerca web e recupero web.
| Strumento | Nome | Descrizione |
|---|---|---|
| Bash | bash | Esegue comandi bash in una sessione shell |
| Read | read | Legge un file dal filesystem della sandbox |
| Write | write | Scrive un file nel filesystem della sandbox |
| Edit | edit | Esegue la sostituzione di stringhe in un file |
| Glob | glob | Corrispondenza rapida di pattern di file utilizzando pattern glob |
| Grep | grep | Ricerca di testo utilizzando pattern regex |
| Web fetch | web_fetch | Recupera contenuti da un URL |
| Web search | web_search | Cerca informazioni sul web |
Quando l'output di uno strumento supera i 100.000 caratteri (circa 25.000 token), viene automaticamente scritto in un file nella sandbox. Il modello riceve un'anteprima troncata con il percorso del file e può leggere il contenuto completo da lì.
Abilita il set di strumenti completo con agent_toolset_20260401 quando crei un agente. Usa l'array configs per disabilitare strumenti specifici o sovrascrivere le loro impostazioni. Ogni voce di configurazione può anche impostare una permission_policy che controlla se le chiamate dello strumento vengono approvate automaticamente o richiedono conferma. Consulta Criteri di autorizzazione per i tipi di criteri disponibili.
Le voci di configurazione per web_search e web_fetch accettano anche filtri di dominio e altre impostazioni web; consulta Limitare i domini di ricerca web e recupero web.
ant beta:agents create <<'YAML'
name: Coding Assistant
model: claude-opus-5
tools:
- type: agent_toolset_20260401
configs:
- name: web_fetch
enabled: false
YAMLPer disabilitare uno strumento, imposta enabled: false nella sua voce di configurazione nell'oggetto del set di strumenti dell'array tools del tuo agente:
{
"type": "agent_toolset_20260401",
"configs": [
{ "name": "web_fetch", "enabled": false },
{ "name": "web_search", "enabled": false }
]
}L'oggetto default_config imposta la baseline per ogni strumento nel set, e le voci configs per singolo strumento la sovrascrivono. Per iniziare con tutto disattivato e abilitare solo ciò di cui hai bisogno, imposta default_config.enabled su false:
{
"type": "agent_toolset_20260401",
"default_config": { "enabled": false },
"configs": [
{ "name": "bash", "enabled": true },
{ "name": "read", "enabled": true },
{ "name": "write", "enabled": true }
]
}Per controllare quali siti possono essere raggiunti dagli strumenti web dell'agente, imposta allowed_domains (lo strumento può raggiungere solo questi host) o blocked_domains (lo strumento non può mai raggiungere questi host) sulle voci web_search e web_fetch dell'array configs del set di strumenti. Ogni strumento ha il proprio elenco, quindi web_search e web_fetch possono avere restrizioni diverse. Un dominio elencato copre quell'host e tutti i suoi sottodomini. In fase di esecuzione, una chiamata web_fetch per un URL che i suoi elenchi non consentono restituisce un risultato di errore all'agente (is_error: true sull'evento agent.tool_result, con contenuto che indica il codice di errore url_not_allowed), e web_search omette i risultati che i suoi elenchi non consentono.
Il seguente set di strumenti limita web_search a due siti e localizza i suoi risultati, e blocca un host per web_fetch limitando al contempo la quantità di contenuto recuperato che entra nel contesto:
{
"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
}
]
}La seguente richiesta crea un agente con questo set di strumenti e stampa l'array configs dalla risposta:
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
YAMLNella Claude Console, imposta i domini consentiti o bloccati dalle righe web_search e web_fetch della scheda Built-in tools nel modulo dell'agente; imposta max_content_tokens e user_location nella vista Raw della configurazione dell'agente.
Oltre a enabled e permission_policy, le voci degli strumenti web accettano le seguenti impostazioni:
| Impostazione | Si applica a | Descrizione |
|---|---|---|
allowed_domains | web_search, web_fetch | Gli unici host che lo strumento può raggiungere. Non può essere combinato con blocked_domains nella stessa voce. |
blocked_domains | web_search, web_fetch | Host che lo strumento non può raggiungere. |
max_content_tokens | web_fetch | Limita la quantità di contenuto della pagina recuperata inclusa nel contesto. Deve essere un numero intero positivo. Consulta limiti di contenuto. |
user_location | web_search | Localizza i risultati di ricerca. Un oggetto con gli stessi campi del parametro user_location della Messages API. |
allowed_domains oppure blocked_domains su una voce, non entrambi. Una voce che imposta entrambi viene rifiutata.null.web_search descritto più avanti in questo elenco. Usa example.com, non https://example.com, example.com:443 o *.example.com. Gli hostname vengono confrontati senza distinzione tra maiuscole e minuscole, e un singolo / finale viene ignorato.example.com copre docs.example.com, ma docs.example.com non copre example.com o api.example.com. Un www. iniziale è un sottodominio come qualsiasi altro, quindi www.example.com non copre example.com; elenca il dominio semplice per coprire entrambi.127.1. Elenca invece il nome di dominio del sito.com, co.uk o gov.uk viene rifiutato, così come un nome a etichetta singola come intranet. Elenca un dominio completo come example.co.uk.localhost e gli host che terminano in .localhost, .local, .internal, .localdomain o .invalid vengono rifiutati.xn-- (Punycode) per i nomi di dominio internazionalizzati; un dominio che contiene caratteri non ASCII viene rifiutato.web_fetch non può includere un percorso: usa example.com, non example.com/*. Un dominio web_search può includere un suffisso di percorso come example.com/blog, in cui il percorso non può contenere spazi, ?, # o nessuno dei caratteri $ , | ^ !. Preferisci hostname semplici anche per web_search, perché il provider di ricerca confronta i suffissi di percorso come pattern URL anziché come regole di host rigorose.www.example.com e example.com contano come domini diversi; consulta la regola di corrispondenza precedente per sapere cosa copre ciascuno.Le violazioni di formato e di limite vengono rifiutate con un errore 400 invalid_request_error quando crei un agente o aggiorni un agente, e quando crei o aggiorni una sessione che fornisce tools. Ad esempio, il messaggio per una voce che imposta entrambi gli elenchi include Only one of allowed_domains or blocked_domains may be set., e il messaggio per un elenco vuoto include allowed_domains: Empty list of domains is ambiguous. Provide at least one domain or null. Il messaggio per un dominio che viola una regola di formato indica il suo elenco e la posizione a base zero, ad esempio allowed_domains.0: IP addresses are not supported; provide a plain hostname like "example.com".
Le stesse richieste rifiutano anche tre impostazioni che dipendono dai provider di ricerca e recupero: un dominio in allowed_domains a cui il crawler di Anthropic non è autorizzato ad accedere, un user_location.country che il provider di ricerca non supporta (il messaggio termina con user_location.country: not a country the search provider supports), e un user_location.timezone che non è un nome IANA valido. La sessione verifica nuovamente la configurazione quando inizializza lo strumento per la prima volta; se un'impostazione che era stata accettata in precedenza non è più valida in quel momento, la sessione emette un evento session.error e torna allo stato idle senza riprovare. Correggi l'impostazione aggiornando gli strumenti della sessione, aggiorna anche l'agente in modo che le nuove sessioni inizino con la configurazione corretta, quindi invia un nuovo user.message per continuare.
In una sessione multiagente, ogni elenco di domini che si applica a un thread viene applicato contemporaneamente: un agente nel roster del coordinatore è vincolato dai propri allowed_domains e blocked_domains, da quelli di qualsiasi agente che lo ha chiamato e dagli elenchi correnti del coordinatore.
blocked_domains mantiene gli allowed_domains del coordinatore e blocca quegli host al suo interno, e un agente del roster che imposta i propri allowed_domains può raggiungere solo gli host che sia il suo elenco sia quello del coordinatore coprono.url_not_allowed che indica che nessun dominio è consentito, e la descrizione dello strumento lo comunica al modello. Mantieni l'allowlist di ogni agente del roster all'interno di quella del coordinatore per evitare questo.max_content_tokens e user_location non vengono combinati: un thread utilizza il valore dalla propria configurazione dello strumento se impostato, altrimenti dall'agente che lo ha chiamato, altrimenti dalla configurazione corrente del coordinatore.{"type": "self"} non ha impostazioni web proprie e segue le impostazioni correnti del coordinatore.web_search e web_fetch, indipendentemente da queste impostazioni.Queste impostazioni utilizzano lo stesso vocabolario allowed_domains e blocked_domains del filtraggio dei domini sugli strumenti server della Messages API, con le seguenti differenze su Managed Agents:
web_fetch non possono includere un percorso.max_uses, citations e cache_control non sono disponibili sul set di strumenti.Oltre agli strumenti integrati, puoi definire strumenti personalizzati. Gli strumenti personalizzati sono analoghi agli strumenti client definiti dall'utente nella Messages API.
Ogni strumento personalizzato definisce un contratto: specifichi quali operazioni sono disponibili e cosa restituiscono, e Claude determina quando e come chiamarle. Il modello non esegue mai nulla da solo. Emette una richiesta strutturata, il tuo codice esegue l'operazione e il risultato rientra nella conversazione. Consulta Flusso di eventi della sessione per sapere come ricevere le chiamate agli strumenti personalizzati e restituire i risultati durante una sessione.
Se le tue sessioni vengono eseguite in una sandbox self-hosted, il worker dell'ambiente può servire strumenti personalizzati dalla tua sandbox, inclusi strumenti che incapsulano un server MCP all'interno della tua rete.
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:
- locationUna volta definiti gli strumenti personalizzati sull'agente, l'agente li invoca durante una sessione.
create_pr, review_pr, merge_pr), raggruppale in un unico strumento con un parametro action. Meno strumenti, ma più capaci, riducono l'ambiguità nella selezione e rendono la superficie degli strumenti più facile da navigare per Claude.db_query o storage_read). Questo rende la selezione degli strumenti non ambigua man mano che la tua libreria cresce.Connetti server MCP ai tuoi agenti per accedere a strumenti esterni e fonti di dati.
Controlla quando vengono eseguiti gli strumenti dell'agente e MCP.
Invia eventi, trasmetti risposte in streaming e interrompi o reindirizza la tua sessione durante l'esecuzione.
Was this page helpful?