TaskFlow
Converts user requests into structured tasks with subtasks, dependencies, and progress tracking. Requires explicit approval at each step to maintain control over task execution.
Task management system that breaks down user requests into structured tasks with subtasks, dependencies, and notes, requiring explicit approval before proceeding to ensure systematic tracking and user control.
What it does
- Break down complex requests into manageable tasks
- Create subtasks and track dependencies
- Monitor progress with visual status tables
- Export task plans in Markdown, JSON, or HTML
- Save tasks persistently across sessions
- Add project-level notes and documentation
Best for
About TaskFlow
TaskFlow is a community-built MCP server published by pinkpixel-dev that provides AI assistants with tools and capabilities via the Model Context Protocol. TaskFlow manages tasks with project plan templates, subtasks, dependencies, and approval for systematic tracking and use It is categorized under productivity.
How to install
You can install TaskFlow in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
License
TaskFlow is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
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
npm install -g @pinkpixel/taskflow-mcp
Local Installation
npm install @pinkpixel/taskflow-mcp
🛠️ Usage
Starting the Server
If installed globally:
taskflow-mcp
If installed locally:
npx taskflow-mcp
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):
TASK_MANAGER_FILE_PATH=/home/user/projects/my-tasks.yaml taskflow-mcp
# Windows
TASK_MANAGER_FILE_PATH=C:\Users\username\Documents\tasks.yaml taskflow-mcp
Relative paths (great for project-based workflows):
# Resolves to ./project-tasks.yaml in the current directory
TASK_MANAGER_FILE_PATH=project-tasks.yaml taskflow-mcp
# Resolves to ./tasks/current.yaml relative to working directory
TASK_MANAGER_FILE_PATH=tasks/current.yaml taskflow-mcp
Advanced: Custom base directory
# Use a different base directory for relative path resolution
TASK_MANAGER_BASE_DIR=/home/user/workspace TASK_MANAGER_FILE_PATH=tasks.yaml taskflow-mcp
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:
TASK_MANAGER_FILE_PATH=/path/to/tasks.yaml taskflow-mcp
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:
# Configure archive file path (optional - defaults to [taskfile-name]-archive.[ext])
ARCHIVE_FILE_PATH=/path/to/tasks-archive.yaml taskflow-mcp
# Set archive mode (optional - defaults to 'manual')
ARCHIVE_MODE=manual taskflow-mcp # or 'auto-on-complete'
Archive features include:
- Manual archiving: Use
archive_completed_requeststool to archive when ready - Automatic archiving: Set
ARCHIVE_MODE=auto-on-completefor 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:
{
"mcpServers": {
"taskflow": {
"command": "npx",
"args": ["-y", "@pinkpixel/taskflow-mcp"],
"env": {
"TASK_MANAGER_FILE_PATH": "/path/to/tasks.yaml"
}
}
}
}
Advanced Configuration (with all v1.4.1 options):
{
"mcpServers": {
"taskflow": {
"command": "npx",
"args": ["-y", "@pinkpixel/taskflow-mcp"],
"env": {
"TASK_MANAGER_FILE_PATH": "./project-tasks.yaml",
"TASK_MANAGER_BASE_DIR": "/path/to/project/root",
"ARCHIVE_FILE_PATH": "./tasks-archive.yaml",
"ARCHIVE_MODE": "manual"
}
}
}
}
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).
{
"originalRequest": "Create a new website for my business",
"outputPath": "C:/Users/username/Documents/website-project-plan.md",
"dependencies": [
{
"name": "Node.js",
"version": ">=14.0.0",
"description": "JavaScript runtime"
},
{
"name": "npm",
"version": ">=6.0.0",
"description": "Package manager"
}
],
"notes": [
{
"title": "Package Manager Preference",
"content": "User prefers pnpm over npm for package management."
},
{
"title": "Design Guidelines",
"content": "Follow the company's brand guidelines for colors and typography."
}
],
"tasks": [
{
"title": "Design homepage",
"description": "Create a design for the homepage with logo, navigation, and hero section",
"dependencies": [
{
"name": "Figma",
"description": "Design tool"
}
],
"subtasks": [
{
"title": "Design logo",
"description": "Create a logo that represents the business brand"
},
{
"title": "Design navigation",
"description": "Create a user-friendly navigation menu"
}
]
},
{
"title": "Implement HTML/CSS",
"description": "Convert the design to HTML and CSS",
"dependencies": [
{
"name": "HTML5",
"description": "Markup language"
},
{
"name": "CSS3",
"description": "Styling language"
}
]
}
]
}
get_next_task
Retrieve the next pending task for a request.
{
"requestId": "req-1"
}
mark_task_done
Mark a task as completed.
{
"requestId": "req-1",
"taskId": "task-1",
"completedDetails": "Created a modern design with a clean layout"
}
open_task_details
Get details about a specific task.
{
"taskId": "task-1"
}
list_requests
List all requests in the system.
{}
add_tasks_to_request
Add more tasks to an existing request.
{
"req
---
*README truncated. [View full README on GitHub](https://github.com/pinkpixel-dev/taskflow-mcp).*
Alternatives
Related Skills
Browse all skillsPERSONAL APP ARCHITECT - Strategic development orchestrator for personal productivity applications. Analyzes project context, makes architectural decisions for single-developer projects, delegates to specialized skills, and ensures alignment between user experience goals and technical implementation. Optimized for personal apps targeting 10-100 users.
Analyze conversation patterns, track productivity, and surface self-knowledge insights. Use when user wants to understand their own patterns (when they chat, what topics they discuss, productivity trends, sentiment over time). Provides weekly/monthly reports, topic recommendations, and time-based insights. Privacy-first design with all analysis local.
Install and configure essential Windsurf extensions for productivity. Activate when users mention "install extensions", "setup windsurf plugins", "configure extensions", "extension recommendations", or "productivity extensions". Handles extension installation and configuration. Use when working with windsurf extension pack functionality. Trigger with phrases like "windsurf extension pack", "windsurf pack", "windsurf".
Expert methodology for defining, tracking, and interpreting engineering performance metrics including DORA, team health, productivity, and executive reporting.
Expert email management assistant for Apple Mail. Use this when the user mentions inbox management, email organization, email triage, inbox zero, organizing emails, managing mail folders, email productivity, checking emails, or email workflow optimization. Provides intelligent workflows and best practices for efficient email handling.
Analyze team AI usage patterns and productivity metrics. Activate when users mention "usage analytics", "ai metrics", "productivity tracking", "usage reports", or "roi analysis". Handles analytics and reporting configuration. Use when working with windsurf usage analytics functionality. Trigger with phrases like "windsurf usage analytics", "windsurf analytics", "windsurf".