You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: "Delegate a task to a new agent by spawning a real process. Use specialist='CRAFTER' for implementation, specialist='GATE' for verification, specialist='DEVELOPER' for solo plan+implement.",
362
+
description: "Delegate a task to a new agent by spawning a real process. Use specialist='CRAFTER' for implementation, specialist='GATE' for verification, specialist='DEVELOPER' for solo plan+implement. IMPORTANT: taskId must be a UUID from create_task (e.g., 'dda97509-b414-4c50-9835-73a1ec2f...'), NOT a task name. First call create_task to create the task and get a UUID.",
363
363
inputSchema: {
364
364
type: "object",
365
365
properties: {
366
-
taskId: {type: "string",description: "Task ID to delegate"},
366
+
taskId: {type: "string",description: "UUID of the task to delegate (MUST be a UUID from create_task, NOT a task name)"},
Copy file name to clipboardExpand all lines: src/core/mcp/routa-mcp-tool-manager.ts
+11-6Lines changed: 11 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -225,9 +225,13 @@ export class RoutaMcpToolManager {
225
225
"delegate_task_to_agent",
226
226
`Delegate a task to a new agent by spawning a real agent process. This is the primary way to delegate work.
227
227
Use specialist="CRAFTER" for implementation tasks and specialist="GATE" for verification tasks.
228
-
The agent will start working immediately and you'll be notified when it completes.`,
228
+
The agent will start working immediately and you'll be notified when it completes.
229
+
230
+
IMPORTANT: The taskId parameter must be a UUID returned by create_task (e.g., "dda97509-b414-4c50-9835-73a1ec2f...").
231
+
Do NOT use task names or @@@task identifiers. First call create_task to create the task and get a UUID, then use that UUID here.
232
+
You can also use convert_task_blocks to convert @@@task blocks into tasks, or list_tasks to see existing tasks with their UUIDs.`,
229
233
{
230
-
taskId: z.string().describe("ID of the task to delegate (from create_task)"),
234
+
taskId: z.string().describe("UUID of the task to delegate (MUST be a UUID from create_task, NOT a task name)"),
231
235
callerAgentId: z.string().describe("Your agent ID (the coordinator's agent ID)"),
232
236
callerSessionId: z.string().optional().describe("Your session ID (if known)"),
233
237
specialist: z.enum(["CRAFTER","GATE","DEVELOPER","crafter","gate","developer"]).describe("Specialist type: CRAFTER for implementation, GATE for verification, DEVELOPER for solo plan+implement"),
@@ -324,11 +328,12 @@ The agent will start working immediately and you'll be notified when it complete
324
328
privateregisterDelegateTask(server: McpServer){
325
329
server.tool(
326
330
"delegate_task",
327
-
"Assign a task to an agent and activate it. The agent will begin working on the task.",
331
+
`Assign a task to an existing agent and activate it. The agent will begin working on the task.
332
+
Note: taskId must be a UUID from create_task, not a task name.`,
328
333
{
329
-
agentId: z.string().describe("ID of the agent to delegate to"),
330
-
taskId: z.string().describe("ID of the task to delegate"),
331
-
callerAgentId: z.string().describe("ID of the calling agent"),
334
+
agentId: z.string().describe("UUID of the agent to delegate to"),
335
+
taskId: z.string().describe("UUID of the task to delegate (from create_task, NOT a task name)"),
336
+
callerAgentId: z.string().describe("UUID of the calling agent"),
0 commit comments