Skip to main content

Tools

De ingebouwde tools van de Copilot CLI zijn standaard ingeschakeld. Wat je hier kunt opgeven zijn custom tools.

Basisgebruik

Geef de tooldefinities op via tools in de SessionConfig. Tool::define() is een helper vergelijkbaar met defineTool in versies voor andere talen. Voor parameters kun je het JsonSchema gebruiken dat Laravel zelf gebruikt in Laravel MCP. Je kunt ook rechtstreeks een array opgeven zonder JsonSchema.

skipPermission

Als je skipPermission: true opgeeft, kan die tool worden uitgevoerd zonder permissieprompt.

$invocation

Het tweede argument $invocation van de toolhandler bevat de volgende velden.

Protocoldetails

In Protocol v3 (de huidige standaard) worden toolaanroepen niet als JSON-RPC-requests verstuurd, maar als sessie-events (external_tool.requested) gebroadcast. De SDK verwerkt dit event intern en antwoordt met de RPC session.tools.handlePendingToolCall. Het gebruik van SessionConfig verandert niet. Je geeft alleen definities door via tools; de SDK vangt de protocolverschillen op.

MCP CallToolResult converteren

Gebruik McpCallToolResult::convert() om het toolresultaat van een MCP-server (CallToolResult) te converteren naar het ToolResultObject van de Copilot SDK. Het resultaat van een MCP-tool is een array van content-blokken zoals text, image en resource, maar de Copilot SDK verwacht het ToolResultObject-formaat, dus conversie is nodig.
Zie de GitHub-repository voor de meest recente informatie.
Laatst gewijzigd op 6 september 2026