Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TASK_MANAGER_FILE_PATH | No | Path to the file where TaskFlow MCP saves tasks. Supports both JSON and YAML formats (detected by file extension) | ~/Documents/tasks.json |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| plan_task | 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:
This tool initiates a new workflow for handling a user's request. The workflow is as follows:
The critical point is to always wait for user approval after completing each task and after all tasks are done. Do not proceed automatically, UNLESS the user has explicitly told you to continue with all tasks and that you do not need approval. |
| get_next_task | Given a 'requestId', return the next pending task (not done yet). If all tasks are completed, it will indicate that no more tasks are left and that you must ask the user what to do next. A progress table showing the current status of all tasks will be displayed with each response. If the same task is returned again or if no new task is provided after a task was marked as done, you MUST NOT proceed. In such a scenario, you must prompt the user for approval before calling 'get_next_task' again. Do not skip the user's approval step. In other words:
|
| mark_task_done | Mark a given task as done after you've completed it. Provide 'requestId' and 'taskId', and optionally 'completedDetails'. After marking a task as done, a progress table will be displayed showing the updated status of all tasks. After this, DO NOT proceed to 'get_next_task' again until the user has explicitly approved the completed task. Ask the user for approval before continuing. |
| open_task_details | Get details of a specific task by 'taskId'. This is for inspecting task information at any point. |
| list_requests | List all requests with their basic information and summary of tasks. This provides a quick overview of all requests in the system. |
| add_tasks_to_request | Add new tasks to an existing request. This allows extending a request with additional tasks. Tasks can include subtasks and dependencies. A progress table will be displayed showing all tasks including the newly added ones. |
| update_task | Update an existing task's title and/or description. Only uncompleted tasks can be updated. A progress table will be displayed showing the updated task information. |
| delete_task | Delete a specific task from a request. Only uncompleted tasks can be deleted. A progress table will be displayed showing the remaining tasks after deletion. |
| add_subtasks | Add subtasks to an existing task. Provide 'requestId', 'taskId', and 'subtasks' array. Subtasks are smaller units of work that make up a task. All subtasks must be completed before a task can be marked as done. A progress table will be displayed showing the updated task with its subtasks. |
| mark_subtask_done | Mark a subtask as done. Provide 'requestId', 'taskId', and 'subtaskId'. A progress table will be displayed showing the updated status of all tasks and subtasks. All subtasks must be completed before a task can be marked as done. |
| update_subtask | Update a subtask's title or description. Provide 'requestId', 'taskId', 'subtaskId', and optionally 'title' and/or 'description'. Only uncompleted subtasks can be updated. A progress table will be displayed showing the updated task with its subtasks. |
| delete_subtask | Delete a subtask from a task. Provide 'requestId', 'taskId', and 'subtaskId'. Only uncompleted subtasks can be deleted. A progress table will be displayed showing the updated task with its remaining subtasks. |
| export_task_status | Export the current status of all tasks in a request to a file. This tool saves the current state of tasks, subtasks, dependencies, and notes to a file for reference. You can specify:
Path handling:
|
| add_note | Add a note to a request. Notes can contain important information about the project, such as user preferences or guidelines. Notes are displayed in the task progress table and can be referenced when working on tasks. |
| update_note | Update an existing note's title or content. Provide the 'requestId' and 'noteId', and optionally 'title' and/or 'content' to update. |
| delete_note | Delete a note from a request. Provide the 'requestId' and 'noteId' of the note to delete. |
| add_dependency | Add a dependency to a request or task. Dependencies can be libraries, tools, or other requirements needed for the project or specific tasks. If 'taskId' is provided, the dependency will be added to that specific task. Otherwise, it will be added to the request. |
| get_prompts | Get the current prompts configuration including instructions, taskPrefix, and taskSuffix settings. This tool helps you view the current global prompts settings that are applied to all tasks. |
| set_prompts | Set the global prompts configuration with instructions, taskPrefix, and/or taskSuffix. This replaces any existing prompts settings with the new values provided.
|
| update_prompts | Update specific parts of the prompts configuration without replacing the entire object. Use this to modify individual fields (instructions, taskPrefix, or taskSuffix) while keeping other settings unchanged. |
| remove_prompts | Remove the entire prompts configuration or specific fields from it. If 'fields' is provided, only those specific fields will be removed. If 'fields' is not provided, the entire prompts configuration will be removed. |
| archive_completed_requests | Archive completed requests to a separate file to keep the active tasks file clean. If 'requestIds' is provided, only those specific completed requests will be archived. If 'requestIds' is not provided, all completed requests will be archived. This addresses the need to keep active tasks file uncluttered by moving completed work to archive storage. |
| list_archived_requests | List archived requests with optional search and filtering capabilities. Provides an overview of all archived requests with their metadata and completion information. |
| restore_archived_request | Restore a specific archived request back to the active tasks file. This moves the request from the archive back to active status, allowing you to continue working on it. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |