MCP Tools
This document provides an overview of the MCP (Machine-to-Machine Communication Protocol) interface for the Taskmaster application. The MCP interface is defined in the mcp-server/ directory and exposes the application's core functionalities as a set of tools that can be called remotely.
Core Concepts
The MCP interface is built on top of the fastmcp library and registers a set of tools that correspond to the core functionalities of the Taskmaster application. These tools are defined in the mcp-server/src/tools/ directory and are registered with the MCP server in mcp-server/src/tools/index.js.
Each tool is defined with a name, a description, and a set of parameters that are validated using the zod library. The execute function of each tool calls the corresponding core logic function from scripts/modules/task-manager.js.
Tool Categories
The MCP tools can be categorized in the same way as the core functionalities:
1. Task and Subtask Management
add_task: Creates a new task.add_subtask: Adds a subtask to a parent task.remove_task: Removes one or more tasks or subtasks.remove_subtask: Removes a subtask from its parent.update_task: Updates a single task.update_subtask: Appends information to a subtask.update: Updates multiple tasks.move_task: Moves a task or subtask.clear_subtasks: Clears all subtasks from one or more tasks.
2. Task Information and Status
get_tasks: Lists all tasks.get_task: Shows the details of a specific task.next_task: Shows the next task to work on.set_task_status: Sets the status of a task or subtask.
3. Task Analysis and Expansion
parse_prd: Parses a PRD to generate tasks.expand_task: Expands a task into subtasks.expand_all: Expands all eligible tasks.analyze_project_complexity: Analyzes task complexity.complexity_report: Displays the complexity analysis report.
4. Dependency Management
add_dependency: Adds a dependency to a task.remove_dependency: Removes a dependency from a task.validate_dependencies: Validates the dependencies of all tasks.fix_dependencies: Fixes any invalid dependencies.
5. Project and Configuration
initialize_project: Initializes a new project.generate: Generates individual task files.models: Manages AI model configurations.research: Performs AI-powered research.
6. Tag Management
add_tag: Creates a new tag.delete_tag: Deletes a tag.list_tags: Lists all tags.use_tag: Switches to a different tag.rename_tag: Renames a tag.copy_tag: Copies a tag.