open_task_details
Retrieve detailed information about a specific task by providing its task ID. Use this to inspect task status, requirements, and progress within the TaskFlow MCP task management system.
Instructions
Get details of a specific task by 'taskId'. This is for inspecting task information at any point.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes |
Implementation Reference
- src/tools/TaskFlowTools.ts:577-579 (handler)The MCP tool handler function. It extracts the taskId from input arguments and delegates execution to the TaskFlowService.openTaskDetails method.async open_task_details(args: any) { return service.openTaskDetails(String(args.taskId)); },
- JSON Schema for input validation of the open_task_details tool, defining the required 'taskId' parameter.open_task_details: { type: "object", properties: { taskId: { type: "string" } }, required: ["taskId"], },
- src/tools/TaskFlowTools.ts:132-143 (registration)Tool object registration/definition exported from TaskFlowTools.ts, including name, description, and input schema. This object is imported and registered in the MCP server.export const OPEN_TASK_DETAILS_TOOL: Tool = { name: "open_task_details", description: "Get details of a specific task by 'taskId'. This is for inspecting task information at any point.", inputSchema: { type: "object", properties: { taskId: { type: "string" }, }, required: ["taskId"], }, };
- src/server/TaskFlowServer.ts:68-68 (registration)Registration of the OPEN_TASK_DETAILS_TOOL in the MCP server's listTools response, making it available to clients.OPEN_TASK_DETAILS_TOOL,
- Core helper method in TaskFlowService that implements the business logic: loads tasks, searches for the task by ID across all requests, enhances description with prompts, and returns full task details.public async openTaskDetails(taskId: string) { await this.loadTasks(); // Find the task across all requests for (const req of this.data.requests) { const task = req.tasks.find((t) => t.id === taskId); if (task) { const enhancedDescription = this.applyPromptsToTaskDescription(task.description, this.data.prompts); return { status: "task_found", task: { id: task.id, title: task.title, description: enhancedDescription, done: task.done, completedDetails: task.completedDetails, subtasks: task.subtasks, dependencies: task.dependencies || [], ...(this.data.prompts?.instructions && { instructions: this.data.prompts.instructions }) }, requestId: req.requestId, message: "Task details retrieved successfully." }; } } return { status: "error", message: "Task not found" }; }