- Enhance MCP server robustness and usability: - Implement smart project root detection with hierarchical fallbacks - Make projectRoot parameter optional across all MCP tools - Add comprehensive PROJECT_MARKERS for reliable project detection - Improve error messages and logging for better debugging - Split monolithic core into focused direct-function files - Implement full suite of MCP commands: - Add task management: update-task, update-subtask, generate - Add task organization: expand-task, expand-all, clear-subtasks - Add dependency handling: add/remove/validate/fix dependencies - Add analysis tools: analyze-complexity, complexity-report - Rename commands for better API consistency (list-tasks → get-tasks) - Enhance documentation and developer experience: - Create and bundle new taskmaster.mdc as comprehensive reference - Document all tools with natural language patterns and examples - Clarify project root auto-detection in documentation - Standardize naming conventions across MCP components - Add cross-references between related tools and commands - Improve UI and progress tracking: - Add color-coded progress bars with status breakdown - Implement cancelled/deferred task status handling - Enhance status visualization and counting - Optimize display for various terminal sizes This major update significantly improves the robustness and usability of the MCP server while providing comprehensive documentation for both users and developers. The changes make Task Master more intuitive to use programmatically while maintaining full CLI functionality.
5.6 KiB
task-master-ai
| task-master-ai |
|---|
| patch |
-
Adjusts the MCP server invokation in the mcp.json we ship with
task-master init. Fully functional now. -
Rename MCP tools to better align with API conventions and natural language in client chat:
- Rename
list-taskstoget-tasksfor more intuitive client requests like "get my tasks" - Rename
show-tasktoget-taskfor consistency with GET-based API naming conventions
- Rename
-
Implement robust project root detection with a hierarchical precedence system:
- Environment variable override (TASK_MASTER_PROJECT_ROOT)
- Explicitly provided project root (--project-root parameter)
- Cached project root from previous successful operations
- Current directory with project markers
- Parent directory traversal to find tasks.json
- Package directory as fallback
-
Updated all MCP tools to work without explicitly requiring project root:
- Changed all tool definitions from
projectRoot: z.string().describe(...)toprojectRoot: z.string().optional().describe(...) - Updated all direct function implementations from
findTasksJsonPath(args.file, args.projectRoot)to use the properfindTasksJsonPath(args, log)pattern - These changes allow MCP tools to work properly without requiring the projectRoot parameter, using smart detection to automatically determine the project root
- Changed all tool definitions from
-
Add comprehensive PROJECT_MARKERS array for detecting common project files:
- Task Master specific files (tasks.json, tasks/tasks.json)
- Version control markers (.git, .svn)
- Package files (package.json, pyproject.toml, etc.)
- IDE/editor folders (.cursor, .vscode, .idea)
- Dependency directories (node_modules, venv)
- Configuration files (.env, tsconfig.json, etc.)
- CI/CD files (.github/workflows, etc.)
-
Improved error messages with specific troubleshooting guidance
-
Enhanced logging to indicate the source of project root selection
-
DRY refactoring by centralizing path utilities in core/utils/path-utils.js
-
Add caching of lastFoundProjectRoot for improved performance
-
Split monolithic task-master-core.js into separate function files within direct-functions directory
-
Implement update-task MCP command for updating a single task by ID
-
Implement update-subtask MCP command for appending information to specific subtasks
-
Implement generate MCP command for creating individual task files from tasks.json
-
Implement set-status MCP command for updating task status
-
Implement get-task MCP command for displaying detailed task information (renamed from show-task)
-
Implement next-task MCP command for finding the next task to work on
-
Implement expand-task MCP command for breaking down tasks into subtasks
-
Implement add-task MCP command for creating new tasks using AI assistance
-
Implement add-subtask MCP command for adding subtasks to existing tasks
-
Implement remove-subtask MCP command for removing subtasks from parent tasks
-
Implement expand-all MCP command for expanding all tasks into subtasks
-
Implement analyze-complexity MCP command for analyzing task complexity
-
Implement clear-subtasks MCP command for clearing subtasks from parent tasks
-
Implement remove-dependency MCP command for removing dependencies from tasks
-
Implement validate-dependencies MCP command for checking validity of task dependencies
-
Implement fix-dependencies MCP command for automatically fixing invalid dependencies
-
Implement complexity-report MCP command for displaying task complexity analysis reports
-
Implement add-dependency MCP command for creating dependency relationships between tasks
-
Implement get-tasks MCP command for listing all tasks (renamed from list-tasks)
-
Enhance documentation and tool descriptions:
- Create new
taskmaster.mdcCursor rule for comprehensive MCP tool and CLI command reference - Bundle taskmaster.mdc with npm package and include in project initialization
- Add detailed descriptions for each tool's purpose, parameters, and common use cases
- Include natural language patterns and keywords for better intent recognition
- Document parameter descriptions with clear examples and default values
- Add usage examples and context for each command/tool
- Improve clarity around project root auto-detection in tool documentation
- Update tool descriptions to better reflect their actual behavior and capabilities
- Add cross-references between related tools and commands
- Include troubleshooting guidance in tool descriptions
- Create new
-
Document MCP server naming conventions in architecture.mdc and mcp.mdc files (file names use kebab-case, direct functions use camelCase with Direct suffix, tool registration functions use camelCase with Tool suffix, and MCP tool names use snake_case)
-
Update MCP tool naming to follow more intuitive conventions that better align with natural language requests in client chat applications
-
Enhance task show view with a color-coded progress bar for visualizing subtask completion percentage
-
Add "cancelled" status to UI module status configurations for marking tasks as cancelled without deletion
-
Improve MCP server resource documentation with comprehensive implementation examples and best practices
-
Enhance progress bars with status breakdown visualization showing proportional sections for different task statuses
-
Add improved status tracking for both tasks and subtasks with detailed counts by status
-
Optimize progress bar display with width constraints to prevent UI overflow on smaller terminals
-
Improve status counts display with clear text labels beside status icons for better readability
-
Treat deferred and cancelled tasks as effectively complete for progress calculation while maintaining visual distinction