MCP Tools

This document provides an overview of the MCP (Machine-to-Machine Communication Protocol) interface for the Task Master 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 Task Master 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.