open_task_details
Retrieve detailed information about a specific task using its unique taskId in TaskFlow MCP for precise task inspection and management.
Instructions
Get details of a specific task by 'taskId'. This is for inspecting task information at any point.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| taskId | Yes |
Input Schema (JSON Schema)
{
"properties": {
"taskId": {
"type": "string"
}
},
"required": [
"taskId"
],
"type": "object"
}
Implementation Reference
- src/tools/TaskFlowTools.ts:577-579 (handler)Handler function for the 'open_task_details' tool. Extracts taskId from args and delegates to TaskFlowService.openTaskDetails method.async open_task_details(args: any) { return service.openTaskDetails(String(args.taskId)); },
- JSON Schema definition for the input parameters of the 'open_task_details' tool, requiring a 'taskId' string.open_task_details: { type: "object", properties: { taskId: { type: "string" } }, required: ["taskId"], },
- src/server/TaskFlowServer.ts:63-90 (registration)Registration of the 'open_task_details' tool (as OPEN_TASK_DETAILS_TOOL) in the server's list of available tools returned by ListToolsRequestSchema handler.this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ PLAN_TASK_TOOL, GET_NEXT_TASK_TOOL, MARK_TASK_DONE_TOOL, OPEN_TASK_DETAILS_TOOL, LIST_REQUESTS_TOOL, ADD_TASKS_TO_REQUEST_TOOL, UPDATE_TASK_TOOL, DELETE_TASK_TOOL, ADD_SUBTASKS_TOOL, MARK_SUBTASK_DONE_TOOL, UPDATE_SUBTASK_TOOL, DELETE_SUBTASK_TOOL, EXPORT_TASK_STATUS_TOOL, ADD_NOTE_TOOL, UPDATE_NOTE_TOOL, DELETE_NOTE_TOOL, ADD_DEPENDENCY_TOOL, GET_PROMPTS_TOOL, SET_PROMPTS_TOOL, UPDATE_PROMPTS_TOOL, REMOVE_PROMPTS_TOOL, ARCHIVE_COMPLETED_REQUESTS_TOOL, LIST_ARCHIVED_REQUESTS_TOOL, RESTORE_ARCHIVED_REQUEST_TOOL, ], }));
- Core implementation in TaskFlowService that loads tasks, searches for the task by ID across all requests, applies prompts to description, and returns full task details including subtasks, dependencies, etc.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" }; }
- src/tools/TaskFlowTools.ts:132-143 (registration)Tool specification object (OPEN_TASK_DETAILS_TOOL) defining name, description, and inputSchema, exported for use in server registration.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"], }, };