Taskmaster
The Task Master server provides a comprehensive suite of AI-driven task management tools for software development projects.
Project Setup & Configuration: Initialize projects with folder structures, configure multiple AI models (Anthropic, OpenAI, Google, Perplexity, xAI, OpenRouter, Mistral, Groq, Azure, Ollama), and manage rule profiles for various editors (Cursor, VS Code, Windsurf).
Task Generation & Management: Parse Product Requirements Documents (PRDs) to automatically generate tasks, create tasks and subtasks manually or with AI assistance, and generate individual task files from tasks.json.
Task Operations: Get task lists, find next tasks to work on, set statuses (pending, done, in-progress, review, deferred, cancelled), update single or multiple tasks with new context, remove tasks/subtasks, and move tasks within the project structure.
Advanced Task Features: Expand tasks into detailed subtasks, adjust task complexity (scope up/down) using AI, analyze project complexity with reporting, and manage task dependencies with automatic validation and circular reference fixing.
Organization & Research: Organize tasks using tags (list, add, delete, rename, switch, copy), perform AI-powered research queries with project context, and save research results to tasks or files.
Customization: Set response language preferences for the project.
Offers community support through a Discord server with badge integration
Provides integration with GitHub workflows through CI badge support and repository awareness
Integrates with Google Gemini API to utilize its AI models for task management and development assistance
Supports Node.js projects with research capabilities for best practices like JWT authentication
Tracks and displays package download statistics through npm integration
Connects to Ollama for using locally-hosted AI models in task management workflows
Leverages OpenAI's models for AI-driven task management and development support
Uses Perplexity's AI for research-focused tasks, enabling knowledge retrieval with project context
Provides research capabilities for React Query implementations and migration strategies
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Taskmastercreate a new task to implement user authentication in the web app"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
By @eyaltoledano & @RalphEcom
A task management system for AI-driven development with Claude, designed to work seamlessly with Cursor AI.
Related MCP server: backlog
Documentation
Quick Links
More from Hamster
Quick Install for Cursor 1.0+ (One-Click)
Note: After clicking the link, you'll still need to add your API keys to the configuration. The link installs the MCP server with placeholder keys that you'll need to replace with your actual API keys.
Claude Code Quick Install
For Claude Code users:
claude mcp add taskmaster-ai -- npx -y task-master-aiDon't forget to add your API keys to the configuration:
in the root .env of your Project
in the "env" section of your mcp config for taskmaster-ai
Requirements
Taskmaster utilizes AI across several commands, and those require a separate API key. You can use a variety of models from different AI providers provided you add your API keys. For example, if you want to use Claude 3.7, you'll need an Anthropic API key.
You can define 3 types of models to be used: the main model, the research model, and the fallback model (in case either the main or research fail). Whatever model you use, its provider API key must be present in either mcp.json or .env.
At least one (1) of the following is required:
Anthropic API key (Claude API)
OpenAI API key
Google Gemini API key
Perplexity API key (for research model)
xAI API Key (for research or main model)
OpenRouter API Key (for research or main model)
Claude Code (no API key required - requires Claude Code CLI)
Codex CLI (OAuth via ChatGPT subscription - requires Codex CLI)
Using the research model is optional but highly recommended. You will need at least ONE API key (unless using Claude Code or Codex CLI with OAuth). Adding all API keys enables you to seamlessly switch between model providers at will.
Quick Start
Option 1: MCP (Recommended)
MCP (Model Control Protocol) lets you run Task Master directly from your editor.
1. Add your MCP config at the following path depending on your editor
Editor | Scope | Linux/macOS Path | Windows Path | Key |
Cursor | Global |
|
|
|
Project |
|
|
| |
Windsurf | Global |
|
|
|
VS Code | Project |
|
|
|
Q CLI | Global |
|
|
Manual Configuration
Cursor & Windsurf & Q Developer CLI (mcpServers)
{
"mcpServers": {
"task-master-ai": {
"command": "npx",
"args": ["-y", "task-master-ai"],
"env": {
// "TASK_MASTER_TOOLS": "all", // Options: "all", "standard", "core", or comma-separated list of tools
"ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY_HERE",
"PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY_HERE",
"OPENAI_API_KEY": "YOUR_OPENAI_KEY_HERE",
"GOOGLE_API_KEY": "YOUR_GOOGLE_KEY_HERE",
"MISTRAL_API_KEY": "YOUR_MISTRAL_KEY_HERE",
"GROQ_API_KEY": "YOUR_GROQ_KEY_HERE",
"OPENROUTER_API_KEY": "YOUR_OPENROUTER_KEY_HERE",
"XAI_API_KEY": "YOUR_XAI_KEY_HERE",
"AZURE_OPENAI_API_KEY": "YOUR_AZURE_KEY_HERE",
"OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY_HERE"
}
}
}
}🔑 Replace
YOUR_…_KEY_HEREwith your real API keys. You can remove keys you don't use.
Note: If you see
0 tools enabledin the MCP settings, restart your editor and check that your API keys are correctly configured.
VS Code (servers + type)
{
"servers": {
"task-master-ai": {
"command": "npx",
"args": ["-y", "task-master-ai"],
"env": {
// "TASK_MASTER_TOOLS": "all", // Options: "all", "standard", "core", or comma-separated list of tools
"ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY_HERE",
"PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY_HERE",
"OPENAI_API_KEY": "YOUR_OPENAI_KEY_HERE",
"GOOGLE_API_KEY": "YOUR_GOOGLE_KEY_HERE",
"MISTRAL_API_KEY": "YOUR_MISTRAL_KEY_HERE",
"GROQ_API_KEY": "YOUR_GROQ_KEY_HERE",
"OPENROUTER_API_KEY": "YOUR_OPENROUTER_KEY_HERE",
"XAI_API_KEY": "YOUR_XAI_KEY_HERE",
"AZURE_OPENAI_API_KEY": "YOUR_AZURE_KEY_HERE",
"OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY_HERE"
},
"type": "stdio"
}
}
}🔑 Replace
YOUR_…_KEY_HEREwith your real API keys. You can remove keys you don't use.
2. (Cursor-only) Enable Taskmaster MCP
Open Cursor Settings (Ctrl+Shift+J) ➡ Click on MCP tab on the left ➡ Enable task-master-ai with the toggle
3. (Optional) Configure the models you want to use
In your editor's AI chat pane, say:
Change the main, research and fallback models to <model_name>, <model_name> and <model_name> respectively.For example, to use Claude Code (no API key required):
Change the main model to claude-code/sonnetTable of available models | Claude Code setup
4. Initialize Task Master
In your editor's AI chat pane, say:
Initialize taskmaster-ai in my project5. Make sure you have a PRD (Recommended)
For new projects: Create your PRD at .taskmaster/docs/prd.txt.
For existing projects: You can use scripts/prd.txt or migrate with task-master migrate
An example PRD template is available after initialization in .taskmaster/templates/example_prd.txt.
While a PRD is recommended for complex projects, you can always create individual tasks by asking "Can you help me implement [description of what you want to do]?" in chat.
Always start with a detailed PRD.
The more detailed your PRD, the better the generated tasks will be.
6. Common Commands
Use your AI assistant to:
Parse requirements:
Can you parse my PRD at scripts/prd.txt?Plan next step:
What's the next task I should work on?Implement a task:
Can you help me implement task 3?View multiple tasks:
Can you show me tasks 1, 3, and 5?Expand a task:
Can you help me expand task 4?Research fresh information:
Research the latest best practices for implementing JWT authentication with Node.jsResearch with context:
Research React Query v5 migration strategies for our current API implementation in src/api.js
More examples on how to use Task Master in chat
Option 2: Using Command Line
Installation
# Install globally
npm install -g task-master-ai
# OR install locally within your project
npm install task-master-aiInitialize a new project
# If installed globally
task-master init
# If installed locally
npx task-master init
# Initialize project with specific rules
task-master init --rules cursor,windsurf,vscodeThis will prompt you for project details and set up a new project with the necessary files and structure.
Common Commands
# Initialize a new project
task-master init
# Parse a PRD and generate tasks
task-master parse-prd your-prd.txt
# List all tasks
task-master list
# Show the next task to work on
task-master next
# Show specific task(s) - supports comma-separated IDs
task-master show 1,3,5
# Research fresh information with project context
task-master research "What are the latest best practices for JWT authentication?"
# Move tasks between tags (cross-tag movement)
task-master move --from=5 --from-tag=backlog --to-tag=in-progress
task-master move --from=5,6,7 --from-tag=backlog --to-tag=done --with-dependencies
task-master move --from=5 --from-tag=backlog --to-tag=in-progress --ignore-dependencies
# Add rules after initialization
task-master rules add windsurf,roo,vscodeTool Loading Configuration
Optimizing MCP Tool Loading
Task Master's MCP server supports selective tool loading to reduce context window usage. By default, all 36 tools are loaded (~21,000 tokens) to maintain backward compatibility with existing installations.
You can optimize performance by configuring the TASK_MASTER_TOOLS environment variable:
Available Modes
Mode | Tools | Context Usage | Use Case |
| 36 | ~21,000 tokens | Complete feature set - all tools available |
| 15 | ~10,000 tokens | Common task management operations |
| 7 | ~5,000 tokens | Essential daily development workflow |
| Variable | Variable | Comma-separated list of specific tools |
Configuration Methods
Method 1: Environment Variable in MCP Configuration
Add TASK_MASTER_TOOLS to your MCP configuration file's env section:
{
"mcpServers": { // or "servers" for VS Code
"task-master-ai": {
"command": "npx",
"args": ["-y", "task-master-ai"],
"env": {
"TASK_MASTER_TOOLS": "standard", // Options: "all", "standard", "core", "lean", or comma-separated list
"ANTHROPIC_API_KEY": "your-key-here",
// ... other API keys
}
}
}
}Method 2: Claude Code CLI (One-Time Setup)
For Claude Code users, you can set the mode during installation:
# Core mode example (~70% token reduction)
claude mcp add task-master-ai --scope user \
--env TASK_MASTER_TOOLS="core" \
-- npx -y task-master-ai@latest
# Custom tools example
claude mcp add task-master-ai --scope user \
--env TASK_MASTER_TOOLS="get_tasks,next_task,set_task_status" \
-- npx -y task-master-ai@latestTool Sets Details
Core Tools (7): get_tasks, next_task, get_task, set_task_status, update_subtask, parse_prd, expand_task
Standard Tools (15): All core tools plus initialize_project, analyze_project_complexity, expand_all, add_subtask, remove_task, generate, add_task, complexity_report
All Tools (36): Complete set including project setup, task management, analysis, dependencies, tags, research, and more
Recommendations
New users: Start with
"standard"mode for a good balanceLarge projects: Use
"core"mode to minimize token usageComplex workflows: Use
"all"mode or custom selectionBackward compatibility: If not specified, defaults to
"all"mode
Claude Code Support
Task Master now supports Claude models through the Claude Code CLI, which requires no API key:
Models:
claude-code/opusandclaude-code/sonnetRequirements: Claude Code CLI installed
Benefits: No API key needed, uses your local Claude instance
Learn more about Claude Code setup
Troubleshooting
If task-master init doesn't respond
Try running it with Node directly:
node node_modules/claude-task-master/scripts/init.jsOr clone the repository and run:
git clone https://github.com/eyaltoledano/claude-task-master.git
cd claude-task-master
node scripts/init.jsJoin Our Team
Contributors
Star History
Licensing
Task Master is licensed under the MIT License with Commons Clause. This means you can:
✅ Allowed:
Use Task Master for any purpose (personal, commercial, academic)
Modify the code
Distribute copies
Create and sell products built using Task Master
❌ Not Allowed:
Sell Task Master itself
Offer Task Master as a hosted service
Create competing products based on Task Master
See the LICENSE file for the complete license text and licensing details for more information.
Available Tools
36 toolsadd_dependencyC
Add a dependency relationship between two tasks
| Name | Required | Description | Default |
|---|---|---|---|
| dependsOn | Yes | ID of task that will become a dependency | |
| file | No | Absolute path to the tasks file (default: tasks/tasks.json) | |
| id | Yes | ID of task that will depend on another task | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool adds a dependency but doesn't explain what that entails operationally—whether it modifies task files, requires specific permissions, has side effects, or what happens if dependencies conflict. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It's appropriately sized and front-loaded, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a dependency management tool with no annotations and no output schema, the description is insufficient. It doesn't cover behavioral aspects like mutation effects, error handling, or return values, leaving the agent with incomplete context for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all five parameters thoroughly. The description adds no additional meaning beyond what the schema provides, such as explaining the relationship between 'id' and 'dependsOn' or how 'tag' interacts with dependencies. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add a dependency relationship') and the resource ('between two tasks'), which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'remove_dependency' or 'fix_dependencies', which would require more precise language about what makes this tool unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'remove_dependency' or 'fix_dependencies', nor does it mention prerequisites or context for usage. It simply states what the tool does without indicating appropriate scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_subtaskC
Add a subtask to an existing task
| Name | Required | Description | Default |
|---|---|---|---|
| dependencies | No | Comma-separated list of dependency IDs for the new subtask | |
| description | No | Description for the new subtask | |
| details | No | Implementation details for the new subtask | |
| file | No | Absolute path to the tasks file (default: tasks/tasks.json) | |
| id | Yes | Parent task ID (required) | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| skipGenerate | No | Skip regenerating task files | |
| status | No | Status for the new subtask (default: 'pending') | |
| tag | No | Tag context to operate on | |
| taskId | No | Existing task ID to convert to subtask | |
| title | No | Title for the new subtask (when creating a new subtask) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While 'Add' implies a write/mutation operation, the description doesn't mention permissions needed, whether this creates persistent changes, what happens to the parent task, or what the tool returns. It lacks critical behavioral context for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with zero wasted words. It's front-loaded with the core purpose and doesn't include unnecessary elaboration. This is an excellent example of concise tool documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 11 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what happens after adding a subtask, how to verify success, or what errors might occur. The agent would need to guess about the tool's behavior and output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 11 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema. The baseline score of 3 reflects adequate coverage through the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Add') and resource ('subtask to an existing task'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'add_task' or 'update_subtask', but the focus on subtasks provides some implicit distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'add_task' (for creating new top-level tasks) or 'update_subtask' (for modifying existing subtasks). There's no mention of prerequisites, constraints, or typical scenarios for subtask creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_tagC
Create a new tag for organizing tasks in different contexts
| Name | Required | Description | Default |
|---|---|---|---|
| copyFromCurrent | No | Whether to copy tasks from the current tag (default: false) | |
| copyFromTag | No | Specific tag to copy tasks from | |
| description | No | Optional description for the tag | |
| file | No | Path to the tasks file (default: tasks/tasks.json) | |
| fromBranch | No | Create tag name from current git branch (ignores name parameter) | |
| name | Yes | Name of the new tag to create | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'Create a new tag' which implies a write/mutation operation, but doesn't specify permissions needed, whether it modifies existing files, error conditions (e.g., duplicate tag names), or what happens on success (e.g., confirmation message). For a mutation tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core purpose without redundancy. It's front-loaded with the main action and resource, and every word contributes to understanding the tool's function. No unnecessary details or verbose explanations are included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 7 parameters, no annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects like side effects, error handling, or response format. While the schema covers parameters well, the description lacks context about how the tool integrates with the broader system (e.g., task organization workflow).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds no parameter-specific information beyond the general purpose of tag creation. It doesn't explain how parameters interact (e.g., copyFromCurrent vs copyFromTag) or provide usage examples. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Create') and resource ('new tag') with the purpose 'for organizing tasks in different contexts'. It distinguishes this from other tag-related tools like copy_tag, delete_tag, rename_tag, and list_tags by specifying creation rather than manipulation or querying. However, it doesn't explicitly differentiate from all sibling tools beyond the tag domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like copy_tag (which might create a tag with copied tasks) or initialize_project (which might set up project structure). There's no mention of prerequisites, such as needing an existing project or tasks file, or when this tool is appropriate versus other tag management operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_taskC
Add a new task using AI
| Name | Required | Description | Default |
|---|---|---|---|
| dependencies | No | Comma-separated list of task IDs this task depends on | |
| description | No | Task description (for manual task creation) | |
| details | No | Implementation details (for manual task creation) | |
| file | No | Path to the tasks file (default: tasks/tasks.json) | |
| priority | No | Task priority (high, medium, low) | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| prompt | No | Description of the task to add (required if not using manual fields) | |
| research | No | Whether to use research capabilities for task creation | |
| tag | No | Tag context to operate on | |
| testStrategy | No | Test strategy (for manual task creation) | |
| title | No | Task title (for manual task creation) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'using AI' but doesn't explain what this means in practice—such as whether it involves automated research, generation, or other AI-specific behaviors. It also omits critical details like permissions needed, side effects, or response format, which are essential for a tool with 11 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point without unnecessary words. It's appropriately sized for a tool name, though it could be more front-loaded with key details given the complexity, but it avoids waste and is structurally sound.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (11 parameters, no annotations, no output schema), the description is insufficient. It doesn't explain the AI aspect, how parameters interact (e.g., 'prompt' vs. manual fields), or what the tool returns, leaving significant gaps for the agent to infer behavior in a context with many sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so parameters are well-documented in the schema itself. The description adds no additional meaning beyond implying AI involvement, which doesn't clarify parameter usage or interactions. This meets the baseline of 3, as the schema handles the heavy lifting, but the description doesn't compensate with extra insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Add a new task using AI' states the basic action (add) and resource (task) with the qualifier 'using AI', which distinguishes it from purely manual creation. However, it doesn't specify what 'using AI' entails or how it differs from sibling tools like 'add_subtask' or 'update_task', making the purpose somewhat vague rather than specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With many sibling tools like 'add_subtask', 'add_dependency', and 'update_task', there's no indication of the appropriate context, prerequisites, or exclusions for using 'add_task', leaving the agent without clear usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_project_complexityB
Analyze task complexity and generate expansion recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Path to the tasks file relative to project root (default: tasks/tasks.json). | |
| from | No | Starting task ID in a range to analyze. | |
| ids | No | Comma-separated list of task IDs to analyze specifically (e.g., "1,3,5"). | |
| output | No | Output file path relative to project root (default: .taskmaster/reports/task-complexity-report.json). | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| research | No | Use Perplexity AI for research-backed analysis. | |
| tag | No | Tag context to operate on | |
| threshold | No | Complexity score threshold (1-10) to recommend expansion. | |
| to | No | Ending task ID in a range to analyze. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'analyze' and 'generate' imply read and write operations, it doesn't specify whether this tool modifies data, requires specific permissions, has side effects (e.g., creating output files), or handles errors. The mention of 'expansion recommendations' suggests it might influence task expansion, but behavioral details are lacking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—just one sentence with 7 words. It's front-loaded with the core purpose and wastes no words, making it easy to parse quickly. Every word earns its place by conveying essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (9 parameters, no annotations, no output schema), the description is minimally adequate. It states what the tool does but lacks context on behavior, output format, or integration with siblings. Without annotations or output schema, more detail on what 'expansion recommendations' entail or how results are used would improve completeness for this analysis tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 9 parameters. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain how 'threshold' relates to 'expansion recommendations' or clarify interactions between 'ids', 'from', and 'to'). With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Analyze task complexity and generate expansion recommendations.' It specifies the action ('analyze' and 'generate') and the resource ('task complexity'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'complexity_report' or 'expand_task', which appear related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'complexity_report' (likely for reporting) and 'expand_task' (likely for expansion actions), there's no indication of how this analysis tool fits into the workflow or when it should be preferred over other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_subtasksC
Clear subtasks from specified tasks
| Name | Required | Description | Default |
|---|---|---|---|
| all | No | Clear subtasks from all tasks | |
| file | No | Absolute path to the tasks file (default: tasks/tasks.json) | |
| id | No | Task IDs (comma-separated) to clear subtasks from | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a destructive action ('Clear') but doesn't specify if this is permanent, reversible, or requires specific permissions. No information on side effects, error handling, or output format is given, which is inadequate for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It's front-loaded and wastes no space, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a destructive operation with 5 parameters and no annotations or output schema, the description is insufficient. It lacks details on behavior, error cases, and what 'clearing' entails (e.g., deletion vs. archiving), making it incomplete for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so parameters like 'all', 'file', 'id', 'projectRoot', and 'tag' are well-documented in the schema. The description adds no additional meaning beyond implying task specification, which is already covered, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Clear') and resource ('subtasks from specified tasks'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'remove_subtask' or 'update_subtask', which could handle similar operations, so it's not fully specific about its unique scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as 'remove_subtask' or 'update_subtask'. It mentions 'specified tasks' but doesn't clarify selection criteria or exclusions, leaving usage context vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
complexity_reportC
Display the complexity analysis report in a readable format
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Path to the report file (default: .taskmaster/reports/task-complexity-report.json) | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions the output format ('readable format') but doesn't disclose whether this is a read-only operation, what happens if the file doesn't exist, or any performance/error considerations. The description is too vague for a tool that presumably reads and formats data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and includes a useful detail about formatting. Every part of the sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what a 'complexity analysis report' contains, how the display differs from raw data, or what happens if inputs are invalid. The lack of behavioral context makes it incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no parameter-specific information beyond what's in the schema, maintaining the baseline score of 3. It doesn't explain how parameters interact or their impact on the report display.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('display') and resource ('complexity analysis report'), and specifies the output format ('readable format'). It doesn't explicitly differentiate from sibling tools like 'analyze_project_complexity', but the focus on display vs. analysis is implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'analyze_project_complexity' for generating reports or clarify if this is for viewing pre-existing reports versus creating new ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
copy_tagC
Copy an existing tag to create a new tag with all tasks and metadata
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Optional description for the new tag | |
| file | No | Path to the tasks file (default: tasks/tasks.json) | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| sourceName | Yes | Name of the source tag to copy from | |
| targetName | Yes | Name of the new tag to create |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It states the tool creates a new tag but doesn't disclose behavioral traits like whether it overwrites existing tags, requires specific permissions, handles errors, or affects system state beyond the tag duplication. The phrase 'with all tasks and metadata' adds some context but is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action ('copy an existing tag') and specifies the outcome ('create a new tag with all tasks and metadata'). There is no wasted verbiage or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It lacks information about return values, error conditions, side effects, and how it integrates with sibling tools. The high schema coverage helps, but the description doesn't compensate for missing behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing clear documentation for all 5 parameters. The description adds minimal value beyond the schema, mentioning 'existing tag' (implied by sourceName) and 'new tag' (implied by targetName), but doesn't explain parameter interactions or provide additional context like format examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('copy') and resource ('existing tag'), specifying that it creates a new tag with all tasks and metadata. It distinguishes from siblings like 'add_tag' (which likely creates from scratch) and 'rename_tag' (which modifies rather than duplicates), though it doesn't explicitly name these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'add_tag' or 'rename_tag'. The description implies usage for duplicating tags with their content, but lacks context about prerequisites, constraints, or when other tools might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_tagB
Delete an existing tag and all its tasks
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Path to the tasks file (default: tasks/tasks.json) | |
| name | Yes | Name of the tag to delete | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| yes | No | Skip confirmation prompts (default: true for MCP) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While it mentions the destructive nature ('Delete... and all its tasks'), it doesn't specify whether this requires confirmation (though the 'yes' parameter hints at this), what happens to tasks after deletion, or any error conditions. For a destructive tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action and consequence. Every word earns its place, with no wasted text or redundancy. It's appropriately sized for a tool with clear destructive intent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description is incomplete. It doesn't explain the return value, error handling, or the full impact of deleting 'all its tasks' (e.g., whether subtasks or dependencies are affected). Given the complexity and lack of structured data, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional semantic context about parameters beyond what's in the schema, such as explaining the relationship between 'name' and the tag being deleted or the purpose of 'projectRoot'. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Delete') and the target resource ('an existing tag and all its tasks'), distinguishing it from sibling tools like 'remove_tag' (which doesn't exist) or 'rename_tag'. It explicitly mentions the cascading effect on tasks, which is a key differentiator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'remove_task' or 'clear_subtasks', nor does it mention prerequisites or exclusions. It lacks context about when this destructive operation is appropriate versus other tag-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
expand_allC
Expand all pending tasks into subtasks based on complexity or defaults
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Absolute path to the tasks file in the /tasks folder inside the project root (default: tasks/tasks.json) | |
| force | No | Force regeneration of subtasks for tasks that already have them | |
| num | No | Target number of subtasks per task (uses complexity/defaults otherwise) | |
| projectRoot | No | Absolute path to the project root directory (derived from session if possible) | |
| prompt | No | Additional context to guide subtask generation for all tasks | |
| research | No | Enable research-backed subtask generation (e.g., using Perplexity) | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but provides minimal behavioral insight. It mentions 'expand' (implies mutation) and 'force regeneration' (hints at idempotency), but omits critical details like whether this is destructive to existing subtasks, requires specific permissions, or has rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with core action ('expand all pending tasks'), zero waste. Efficiently conveys the essence without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 7 parameters, no annotations, and no output schema, the description is inadequate. It lacks behavioral context (e.g., side effects, error handling), output expectations, and fails to compensate for the missing structured data, leaving significant gaps for agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 7 parameters. The description adds no parameter-specific semantics beyond implying 'complexity or defaults' relates to the 'num' parameter, but this is already covered in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('expand') and resource ('pending tasks'), specifying they become subtasks based on complexity or defaults. It distinguishes from siblings like 'expand_task' (singular) and 'add_subtask' (manual addition), but doesn't explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'expand_task' (for single tasks) or 'add_subtask' (manual). The description implies batch processing of 'all pending tasks,' but lacks context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
expand_taskC
Expand a task into subtasks for detailed implementation
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Path to the tasks file relative to project root (e.g., tasks/tasks.json) | |
| force | No | Force expansion even if subtasks exist | |
| id | Yes | ID of task to expand | |
| num | No | Number of subtasks to generate | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| prompt | No | Additional context for subtask generation | |
| research | No | Use research role for generation | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic action without behavioral details. It doesn't disclose effects (e.g., overwrites existing subtasks with 'force'), permissions, rate limits, or output format. The mention of 'detailed implementation' hints at complexity but lacks specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Expand a task into subtasks') with a clarifying phrase ('for detailed implementation'). It has zero wasted words and is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 8 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain the generation process (e.g., AI-based), output format, or error handling. Given the rich sibling set and mutation nature (implied by 'expand'), more context is needed for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema. The description adds no additional meaning beyond implying parameters like 'id' and 'num' are used for expansion. Baseline 3 is appropriate as the schema handles parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('expand') and target ('a task into subtasks'), specifying the purpose as detailed implementation. It distinguishes from siblings like 'add_subtask' or 'scope_down_task' by focusing on generation rather than manual addition or scoping. However, it doesn't explicitly contrast with 'expand_all' which expands multiple tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'add_subtask', 'scope_down_task', or 'expand_all'. The description implies usage for breaking down tasks but doesn't specify prerequisites (e.g., task must exist) or exclusions (e.g., not for simple tasks).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fix_dependenciesC
Fix invalid dependencies in tasks automatically
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Absolute path to the tasks file | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions 'automatically', hinting at automation, but doesn't disclose critical traits like whether it's destructive (modifies files), requires specific permissions, has side effects, or how it handles errors. For a tool that likely modifies task dependencies, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose ('Fix invalid dependencies'), and 'automatically' adds useful context without verbosity. Every word earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a tool that likely performs mutations (fixing dependencies), the description is incomplete. It lacks details on behavior, outcomes, error handling, or how it interacts with sibling tools. For a 3-parameter tool with potential side effects, this minimal description is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents parameters (file, projectRoot, tag). The description adds no meaning beyond the schema—it doesn't explain how parameters relate to fixing dependencies (e.g., if 'tag' limits scope). Baseline is 3 as the schema does the heavy lifting, but no extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Fix invalid dependencies in tasks automatically' clearly states the action (fix), target (invalid dependencies), and scope (in tasks). It distinguishes from siblings like 'add_dependency' or 'remove_dependency' by focusing on fixing rather than adding/removing. However, it doesn't specify what makes dependencies 'invalid' or the exact mechanism, keeping it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'validate_dependencies' or 'add_dependency'. It doesn't mention prerequisites (e.g., after validation fails) or exclusions (e.g., for manual fixes). Usage is implied only by the verb 'fix', but no explicit context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generateC
Generates individual task files in tasks/ directory based on tasks.json
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Absolute path to the tasks file | |
| output | No | Output directory (default: same directory as tasks file) | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool generates files, implying a write operation, but doesn't disclose behavioral traits such as whether it overwrites existing files, requires specific permissions, handles errors, or has side effects. This is a significant gap for a tool that modifies the filesystem.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and earns its place by clearly conveying the core functionality, making it easy for an agent to grasp quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a file-generation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavior, error handling, output format, or how it interacts with the filesystem, which are crucial for safe and effective use. This leaves gaps that could hinder the agent's ability to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all four parameters. The description adds no additional meaning beyond the schema, such as explaining how parameters interact or providing examples. This meets the baseline of 3, as the schema handles the parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Generates') and the resource ('individual task files in tasks/ directory based on tasks.json'), making the purpose understandable. It doesn't explicitly differentiate from siblings like 'add_task' or 'update_task', which are about modifying tasks rather than generating files from a JSON source, but the distinction is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The description implies usage when needing to generate task files from a tasks.json file, but it doesn't specify prerequisites, exclusions, or compare to siblings like 'initialize_project' or 'get_tasks'. This leaves the agent to infer context without clear direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_taskC
Get detailed information about a specific task
| Name | Required | Description | Default |
|---|---|---|---|
| complexityReport | No | Path to the complexity report file (relative to project root or absolute) | |
| file | No | Path to the tasks file relative to project root | |
| id | Yes | Task ID(s) to get (can be comma-separated for multiple tasks) | |
| projectRoot | Yes | Absolute path to the project root directory (Optional, usually from session) | |
| status | No | Filter subtasks by status (e.g., 'pending', 'done') | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states 'get detailed information' but doesn't specify what that information includes (e.g., status, dependencies, metadata), whether it's read-only (implied by 'get'), authentication needs, error handling, or rate limits. For a tool with 6 parameters and no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste—'Get detailed information about a specific task' is front-loaded and appropriately sized for its purpose. Every word earns its place, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what 'detailed information' returns, how parameters like 'complexityReport' or 'status' affect the output, or error cases. For a tool with multiple inputs and no structured output documentation, more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 6 parameters (e.g., 'id' for task IDs, 'projectRoot' for directory path). The description adds no meaning beyond what the schema provides—it doesn't clarify parameter interactions, default behaviors, or examples. Baseline 3 is appropriate when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get detailed information about a specific task' clearly states the verb ('get') and resource ('task'), but it's vague about what 'detailed information' entails and doesn't distinguish this tool from sibling tools like 'get_tasks' (plural) or 'expand_task'. It provides a basic purpose but lacks specificity about scope or differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no guidance on when to use this tool versus alternatives. With sibling tools like 'get_tasks', 'expand_task', and 'analyze_project_complexity', there's no indication of when this single-task retrieval is preferred over batch operations or other task-related tools. Usage context is implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tasksC
Get all tasks from Task Master, optionally filtering by status and including subtasks.
| Name | Required | Description | Default |
|---|---|---|---|
| complexityReport | No | Path to the complexity report file (relative to project root or absolute) | |
| file | No | Path to the tasks file (relative to project root or absolute) | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| status | No | Filter tasks by status (e.g., 'pending', 'done') or multiple statuses separated by commas (e.g., 'blocked,deferred') | |
| tag | No | Tag context to operate on | |
| withSubtasks | No | Include subtasks nested within their parent tasks in the response |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions optional filtering and subtask inclusion but lacks critical details: required permissions, whether this is a read-only operation, pagination behavior, rate limits, error conditions, or what the response format looks like. For a tool with 6 parameters and no output schema, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('Get all tasks') and immediately adds key optional features. Every word earns its place with zero redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns, how results are structured, or important behavioral aspects like whether it's safe to call repeatedly. The high parameter count and lack of structured metadata require more descriptive context than provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 6 parameters. The description mentions 'filtering by status' and 'including subtasks' which map to the 'status' and 'withSubtasks' parameters, but adds no additional semantic context beyond what the schema already provides. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('all tasks from Task Master'), specifying optional filtering by status and inclusion of subtasks. It distinguishes from 'get_task' (singular) but doesn't explicitly differentiate from other list-like tools like 'list_tags' or 'models'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The description mentions optional filtering but doesn't indicate when filtering is appropriate or compare to other task-related tools like 'get_task' (singular) or 'next_task'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
initialize_projectA
Initializes a new Task Master project structure by calling the core initialization logic. Creates necessary folders and configuration files for Task Master in the current directory.
| Name | Required | Description | Default |
|---|---|---|---|
| addAliases | No | Add shell aliases (tm, taskmaster) to shell config file. | |
| initGit | No | Initialize Git repository in project root. | |
| projectRoot | Yes | The root directory for the project. ALWAYS SET THIS TO THE PROJECT ROOT DIRECTORY. IF NOT SET, THE TOOL WILL NOT WORK. | |
| rules | No | List of rule profiles to include at initialization. If omitted, defaults to Cursor profile only. Available options: amp, claude, cline, codex, cursor, gemini, kiro, opencode, roo, trae, vscode, windsurf, zed | |
| skipInstall | No | Skip installing dependencies automatically. Never do this unless you are sure the project is already installed. | |
| storeTasksInGit | No | Store tasks in Git (tasks.json and tasks/ directory). | |
| yes | No | Skip prompts and use default values. Always set to true for MCP tools. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates folders and configuration files, which implies a write/mutation operation, but doesn't mention permissions needed, whether changes are destructive to existing files, or what happens on failure. The description adds some context about what gets created but lacks important behavioral details for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that directly state the tool's purpose and what it creates. It's front-loaded with the main action and wastes no words. It could potentially be slightly more structured by mentioning the key required parameter, but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 7 parameters and no annotations or output schema, the description is minimally adequate. It states what the tool does but lacks important context about behavioral traits, error conditions, or what constitutes successful initialization. Given the complexity of initializing a project with multiple configuration options, more completeness would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all 7 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. The baseline score of 3 reflects adequate coverage when the schema does the heavy lifting, though the description could have explained parameter interactions or initialization flow.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('initializes a new Task Master project structure') and the resources involved ('creates necessary folders and configuration files'). It distinguishes this from sibling tools like 'add_task' or 'update_task' by focusing on project setup rather than task management operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this should be used for initial project setup ('Initializes a new Task Master project structure'), but doesn't explicitly state when to use it versus alternatives or prerequisites. No guidance is provided about when NOT to use it or what happens if called on an already-initialized project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tagsB
List all available tags with task counts and metadata
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Path to the tasks file (default: tasks/tasks.json) | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| showMetadata | No | Whether to include metadata in the output (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions output includes 'task counts and metadata', which gives some behavioral insight, but lacks details on permissions, rate limits, pagination, error handling, or what specific metadata is returned. For a read operation with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('List all available tags') and adds necessary detail ('with task counts and metadata') without redundancy. Every word earns its place, making it highly concise and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 3 parameters with full schema coverage, the description is minimally adequate. It covers the basic purpose but lacks details on output format, error cases, or integration with sibling tools. For a simple list operation, this might suffice, but more context would improve completeness, especially without annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description does not add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain how 'showMetadata' relates to 'metadata' in the output or default behaviors). Baseline 3 is appropriate as the schema handles parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('all available tags') with additional detail about what's included ('with task counts and metadata'). It distinguishes from siblings like 'add_tag', 'delete_tag', 'rename_tag', and 'copy_tag' which are mutation operations, though it doesn't explicitly differentiate from other read-only tools like 'get_task' or 'get_tasks'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention if this should be used for browsing tags versus filtering tasks by tag, or how it relates to sibling tools like 'use_tag' or 'get_tasks' that might involve tags. The description assumes the context without explicit usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modelsB
Get information about available AI models or set model configurations. Run without arguments to get the current model configuration and API key status for the selected model providers.
| Name | Required | Description | Default |
|---|---|---|---|
| azure | No | Indicates the set model ID is a custom Azure OpenAI model. | |
| bedrock | No | Indicates the set model ID is a custom AWS Bedrock model. | |
| listAvailableModels | No | List all available models not currently in use. Input/output costs values are in dollars (3 is $3.00). | |
| ollama | No | Indicates the set model ID is a custom Ollama model. | |
| openrouter | No | Indicates the set model ID is a custom OpenRouter model. | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| setFallback | No | Set the model to use if the primary fails. Model provider API key is required in the MCP config ENV. | |
| setMain | No | Set the primary model for task generation/updates. Model provider API key is required in the MCP config ENV. | |
| setResearch | No | Set the model for research-backed operations. Model provider API key is required in the MCP config ENV. | |
| vertex | No | Indicates the set model ID is a custom Google Vertex AI model. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions API key requirements for setting models, which is useful, but lacks details on behavioral traits such as whether changes are persistent, if there are rate limits, error handling, or what happens when configurations are set (e.g., immediate effect vs. requires restart). For a tool with 10 parameters and no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences that are front-loaded: the first states the dual purpose, and the second provides specific usage guidance. There is no wasted text, making it efficient, though it could be slightly more structured to separate the 'get' and 'set' functionalities more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (10 parameters, no output schema, no annotations), the description is incomplete. It covers basic purpose and a usage scenario but lacks details on return values, error conditions, or how the tool integrates with the broader system (e.g., sibling tools). This makes it adequate but with clear gaps for a tool of this scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema, as it does not explain parameter interactions or provide additional context like how 'listAvailableModels' relates to 'setMain' or 'setFallback.' Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Get information about available AI models or set model configurations,' which provides a general purpose but lacks specificity about what 'set model configurations' entails. It distinguishes from siblings by focusing on models rather than tasks or dependencies, but the dual purpose (get info vs. set configs) makes it somewhat vague compared to more focused sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: 'Run without arguments to get the current model configuration and API key status for the selected model providers.' This gives explicit guidance on when to use it in a no-argument scenario. However, it does not specify when to use it versus alternatives (e.g., which sibling tools might interact with models) or when not to use it, keeping it from a score of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_taskC
Move a task or subtask to a new position
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Custom path to tasks.json file | |
| from | Yes | ID of the task/subtask to move (e.g., "5" or "5.2"). Can be comma-separated to move multiple tasks (e.g., "5,6,7") | |
| projectRoot | Yes | Root directory of the project (typically derived from session) | |
| tag | No | Tag context to operate on | |
| to | Yes | ID of the destination (e.g., "7" or "7.3"). Must match the number of source IDs if comma-separated |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions moving tasks but doesn't disclose behavioral traits such as whether this operation is destructive (e.g., overwrites existing positions), requires specific permissions, handles errors (e.g., invalid IDs), or affects related data like dependencies. The description is minimal and misses key operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without redundancy. It is front-loaded and wastes no words, making it easy to parse quickly for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a mutation tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on behavior, error handling, return values, and usage context, leaving significant gaps for an AI agent to understand how to invoke it correctly in practice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds no additional meaning beyond the schema, such as explaining the 'from' and 'to' ID formats in more detail or clarifying interactions between parameters. Baseline 3 is appropriate as the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('move') and resource ('task or subtask') with the specific outcome ('to a new position'). It distinguishes from siblings like 'remove_task' or 'update_task' by focusing on positional changes, though it doesn't explicitly contrast with tools like 'add_subtask' or 'scope_up_task' that also affect task hierarchy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't specify if this is for reordering tasks within a list, moving subtasks between parent tasks, or how it differs from 'update_task' for status changes or 'scope_up_task' for hierarchical adjustments. The description lacks context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
next_taskB
Find the next task to work on based on dependencies and status
| Name | Required | Description | Default |
|---|---|---|---|
| complexityReport | No | Path to the complexity report file (relative to project root or absolute) | |
| file | No | Absolute path to the tasks file | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the selection criteria ('dependencies and status') but doesn't disclose important behavioral traits: what algorithm is used (e.g., priority-based, dependency resolution), whether it modifies data (likely read-only but not stated), what happens when no tasks are available, or what the output format looks like. For a tool with algorithmic behavior and no annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that immediately states the tool's purpose. There's no wasted language, repetition, or unnecessary elaboration. It's appropriately sized for a tool with this level of complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's algorithmic nature (selecting next task based on dependencies/status), no annotations, and no output schema, the description is incomplete. It should explain the selection logic, output format, and behavioral characteristics. The current description leaves too many questions unanswered for proper agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 4 parameters with good descriptions. The description adds no parameter-specific information beyond what's in the schema. According to guidelines, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'find' and the resource 'next task', specifying it's based on dependencies and status. It distinguishes from siblings like 'get_task' (retrieve specific task) and 'get_tasks' (list all tasks) by focusing on algorithmic selection of the next actionable item. However, it doesn't explicitly name these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('based on dependencies and status') suggesting this tool should be used when determining what to work on next in a task management system. However, it doesn't explicitly state when to use this vs. alternatives like 'get_task' or 'get_tasks', nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_prdA
Parse a Product Requirements Document (PRD) text file to automatically generate initial tasks. Reinitializing the project is not necessary to run this tool. It is recommended to run parse-prd after initializing the project and creating/importing a prd.txt file in the project root's .taskmaster/docs directory.
| Name | Required | Description | Default |
|---|---|---|---|
| append | No | Append generated tasks to existing file. | |
| force | No | Overwrite existing output file without prompting. | |
| input | No | Absolute path to the PRD document file (.txt, .md, etc.) | .taskmaster/docs/prd.txt |
| numTasks | No | Approximate number of top-level tasks to generate (default: 10). As the agent, if you have enough information, ensure to enter a number of tasks that would logically scale with project complexity. Setting to 0 will allow Taskmaster to determine the appropriate number of tasks based on the complexity of the PRD. Avoid entering numbers above 50 due to context window limitations. | |
| output | No | Output path for tasks.json file (default: .taskmaster/tasks/tasks.json) | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| research | No | Enable Taskmaster to use the research role for potentially more informed task generation. Requires appropriate API key. | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that 'Reinitializing the project is not necessary to run this tool,' which clarifies a potential misconception. However, it doesn't describe what the tool actually does beyond parsing and generating tasks—such as whether it modifies existing files, requires specific permissions, or has rate limits. For a tool with 8 parameters and no annotations, more behavioral context would be expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized at three sentences, with the first sentence front-loading the core purpose. Each sentence adds value: the purpose, a clarification about reinitialization, and usage guidelines. There's no wasted text, though it could be slightly more structured (e.g., bullet points for prerequisites) for a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, no output schema, no annotations), the description is adequate but has clear gaps. It covers the purpose and basic usage context but lacks details on behavioral traits (e.g., file handling, error conditions) and doesn't explain the output format. For a tool that generates tasks, more completeness would help the agent understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, meaning all parameters are documented in the input schema itself. The description doesn't add any parameter-specific information beyond what's already in the schema (e.g., it doesn't explain the 'tag' parameter or provide examples). Since the schema does the heavy lifting, the baseline score of 3 is appropriate—the description adds no extra parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Parse a Product Requirements Document (PRD) text file to automatically generate initial tasks.' It specifies the verb ('parse'), resource ('PRD text file'), and outcome ('generate initial tasks'). However, it doesn't explicitly differentiate from sibling tools like 'generate' or 'analyze_project_complexity', which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use the tool: 'It is recommended to run parse-prd after initializing the project and creating/importing a prd.txt file in the project root's .taskmaster/docs directory.' This gives practical prerequisites. However, it doesn't mention when NOT to use it or name specific alternatives among the many sibling tools, which would be needed for a score of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_dependencyC
Remove a dependency from a task
| Name | Required | Description | Default |
|---|---|---|---|
| dependsOn | Yes | Task ID to remove as a dependency | |
| file | No | Absolute path to the tasks file (default: tasks/tasks.json) | |
| id | Yes | Task ID to remove dependency from | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. 'Remove a dependency' implies a mutation operation, but the description doesn't specify whether this requires specific permissions, whether the change is reversible, what happens to dependent tasks, or what the response looks like. For a mutation tool with zero annotation coverage, this represents a significant gap in behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core purpose without unnecessary words. It's appropriately sized for a tool with this level of complexity and gets straight to the point with zero wasted verbiage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens after dependency removal, whether there are side effects on other tasks, what success/failure looks like, or how this interacts with sibling dependency management tools. The description should provide more context given the tool's complexity and lack of structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no parameter information in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove') and target ('a dependency from a task'), making the purpose immediately understandable. However, it doesn't differentiate this tool from sibling tools like 'remove_subtask' or 'remove_task', which would require more specific language about what distinguishes dependency removal from other removal operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance about when to use this tool versus alternatives. With sibling tools like 'fix_dependencies' and 'validate_dependencies' available, there's no indication of whether this tool is for manual dependency correction versus automated fixes, or any prerequisites for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_subtaskC
Remove a subtask from its parent task
| Name | Required | Description | Default |
|---|---|---|---|
| convert | No | Convert the subtask to a standalone task instead of deleting it | |
| file | No | Absolute path to the tasks file (default: tasks/tasks.json) | |
| id | Yes | Subtask ID to remove in format 'parentId.subtaskId' (required) | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| skipGenerate | No | Skip regenerating task files | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Remove' implies a destructive operation, the description doesn't specify whether this action is reversible, what permissions are required, or how it affects related data (e.g., dependencies). The input schema reveals a 'convert' option that changes the behavior to conversion rather than deletion, but this isn't mentioned in the description, creating a gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero wasted words. It's front-loaded with the core action and target, making it immediately understandable without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description is inadequate. It lacks critical behavioral details (e.g., reversibility, side effects) and doesn't clarify the 'convert' parameter's impact, leaving the agent with incomplete context for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all six parameters. The description adds no additional meaning beyond what's in the schema (e.g., it doesn't explain the implications of 'convert' or 'skipGenerate'). With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove') and the target ('a subtask from its parent task'), which is specific and unambiguous. However, it doesn't differentiate this tool from sibling tools like 'remove_task' or 'clear_subtasks', which handle similar but distinct operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'remove_task' (for standalone tasks) or 'clear_subtasks' (for removing all subtasks). It also doesn't mention prerequisites or contextual constraints, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_taskB
Remove a task or subtask permanently from the tasks list
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | Whether to skip confirmation prompt (default: false) | |
| file | No | Absolute path to the tasks file | |
| id | Yes | ID of the task or subtask to remove (e.g., '5' or '5.2'). Can be comma-separated to update multiple tasks/subtasks at once. | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| tag | No | Specify which tag context to operate on. Defaults to the current active tag. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action is 'permanent', which is useful, but lacks critical details: it doesn't specify if removal is reversible, what permissions are needed, how errors are handled (e.g., invalid IDs), or what the response looks like (e.g., success confirmation). For a destructive operation, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action ('remove') and key detail ('permanently'), making it easy to scan. Every word earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema, the description is incomplete. It lacks behavioral context (e.g., error handling, reversibility), usage guidance relative to siblings, and output expectations. While concise, it doesn't compensate for the missing structured data, leaving gaps for safe agent operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds no parameter-specific information beyond what's in the schema (e.g., it doesn't clarify 'id' format beyond '5' or '5.2', or explain 'projectRoot' purpose). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('remove'), target ('task or subtask'), and effect ('permanently from the tasks list'). It distinguishes from siblings like 'remove_subtask' by specifying it handles both tasks and subtasks, and from 'delete_tag' by focusing on tasks rather than tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'remove_subtask' or 'clear_subtasks'. It doesn't mention prerequisites, such as needing an existing task ID, or exclusions, like whether it works on completed tasks. Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_tagC
Rename an existing tag
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Path to the tasks file (default: tasks/tasks.json) | |
| newName | Yes | New name for the tag | |
| oldName | Yes | Current name of the tag to rename | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Rename an existing tag' implies a mutation operation, but it doesn't disclose whether this requires specific permissions, whether the rename is atomic or affects dependent tasks, what happens on conflicts (e.g., duplicate new names), or error behavior. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse. Every word earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what happens after renaming (e.g., returns success/failure, updates task references), potential side effects, or error handling. For a tool that modifies data, more context is needed to use it safely and effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters (oldName, newName, projectRoot, file) with clear descriptions. The description adds no additional meaning beyond what's in the schema, such as format examples or constraints. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Rename an existing tag' clearly states the verb (rename) and resource (tag), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'copy_tag' or 'delete_tag' that also operate on tags, nor does it specify what system or context these tags exist in (e.g., task management system).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'copy_tag' or 'delete_tag'. There's no mention of prerequisites (e.g., the tag must exist), error conditions, or typical workflows. The agent must infer usage from the tool name and parameters alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
researchC
Perform AI-powered research queries with project context
| Name | Required | Description | Default |
|---|---|---|---|
| customContext | No | Additional custom context text to include in the research | |
| detailLevel | No | Detail level for the research response (default: medium) | |
| filePaths | No | Comma-separated list of file paths for context (e.g., "src/api.js,docs/readme.md") | |
| includeProjectTree | No | Include project file tree structure in context (default: false) | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| query | Yes | Research query/prompt (required) | |
| saveTo | No | Automatically save research results to specified task/subtask ID (e.g., "15" or "15.2") | |
| saveToFile | No | Save research results to .taskmaster/docs/research/ directory (default: false) | |
| tag | No | Tag context to operate on | |
| taskIds | No | Comma-separated list of task/subtask IDs for context (e.g., "15,16.2,17") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'AI-powered research' and 'project context' but doesn't describe what the tool actually does behaviorally: how it performs research, what sources it uses, whether it makes network calls, what the output format looks like, or any limitations/constraints. For a complex 10-parameter tool with no annotations, this is insufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that states the core functionality without unnecessary words. It's appropriately sized for a tool description and front-loads the essential information. Every word earns its place in conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what 'research' means in this context, what kind of results to expect, how the AI-powered aspect works, or how project context integrates. For a tool that presumably returns research findings, the lack of output schema means the description should at least hint at return values, which it doesn't.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents all 10 parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema - it doesn't explain how parameters like 'filePaths', 'taskIds', or 'saveTo' relate to the research process. With complete schema coverage, the baseline is 3 even without additional param semantics in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Perform AI-powered research queries with project context', which specifies the action (perform research), method (AI-powered), and scope (with project context). It distinguishes from siblings like 'analyze_project_complexity' or 'generate' by focusing on research queries rather than analysis or generation tasks. However, it doesn't explicitly differentiate from all possible research-like siblings, keeping it at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this research tool is appropriate compared to other tools like 'analyze_project_complexity' for analysis or 'generate' for content creation. There's no indication of prerequisites, limitations, or typical use cases beyond the vague 'with project context'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
response-languageB
Get or set the response language for the project
| Name | Required | Description | Default |
|---|---|---|---|
| language | Yes | The new response language to set. like "中文" "English" or "español". | |
| projectRoot | Yes | The root directory for the project. ALWAYS SET THIS TO THE PROJECT ROOT DIRECTORY. IF NOT SET, THE TOOL WILL NOT WORK. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'Get or set' operations but doesn't clarify whether this requires specific permissions, what happens when language is changed, if changes are reversible, or what the response format looks like. The description lacks crucial behavioral details for a configuration tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 7 words, front-loading the core purpose immediately. Every word earns its place by establishing the dual operations and target resource without any wasted language or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a configuration tool with no annotations and no output schema, the description is incomplete. It doesn't explain what 'getting' the language returns, how language settings affect the project, whether changes persist, or what validation occurs. The minimal description leaves too many behavioral questions unanswered for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description adds value by framing the tool's purpose around language configuration, which helps contextualize the 'language' parameter's role. However, it doesn't provide additional semantic context beyond what's already in the schema descriptions for individual parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs 'Get or set' and resource 'response language for the project'. It distinguishes itself from siblings by focusing on language configuration rather than task management, dependency handling, or project analysis. However, it doesn't explicitly differentiate between 'get' and 'set' operations in relation to parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There are no explicit statements about when to use 'get' versus 'set' operations, nor any mention of prerequisites or related tools. The sibling list includes many project management tools, but no language-related alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rulesB
Add or remove rule profiles from the project.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Whether to add or remove rule profiles. | |
| force | No | DANGEROUS: Force removal even if it would leave no rule profiles. Only use if you are absolutely certain. | |
| profiles | Yes | List of rule profiles to add or remove (e.g., ["cursor", "roo"]). Available options: amp, claude, cline, codex, cursor, gemini, kiro, opencode, roo, trae, vscode, windsurf, zed | |
| projectRoot | Yes | The root directory of the project. Must be an absolute path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden of behavioral disclosure. It mentions the core action (add/remove rule profiles) but doesn't explain what rule profiles are, what effects the changes have, or what permissions might be required. The dangerous nature of the 'force' parameter is documented in the schema, not the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point. It's appropriately sized for a tool with good schema documentation and wastes no words on repetition or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is minimal but functional. It states what the tool does, but doesn't provide context about what rule profiles are, what happens after modification, or error conditions. Given the complexity of modifying project configuration, more context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all 4 parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it doesn't explain what rule profiles are, why you'd add/remove them, or how they affect the project.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('add or remove') and resource ('rule profiles from the project'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its many siblings, particularly those like 'add_dependency' or 'add_tag' that also perform addition operations on different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With 35 sibling tools including various 'add_' and 'remove_' operations, there's no indication of what makes 'rule profiles' different from other project elements or when this specific tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scope_down_taskC
Decrease the complexity of one or more tasks using AI
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Path to the tasks file (default: tasks/tasks.json) | |
| id | Yes | Comma-separated list of task IDs to scope down (e.g., "1,3,5") | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| prompt | No | Custom prompt for specific scoping adjustments | |
| research | No | Whether to use research capabilities for scoping | |
| strength | No | Strength level: light, regular, or heavy (default: regular) | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'using AI' which hints at automation, but doesn't explain what 'decrease complexity' means operationally, whether changes are reversible, what permissions are needed, or how the tool interacts with the task system. Significant behavioral aspects remain undocumented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core purpose without unnecessary elaboration. It's appropriately sized and front-loaded with the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'decrease complexity' means in practice, what the expected outcome looks like, or how this tool differs from related task modification tools. The agent would need to guess about the tool's behavior and results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented in the schema itself. The description doesn't add any parameter-specific information beyond what's already in the schema descriptions. The baseline of 3 is appropriate when the schema does the heavy lifting for parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('decrease complexity') and resource ('one or more tasks'), with the method ('using AI') providing additional context. However, it doesn't differentiate from sibling tools like 'scope_up_task' (which presumably increases complexity) or 'analyze_project_complexity' (which analyzes rather than modifies).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. The description doesn't mention sibling tools like 'scope_up_task' for increasing complexity or 'add_subtask' for breaking down tasks differently. Usage context is implied but not specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scope_up_taskC
Increase the complexity of one or more tasks using AI
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Path to the tasks file (default: tasks/tasks.json) | |
| id | Yes | Comma-separated list of task IDs to scope up (e.g., "1,3,5") | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| prompt | No | Custom prompt for specific scoping adjustments | |
| research | No | Whether to use research capabilities for scoping | |
| strength | No | Strength level: light, regular, or heavy (default: regular) | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It mentions AI usage but doesn't explain what 'increase complexity' entails operationally (e.g., modifies task files, requires write permissions, potential side effects, or response format). This is inadequate for a tool with 7 parameters and no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, no annotations, and no output schema, the description is insufficient. It lacks details on behavioral traits (e.g., how complexity is increased, file modifications, error handling), making it incomplete for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, providing clear documentation for all 7 parameters. The description adds no additional parameter semantics beyond implying AI-driven complexity adjustments, which is already suggested by the tool's purpose. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Increase the complexity') and target ('one or more tasks using AI'), which is specific and actionable. However, it doesn't differentiate from sibling tools like 'scope_down_task' or 'expand_task' that might also modify task complexity, leaving some ambiguity about when to choose this specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'scope_down_task', 'expand_task', or 'analyze_project_complexity'. The description lacks context about prerequisites, typical scenarios, or exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_task_statusC
Set the status of one or more tasks or subtasks.
| Name | Required | Description | Default |
|---|---|---|---|
| complexityReport | No | Path to the complexity report file (relative to project root or absolute) | |
| file | No | Absolute path to the tasks file | |
| id | Yes | Task ID or subtask ID (e.g., '15', '15.2'). Can be comma-separated to update multiple tasks/subtasks at once. | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| status | Yes | New status to set (e.g., 'pending', 'done', 'in-progress', 'review', 'deferred', 'cancelled'. | |
| tag | No | Optional tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but only states the basic function. It doesn't mention whether this is a destructive operation, what permissions are required, how errors are handled, or what happens when updating multiple tasks. For a mutation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that immediately conveys the core function. There's no wasted verbiage or unnecessary elaboration. It's appropriately sized for a tool with comprehensive schema documentation and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 6 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't address behavioral aspects like side effects, error conditions, or return values. While the schema covers parameter details, the description fails to provide the contextual understanding needed for safe and effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional parameter information beyond what's already in the schema descriptions. It doesn't explain relationships between parameters like how 'complexityReport' relates to status setting or clarify the 'tag' parameter's purpose. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set') and target ('status of one or more tasks or subtasks'), making the purpose immediately understandable. It distinguishes from siblings like 'update_task' by focusing specifically on status updates rather than general task modifications. However, it doesn't explicitly differentiate from all status-related operations in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'update_task' or 'update_subtask', nor does it mention prerequisites or context for usage. It simply states what the tool does without indicating appropriate scenarios or constraints for its application.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
updateA
Update multiple upcoming tasks (with ID >= 'from' ID) based on new context or changes provided in the prompt. Use 'update_task' instead for a single specific task or 'update_subtask' for subtasks.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Path to the tasks file relative to project root | |
| from | Yes | Task ID from which to start updating (inclusive). IMPORTANT: This tool uses 'from', not 'id' | |
| projectRoot | No | The directory of the project. (Optional, usually from session) | |
| prompt | Yes | Explanation of changes or new context to apply | |
| research | No | Use Perplexity AI for research-backed updates | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the tool updates 'multiple upcoming tasks' and uses a 'from' ID parameter, but doesn't disclose important behavioral traits like whether this is a destructive operation, what permissions are needed, how errors are handled, or what the response looks like. The description adds some context but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with only two sentences. The first sentence states the purpose and scope, the second provides clear usage guidelines. Every word earns its place with no redundancy or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (batch updates with 6 parameters) and lack of annotations/output schema, the description is incomplete. While it covers purpose and sibling differentiation well, it doesn't address behavioral aspects like mutation consequences, error handling, or response format that would be crucial for safe agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds minimal value beyond the schema by mentioning the 'from' parameter in the purpose statement, but doesn't provide additional semantic context about how parameters interact or their practical usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Update multiple upcoming tasks (with ID >= 'from' ID) based on new context or changes provided in the prompt.' It specifies the verb ('update'), resource ('multiple upcoming tasks'), scope ('with ID >= 'from' ID'), and distinguishes from siblings 'update_task' and 'update_subtask'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage guidelines: 'Use 'update_task' instead for a single specific task or 'update_subtask' for subtasks.' This clearly states when to use this tool versus alternatives, making it easy for an agent to select the correct tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_subtaskA
Appends timestamped information to a specific subtask without replacing existing content. If you just want to update the subtask status, use set_task_status instead.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Absolute path to the tasks file | |
| id | Yes | ID of the subtask to update in format "parentId.subtaskId" (e.g., "5.2"). Parent ID is the ID of the task that contains the subtask. | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| prompt | Yes | Information to add to the subtask | |
| research | No | Use Perplexity AI for research-backed updates | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the append-only behavior ('without replacing existing content') and timestamping, which are valuable behavioral traits. However, it doesn't address permissions, error conditions, or what happens if the subtask doesn't exist, leaving some behavioral aspects unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both essential: first defines the core operation, second provides critical usage guidance. No wasted words, perfectly front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description provides good context about the append behavior and sibling differentiation. However, it doesn't describe what the tool returns or error scenarios, which would be helpful given the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema, which is acceptable given the comprehensive schema coverage. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('appends timestamped information') and resource ('to a specific subtask'), with explicit distinction from sibling tool 'set_task_status' for status updates. It precisely defines the operation without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool ('appends... without replacing existing content') versus when to use an alternative ('If you just want to update the subtask status, use set_task_status instead'). This clearly distinguishes it from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_taskC
Updates a single task by ID with new information or context provided in the prompt.
| Name | Required | Description | Default |
|---|---|---|---|
| append | No | Append timestamped information to task details instead of full update | |
| file | No | Absolute path to the tasks file | |
| id | Yes | ID of the task (e.g., '15') to update. Subtasks are supported using the update-subtask tool. | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| prompt | Yes | New information or context to incorporate into the task | |
| research | No | Use Perplexity AI for research-backed updates | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'updates' a task, implying a mutation, but doesn't clarify critical aspects like permission requirements, whether updates are reversible, how conflicts are handled, or what the response looks like. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior and potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the core action: 'Updates a single task by ID with new information or context provided in the prompt.' It is front-loaded with the main purpose, avoids redundancy, and uses no unnecessary words, making it highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, mutation operation) and lack of annotations or output schema, the description is insufficiently complete. It doesn't address behavioral risks, error conditions, or output expectations. For a task-update tool in a system with many sibling tools (e.g., 'update_subtask', 'set_task_status'), more context is needed to guide proper selection and usage, leaving the agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'new information or context provided in the prompt,' which loosely relates to the 'prompt' parameter, but adds minimal semantic value beyond the schema. With 100% schema description coverage, the schema already documents all 7 parameters thoroughly. The description doesn't explain parameter interactions (e.g., how 'append' modifies 'prompt' behavior) or provide usage examples, so it meets the baseline but doesn't enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Updates a single task by ID with new information or context provided in the prompt.' It specifies the verb ('Updates'), resource ('a single task'), and key identifier ('by ID'), making the action unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'update_subtask' or 'set_task_status', which would require a more specific comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal guidance on when to use this tool. It mentions 'Subtasks are supported using the update-subtask tool' in the input schema, but this is not part of the description text itself. The description lacks explicit when-to-use scenarios, prerequisites, or comparisons to alternatives like 'update_subtask' or 'set_task_status', leaving the agent with little contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
use_tagC
Switch to a different tag context for task operations
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Path to the tasks file (default: tasks/tasks.json) | |
| name | Yes | Name of the tag to switch to | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions switching context but doesn't explain what this entails—whether it's a temporary change, affects other operations, has side effects, or requires specific permissions. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and wastes no space, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of context-switching operations and the lack of annotations and output schema, the description is insufficient. It doesn't clarify what 'tag context' means, how it impacts task operations, or what the expected outcome is, leaving critical gaps for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, providing clear documentation for all parameters (file, name, projectRoot). The description adds no additional meaning beyond the schema, such as explaining how 'name' relates to tags or the implications of switching context. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Switch to') and the resource ('tag context for task operations'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_tags' or 'rename_tag' in terms of functionality, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'list_tags' or 'add_tag', nor does it mention any prerequisites or exclusions. It lacks context for decision-making, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_dependenciesA
Check tasks for dependency issues (like circular references or links to non-existent tasks) without making changes.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Absolute path to the tasks file | |
| projectRoot | Yes | The directory of the project. Must be an absolute path. | |
| tag | No | Tag context to operate on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the non-destructive behavior ('without making changes'), which is valuable. However, it lacks details on what specific dependency issues are checked (e.g., circular references, links to non-existent tasks are only implied), error handling, or output format, leaving gaps in behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose and includes a critical behavioral constraint ('without making changes'). Every word earns its place with no redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description adequately covers the purpose and non-destructive nature but lacks details on what specific issues are validated (only implied), error scenarios, or return values. For a validation tool with three parameters, it's minimally viable but leaves contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description does not add any parameter-specific information beyond what the schema provides (e.g., it doesn't explain how 'tag' interacts with dependency checking). Baseline 3 is appropriate when the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Check tasks for dependency issues') and resource ('tasks'), distinguishing it from siblings like 'fix_dependencies' (which makes changes) and 'analyze_project_complexity' (which focuses on complexity rather than validation). The phrase 'without making changes' further differentiates it from mutation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('Check tasks for dependency issues') and when not to use it ('without making changes'), clearly distinguishing it from alternatives like 'fix_dependencies' (which would resolve issues) and 'analyze_project_complexity' (which assesses complexity rather than validation).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
36 tool updates
v1.0.0- First observed
add_dependency - First observed
add_subtask - First observed
add_tag - First observed
add_task - First observed
analyze_project_complexity - First observed
clear_subtasks - First observed
complexity_report - First observed
copy_tag - First observed
delete_tag - First observed
expand_all - First observed
expand_task - First observed
fix_dependencies - First observed
generate - First observed
get_task - First observed
get_tasks - First observed
initialize_project - First observed
list_tags - First observed
models - First observed
move_task - First observed
next_task - First observed
parse_prd - First observed
remove_dependency - First observed
remove_subtask - First observed
remove_task - First observed
rename_tag - First observed
research - First observed
response-language - First observed
rules - First observed
scope_down_task - First observed
scope_up_task - First observed
set_task_status - First observed
update - First observed
update_subtask - First observed
update_task - First observed
use_tag - First observed
validate_dependencies
TDQS
The tool set has clear distinctions for core task operations like add_task, get_task, and update_task, but there is significant overlap in complexity management tools (expand_task, expand_all, scope_up_task, scope_down_task, analyze_project_complexity, complexity_report) and in update operations (update, update_task, update_subtask), which could confuse agents about which to use. Descriptions help clarify some differences, but the boundaries are fuzzy.
Most tools follow a consistent verb_noun or verb_adjective_noun pattern (e.g., add_task, get_tasks, set_task_status), with clear and readable names. There are minor deviations like 'models' and 'response-language' that use different conventions, but overall the naming is predictable and aids usability.
With 36 tools, the count is excessive for a task management server, leading to a heavy and potentially overwhelming interface. While the domain is broad, many tools (e.g., expand_all, scope_up_task, complexity_report) could be consolidated or made optional, making the set feel bloated and difficult to navigate efficiently.
The tool surface provides comprehensive coverage for task management, including full CRUD operations (add_task, get_task, update_task, remove_task), dependency handling, tagging, subtask management, project initialization, and advanced features like AI integration and complexity analysis. There are no obvious gaps; agents can handle end-to-end workflows without dead ends.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI-native Kanban board — connect Claude to claim, work and move your tasks over MCP.
- DazbenchOAuthapp.dazbench
Task management your AI agents can actually run. One line becomes a context-ready task over MCP.
Work management where AI agents are first-class members: tasks, projects, memory over hosted MCP
Task & board management for AI agents + humans. Kanban, comments, digests via MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceA comprehensive and efficient Model Context Protocol server for task management that works with Claude, Cursor, and other MCP clients, providing powerful search, filtering, and organization capabilities across multiple file formats.510647MIT
- AlicenseAqualityDmaintenancePersistent, cross-session task management for Claude Code. 24 MCP tools for tasks, projects, dependencies, and docs. 7 skills for planning, standups, and handoffs. Event-sourced storage with per-project isolation.5MIT
- AlicenseAqualityAmaintenanceLocal-first task management with CLI, TUI, and REST API. MCP server enables Claude to manage tasks, track time, optimize schedules, and handle dependencies.26351MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive project management and workflow tracking system that integrates with Claude Code via MCP, automatically capturing sessions, tools, agents, and project tasks into a centralized dashboard and database.20MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/eyaltoledano/claude-task-master'
If you have feedback or need assistance with the MCP directory API, please join our Discord server