TaskFlow MCP is a task management server designed to help AI assistants break down user requests into manageable workflows with structured approval processes.
Key capabilities:
Task Planning: Break complex requests into tasks and subtasks with dependencies
Progress Tracking: Monitor status with visual progress tables
User Approval: Enforce approval steps before proceeding to next tasks
Persistence: Save data across sessions
Task Management: Add, update, or delete tasks, subtasks, and notes
Reporting: Export plans and status reports in Markdown, JSON, or HTML
Workflow Automation: Follow structured planning, execution, and approval processes
Supports CSS3 implementation tasks, allowing for structured styling workflows with progress tracking and task management.
Enables task management for Figma design work, tracking design tasks and subtasks within a structured workflow.
Implements tasks and tracking for HTML5 development, supporting website creation with structured workflows and progress tracking.
Provides export capabilities for task plans and status reports in Markdown format.
Supports Node.js development with dependency tracking, task management, and progress reporting for Node.js-based projects.
Provides dependency tracking and task management for projects using npm package management.
Supports task management for projects using pnpm, with the ability to track preferences and dependencies.
Enables development workflow management for React projects, with dependency tracking and task organization capabilities.
TaskFlow MCP 🔄✅
A task management Model Context Protocol (MCP) server for planning and executing tasks with AI assistants.
🌟 Overview
TaskFlow MCP is a specialized server that helps AI assistants break down user requests into manageable tasks and track their completion. It enforces a structured workflow with user approval steps to ensure tasks are properly tracked and users maintain control over the process.
✨ Features
- 📋 Task Planning: Break down complex requests into manageable tasks
- 🔍 Subtasks: Divide tasks into smaller, more manageable subtasks
- 📊 Progress Tracking: Track the status of tasks, subtasks, and requests with visual progress tables
- 👍 User Approval: Enforce user approval steps to ensure quality and control
- 💾 Persistence: Save tasks and requests to disk for persistence across sessions
- 🔄 Flexible Management: Add, update, or delete tasks and subtasks as needed
- 📝 Detailed Reporting: View task details and progress tables
- 📤 Export Options: Export task plans and status reports in Markdown, JSON, or HTML formats
- 📦 Dependencies: Track project and task-level dependencies with version information
- 📌 Notes: Add project-level notes for important information and preferences
- 📄 YAML Support: Save tasks in YAML format for better handling of multiline content
- 🛡️ Robust Text Handling: Comprehensive newline sanitization for reliable data persistence
- 🎯 Prompts System: Global instructions and task prefix/suffix for consistent LLM guidance
- 📚 Task Archiving: Archive completed requests to keep active task lists clean
- 🗂️ Archive Management: Browse, search, and restore archived tasks with full history
- 📍 Relative Path Support: Use relative paths for flexible project-based workflows
🚀 Installation
Global Installation
Local Installation
🛠️ Usage
Starting the Server
If installed globally:
If installed locally:
Configuration
By default, TaskFlow MCP saves tasks to tasks.yaml
in the current working directory. You can customize this by setting the TASK_MANAGER_FILE_PATH
environment variable:
File Path Options
Absolute paths (recommended for production):
Relative paths (great for project-based workflows):
Advanced: Custom base directory
Cross-Platform Compatibility
TaskFlow MCP automatically handles path resolution across Windows and Linux:
- Uses Node.js
path.resolve()
andpath.normalize()
for consistent behavior - Supports both forward slashes (
/
) and backslashes (\
) on Windows - Automatically creates parent directories when saving tasks
- Provides clear error messages for path resolution issues
YAML Format Support
TaskFlow MCP supports both JSON and YAML formats for data persistence. To use YAML format, simply configure your file path with a .yaml
or .yml
extension:
YAML format is particularly useful for:
- Better preservation of multiline descriptions and text content
- More human-readable task data files
- Easier manual editing if needed
The format is automatically detected based on the file extension, and the system maintains full backward compatibility with existing JSON files.
Archive System
TaskFlow MCP v1.4.1 includes a comprehensive archive system to keep your active task lists clean while preserving completed work history:
Archive features include:
- Manual archiving: Use
archive_completed_requests
tool to archive when ready - Automatic archiving: Set
ARCHIVE_MODE=auto-on-complete
for automatic archiving - Archive browsing: Search and filter archived requests with
list_archived_requests
- Archive restoration: Restore archived requests back to active status with
restore_archived_request
- Full history preservation: Complete task history, timestamps, and metadata preserved
MCP Configuration
To use TaskFlow MCP with AI assistants, you need to configure your MCP client to use the server. Create an mcp_config.json
file with the following content:
Basic Configuration:
Advanced Configuration (with all v1.4.1 options):
Configuration Options:
TASK_MANAGER_FILE_PATH
: Path to tasks file (supports .json/.yaml, absolute/relative paths)TASK_MANAGER_BASE_DIR
: Custom base directory for relative path resolutionARCHIVE_FILE_PATH
: Path to archive file (optional, auto-generated if not specified)ARCHIVE_MODE
: Archive mode - "manual" (default) or "auto-on-complete"
💡 Tip: See examples/mcp_config_comprehensive.json for a complete configuration example with detailed comments and usage examples.
🔄 Workflow
TaskFlow MCP enforces a specific workflow:
- Plan Tasks: Break down a user request into tasks (with optional subtasks)
- Get Next Task: Retrieve the next pending task
- Complete Subtasks: If the task has subtasks, complete each subtask before marking the task as done
- Mark Task Done: Mark a task as completed (requires all subtasks to be completed first)
- Wait for User Confirmation: Ask the user to confirm the completed task before proceeding
- Repeat: Continue with the next task until all tasks are complete
- Final Confirmation: Confirm with the user that the entire request has been completed
For AI assistants to consistently follow this workflow, see the example-system-prompt.md file for system prompts you can add to your assistant's instructions.
🧰 Available Tools
TaskFlow MCP exposes the following tools to AI assistants:
plan_task
Register a new user request and plan its associated tasks (with optional subtasks).
get_next_task
Retrieve the next pending task for a request.
mark_task_done
Mark a task as completed.
open_task_details
Get details about a specific task.
list_requests
List all requests in the system.
add_tasks_to_request
Add more tasks to an existing request.
update_task
Update a task's title or description.
delete_task
Delete a task from a request.
add_subtasks
Add subtasks to an existing task.
mark_subtask_done
Mark a subtask as completed.
update_subtask
Update a subtask's title or description.
delete_subtask
Delete a subtask from a task.
export_task_status
Export the current status of all tasks in a request to a file. It's recommended to use absolute paths for more reliable file creation.
add_note
Add a note to a request.
update_note
Update an existing note.
delete_note
Delete a note from a request.
add_dependency
Add a dependency to a request or task.
🎯 Prompts Management
TaskFlow MCP now supports a global prompts system to enhance LLM focus and consistency across tasks. This addresses the need for custom instructions and task prefixes/suffixes as requested in user feedback.
get_prompts
Get the current prompts configuration.
Returns: Current prompts settings including instructions, taskPrefix, and taskSuffix.
set_prompts
Set the global prompts configuration (replaces existing settings).
update_prompts
Update specific parts of the prompts configuration without replacing everything.
remove_prompts
Remove the entire prompts configuration or specific fields.
Leave empty to remove all prompts:
How Prompts Work
When prompts are configured:
- Instructions appear as context with each task
- Task Prefix is prepended to every task description
- Task Suffix is appended to every task description
- These are applied automatically when tasks are retrieved via
get_next_task
oropen_task_details
Example task file with prompts:
📦 Archive Management
TaskFlow MCP includes a comprehensive archiving system to keep your active tasks file clean by moving completed requests to a separate archive file. This addresses the issue of cluttered task files in large projects with many completed tasks.
Environment Variables
Archive Configuration:
archive_completed_requests
Archive completed requests to keep the active tasks file clean.
Archive all completed requests:
list_archived_requests
List archived requests with optional search and filtering.
restore_archived_request
Restore an archived request back to active tasks.
Archive File Format
Archived requests are stored in the same format (JSON/YAML) as your task file:
Archiving Workflow
- Complete your tasks - Finish all tasks in a request
- Archive completed requests - Use
archive_completed_requests
to move them to archive - Browse archives - Use
list_archived_requests
to view archived work - Restore if needed - Use
restore_archived_request
to bring back archived requests
Benefits:
- ✅ Clean active file - Keep your working tasks file focused and uncluttered
- ✅ Preserve history - All completed work is safely stored with timestamps
- ✅ Easy recovery - Restore archived requests if you need to revisit them
- ✅ Searchable archive - Find archived requests by name or ID
- ✅ Automatic management - Optional auto-archiving when requests complete
📚 Documentation
For more detailed information about the project architecture and implementation, see the OVERVIEW.md file.
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🤝 Contributing
Contributions are welcome! Please see the CONTRIBUTING.md file for guidelines.
📜 Changelog
See the CHANGELOG.md file for a history of changes to this project.
🙏 Acknowledgements
- Built with Model Context Protocol (MCP)
- Created by Pink Pixel
Made with ❤️ by Pink Pixel
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
A task management server that helps AI assistants break down user requests into manageable tasks and track their completion with user approval steps.
- 🌟 Overview
- ✨ Features
- 🚀 Installation
- 🛠️ Usage
- 🔄 Workflow
- 🧰 Available Tools
- 📚 Documentation
- 📝 License
- 🤝 Contributing
- 📜 Changelog
- 🙏 Acknowledgements
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityProvides API access to a locally-hosted task management system with features for creating, updating, and organizing tasks, including support for urgency levels, effort estimates, subtasks, and bi-directional sync with Obsidian markdown files.Last updated -128MIT License
- AsecurityAlicenseAqualityEnables AI agents to break down complex tasks into manageable pieces using a structured JSON format with task tracking, context preservation, and progress monitoring capabilities.Last updated -151506MIT License
- -securityAlicense-qualityAI-driven task management application that operates via MCP, enabling autonomous creation, organization, and execution of tasks with support for subtasks, priorities, and progress tracking.Last updated -2MIT License
- AsecurityAlicenseAqualityA task management Model Context Protocol server that helps break down user requests into manageable tasks with subtasks, dependencies, and notes, while enforcing a structured workflow with user approval steps.Last updated -1721710MIT License