- Update all tool definitions to use z.string().optional() for projectRoot - Fix direct function implementations to use findTasksJsonPath(args, log) pattern - Enables consistent project root detection without requiring explicit params - Update changeset to document these improvements This change ensures MCP tools work properly with the smart project root detection system, removing the need for explicit projectRoot parameters in client applications. Improves usability and reduces integration friction.
4.8 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)
-
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