a2a_cancel_task
Cancel a running task in the A2A Client MCP Server by providing the task ID and agent ID to stop ongoing operations.
Instructions
Cancel a running task
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes | ID of the task to cancel | |
| agentId | Yes | ID of the agent that is handling the task |
Implementation Reference
- index.ts:73-90 (schema)Tool schema definition including name, description, and input schema for a2a_cancel_task.{ name: "a2a_cancel_task", description: "Cancel a running task", inputSchema: { type: "object", properties: { taskId: { type: "string", description: "ID of the task to cancel", }, agentId: { type: "string", description: "ID of the agent that is handling the task", }, }, required: ["taskId", "agentId"], }, },
- index.ts:183-200 (handler)Primary MCP tool handler for a2a_cancel_task: extracts parameters, retrieves A2A client, calls cancelTask method, and formats response.case "a2a_cancel_task": { const { taskId, agentId } = args as { taskId: string; agentId: string }; const client = agentManager.getClientById(agentId); if (!client) { throw new Error(`No agent found with ID ${agentId}`); } const result = await client.cancelTask({ id: taskId }); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; }
- a2a-client.ts:422-425 (handler)Core implementation of task cancellation in A2AClient: sends HTTP request to tasks/cancel endpoint and processes JSON response.async cancelTask(params: TaskIdParams): Promise<Task | null> { const httpResponse = await this._makeHttpRequest("tasks/cancel", params); return this._handleJsonResponse<Task | null>(httpResponse, "tasks/cancel"); }
- agent-manager.ts:29-31 (helper)AgentManager method to retrieve A2AClient instance by agent ID, used in the tool handler.getClientById(id: string): A2AClient | undefined { return this.clients.get(id); }