Skip to main content

Strumenti

Gli strumenti integrati di Copilot CLI sono abilitati di default. Qui puoi specificare gli strumenti personalizzati.

Uso di base

Specifica la definizione degli strumenti in tools di SessionConfig. Tool::define() è un helper analogo a defineTool delle altre versioni di linguaggio. In parameters puoi usare il JsonSchema che Laravel stesso adotta in Laravel MCP. È possibile anche specificare direttamente un array senza JsonSchema.

skipPermission

Specificando skipPermission: true, lo strumento può essere eseguito senza prompt di permesso.

$invocation

Al secondo argomento $invocation dell’handler dello strumento vengono passati i seguenti campi.

Dettagli di protocollo

Nel Protocol v3 (default attuale) le chiamate a strumenti vengono trasmesse come eventi di sessione (external_tool.requested) anziché come richieste JSON-RPC. L’SDK elabora questo evento internamente e risponde con l’RPC session.tools.handlePendingToolCall. L’utilizzo di SessionConfig non cambia. Basta passare la definizione in tools: le differenze di protocollo sono assorbite dall’SDK.

Conversione di MCP CallToolResult

Per convertire il risultato di uno strumento MCP (CallToolResult) in ToolResultObject di Copilot SDK, usa McpCallToolResult::convert(). I risultati degli strumenti MCP sono un array di blocchi content (text, image, resource, ecc.), ma Copilot SDK si aspetta il formato ToolResultObject, quindi serve la conversione.
Per le informazioni più recenti fai riferimento al repository GitHub.
Ultima modifica il 13 luglio 2026