TaskFlow MCP

MIT License
186
2
  • Linux
  • Apple

plan_task

Register user requests, organize tasks, and manage subtasks with dependencies and notes. Export task plans for reference and ensure structured workflows with user approval at each step for effective task completion.

Instructions

Register a new user request and plan its associated tasks. You must provide 'originalRequest' and 'tasks', and optionally 'splitDetails'.

Tasks can now include subtasks, which are smaller units of work that make up a task. All subtasks must be completed before a task can be marked as done.

You can also include:

  • 'dependencies': List of project or task-specific dependencies (libraries, tools, etc.)
  • 'notes': General notes about the project (preferences, guidelines, etc.)
  • 'outputPath': Path to save a Markdown file with the task plan for reference. It's recommended to use absolute paths (e.g., 'C:/Users/username/Documents/task-plan.md') rather than relative paths for more reliable file creation.

This tool initiates a new workflow for handling a user's request. The workflow is as follows:

  1. Use 'plan_task' to register a request and its tasks (with optional subtasks, dependencies, and notes).
  2. After adding tasks, you MUST use 'get_next_task' to retrieve the first task. A progress table will be displayed.
  3. Use 'get_next_task' to retrieve the next uncompleted task.
  4. If the task has subtasks, complete each subtask using 'mark_subtask_done' before marking the task as done.
  5. IMPORTANT: After marking a task as done, a progress table will be displayed showing the updated status of all tasks. The assistant MUST NOT proceed to another task without the user's approval. The user must explicitly approve the completed task.
  6. Once a task is approved, you can proceed to 'get_next_task' again to fetch the next pending task.
  7. Repeat this cycle until all tasks are done.
  8. After all tasks are completed (and approved), 'get_next_task' will indicate that all tasks are done and that the request awaits approval for full completion.
  9. The user must then approve the entire request's completion. If the user does not approve and wants more tasks, you can again use 'plan_task' to add new tasks and continue the cycle.

The critical point is to always wait for user approval after completing each task and after all tasks are done, wait for request completion approval. Do not proceed automatically.

Input Schema

NameRequiredDescriptionDefault
dependenciesNo
notesNo
originalRequestYes
outputPathNo
splitDetailsNo
tasksYes

Input Schema (JSON Schema)

{ "properties": { "dependencies": { "items": { "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "version": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "notes": { "items": { "properties": { "content": { "type": "string" }, "title": { "type": "string" } }, "required": [ "title", "content" ], "type": "object" }, "type": "array" }, "originalRequest": { "type": "string" }, "outputPath": { "type": "string" }, "splitDetails": { "type": "string" }, "tasks": { "items": { "properties": { "dependencies": { "items": { "properties": { "description": { "type": "string" }, "name": { "type": "string" }, "url": { "type": "string" }, "version": { "type": "string" } }, "required": [ "name" ], "type": "object" }, "type": "array" }, "description": { "type": "string" }, "subtasks": { "items": { "properties": { "description": { "type": "string" }, "title": { "type": "string" } }, "required": [ "title", "description" ], "type": "object" }, "type": "array" }, "title": { "type": "string" } }, "required": [ "title", "description" ], "type": "object" }, "type": "array" } }, "required": [ "originalRequest", "tasks" ], "type": "object" }
ID: b170d3smju