Skip to main content

Outils

Les outils intégrés du Copilot CLI sont activés par défaut. Ce que vous configurez ici, ce sont des outils personnalisés.

Utilisation de base

Spécifiez la définition des outils dans tools de SessionConfig. Tool::define() est un helper équivalent à defineTool dans d’autres versions linguistiques. Le paramètre parameters accepte le JsonSchema utilisé par Laravel MCP. Vous pouvez aussi passer directement un tableau sans JsonSchema.

skipPermission

Avec skipPermission: true, l’outil s’exécute sans prompt de permission.

$invocation

Le second argument du gestionnaire d’outil, $invocation, reçoit les champs suivants.

Détails du protocole

En Protocol v3 (défaut actuel), les appels d’outils sont diffusés comme des événements de session (external_tool.requested) plutôt que comme des requêtes JSON-RPC. Le SDK traite ces événements en interne et répond via le RPC session.tools.handlePendingToolCall. L’usage de SessionConfig est inchangé. Il suffit de passer les définitions à tools, le SDK absorbe les différences de protocole.

Convertir un CallToolResult MCP

Pour convertir un résultat d’outil d’un serveur MCP (CallToolResult) en ToolResultObject du Copilot SDK, utilisez McpCallToolResult::convert(). Les résultats d’outils MCP sont un tableau de blocs content (text, image, resource, etc.), mais le Copilot SDK attend un ToolResultObject, d’où la conversion.
Pour les dernières informations, consultez le dépôt GitHub.
Dernière modification le 13 juillet 2026