Skip to content

Commit bf4515b

Browse files
feat: change default MCP tool tier from 'all' to 'core' (#1490)
1 parent b0199f1 commit bf4515b

File tree

10 files changed

+123
-60
lines changed

10 files changed

+123
-60
lines changed

.taskmaster/CLAUDE.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ Task Master provides an MCP server that Claude Code can connect to. Configure in
9191
"command": "npx",
9292
"args": ["-y", "task-master-ai"],
9393
"env": {
94+
"TASK_MASTER_TOOLS": "core",
9495
"ANTHROPIC_API_KEY": "your_key_here",
9596
"PERPLEXITY_API_KEY": "your_key_here",
9697
"OPENAI_API_KEY": "OPENAI_API_KEY_HERE",
@@ -106,6 +107,24 @@ Task Master provides an MCP server that Claude Code can connect to. Configure in
106107
}
107108
```
108109

110+
### MCP Tool Tiers
111+
112+
Task Master uses tiered tool loading to optimize context window usage:
113+
114+
| Tier | Tools | Use Case |
115+
|------|-------|----------|
116+
| `core` | 7 | Minimal daily workflow tools (default) |
117+
| `standard` | 14 | Common task management |
118+
| `all` | 44+ | Full suite with research, autopilot, dependencies |
119+
120+
**Core tools (7):** `get_tasks`, `next_task`, `get_task`, `set_task_status`, `update_subtask`, `parse_prd`, `expand_task`
121+
122+
**Standard adds (7 more):** `initialize_project`, `analyze_project_complexity`, `expand_all`, `add_subtask`, `remove_task`, `add_task`, `complexity_report`
123+
124+
**All tier adds:** Dependency management, tag management, research, autopilot TDD workflow, scope up/down, models, rules
125+
126+
**To upgrade tiers:** Change `TASK_MASTER_TOOLS` in `.mcp.json` from `"core"` to `"standard"` or `"all"` and restart the MCP connection.
127+
109128
### Essential MCP Tools
110129

111130
```javascript

apps/docs/capabilities/mcp.mdx

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,27 +19,7 @@ To optimize LLM context usage, you can control which Task Master MCP tools are l
1919

2020
### Configuration Modes
2121

22-
#### All Tools (Default)
23-
Loads all 36 available tools. Use when you need full Task Master functionality.
24-
25-
```json
26-
{
27-
"mcpServers": {
28-
"task-master-ai": {
29-
"command": "npx",
30-
"args": ["-y", "task-master-ai"],
31-
"env": {
32-
"TASK_MASTER_TOOLS": "all",
33-
"ANTHROPIC_API_KEY": "your_key_here"
34-
}
35-
}
36-
}
37-
}
38-
```
39-
40-
If `TASK_MASTER_TOOLS` is not set, all tools are loaded by default.
41-
42-
#### Core Tools (Lean Mode)
22+
#### Core Tools (Default, Lean Mode)
4323
Loads only 7 essential tools for daily development. Ideal for minimal context usage.
4424

4525
**Core tools included:**
@@ -66,7 +46,7 @@ Loads only 7 essential tools for daily development. Ideal for minimal context us
6646
}
6747
```
6848

69-
You can also use `"lean"` as an alias for `"core"`.
49+
You can also use `"lean"` as an alias for `"core"`. If `TASK_MASTER_TOOLS` is not set, core tools are loaded by default.
7050

7151
#### Standard Tools
7252
Loads 15 commonly used tools. Balances functionality with context efficiency.
@@ -114,9 +94,27 @@ Specify exactly which tools to load using a comma-separated list. Tool names are
11494
}
11595
```
11696

97+
#### All Tools
98+
Loads all 36 available tools. Use when you need full Task Master functionality.
99+
100+
```json
101+
{
102+
"mcpServers": {
103+
"task-master-ai": {
104+
"command": "npx",
105+
"args": ["-y", "task-master-ai"],
106+
"env": {
107+
"TASK_MASTER_TOOLS": "all",
108+
"ANTHROPIC_API_KEY": "your_key_here"
109+
}
110+
}
111+
}
112+
}
113+
```
114+
117115
### Choosing the Right Configuration
118116

119-
- **Use `core`/`lean`**: When working with basic task management workflows or when context limits are strict
117+
- **Use `core`/`lean`**: Default setting, ideal for basic task management workflows or when context limits are strict
120118
- **Use `standard`**: For most development workflows that include task creation and analysis
121119
- **Use `all`**: When you need full functionality including tag management, dependencies, and advanced features
122120
- **Use custom list**: When you have specific tool requirements or want to experiment with minimal sets

apps/docs/getting-started/quick-start/configuration-quick.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ For MCP/Cursor usage: Configure keys in the env section of your .cursor/mcp.json
4141
**Optimize Context Usage**: You can control which Task Master MCP tools are loaded using the `TASK_MASTER_TOOLS` environment variable. This helps reduce LLM context usage by only loading the tools you need.
4242

4343
Options:
44-
- `all` (default) - All 36 tools
44+
- `core` or `lean` (default) - 7 essential tools
4545
- `standard` - 15 commonly used tools
46-
- `core` or `lean` - 7 essential tools
46+
- `all` - All 36 tools
4747

4848
Example:
4949
```json

assets/AGENTS.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ Task Master provides an MCP server that Claude Code can connect to. Configure in
9292
"command": "npx",
9393
"args": ["-y", "task-master-ai"],
9494
"env": {
95+
"TASK_MASTER_TOOLS": "core",
9596
"ANTHROPIC_API_KEY": "your_key_here",
9697
"PERPLEXITY_API_KEY": "your_key_here",
9798
"OPENAI_API_KEY": "OPENAI_API_KEY_HERE",
@@ -107,6 +108,18 @@ Task Master provides an MCP server that Claude Code can connect to. Configure in
107108
}
108109
```
109110

111+
### MCP Tool Tiers
112+
113+
Default: `core` (7 tools). Set via `TASK_MASTER_TOOLS` env var.
114+
115+
| Tier | Count | Tools |
116+
|------|-------|-------|
117+
| `core` | 7 | `get_tasks`, `next_task`, `get_task`, `set_task_status`, `update_subtask`, `parse_prd`, `expand_task` |
118+
| `standard` | 14 | core + `initialize_project`, `analyze_project_complexity`, `expand_all`, `add_subtask`, `remove_task`, `add_task`, `complexity_report` |
119+
| `all` | 44+ | standard + dependencies, tags, research, autopilot, scoping, models, rules |
120+
121+
**Upgrade when tool unavailable:** Edit MCP config, change `TASK_MASTER_TOOLS` from `"core"` to `"standard"` or `"all"`, restart MCP.
122+
110123
### Essential MCP Tools
111124

112125
```javascript

assets/rules/taskmaster.mdc

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -555,4 +555,18 @@ Environment variables are used **only** for sensitive API keys related to AI pro
555555

556556
---
557557

558+
## MCP Tool Tiers
559+
560+
Default: `core` (7 tools). Set via `TASK_MASTER_TOOLS` env var in MCP config.
561+
562+
| Tier | Count | Tools |
563+
|------|-------|-------|
564+
| `core` | 7 | `get_tasks`, `next_task`, `get_task`, `set_task_status`, `update_subtask`, `parse_prd`, `expand_task` |
565+
| `standard` | 14 | core + `initialize_project`, `analyze_project_complexity`, `expand_all`, `add_subtask`, `remove_task`, `add_task`, `complexity_report` |
566+
| `all` | 44+ | standard + dependencies, tags, research, autopilot, scoping, models, rules |
567+
568+
**Upgrade when tool unavailable:** Edit MCP config (`.cursor/mcp.json`, `.mcp.json`, or `.vscode/mcp.json`), change `TASK_MASTER_TOOLS` from `"core"` to `"standard"` or `"all"`, restart MCP.
569+
570+
---
571+
558572
For details on how these commands fit into the development process, see the [Development Workflow Guide](mdc:.cursor/rules/dev_workflow.mdc).

docs/configuration.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,21 +70,20 @@ The `TASK_MASTER_TOOLS` environment variable controls which tools are loaded by
7070

7171
#### Configuration Options
7272

73-
- **`all`** (default): Loads all 36 available tools (~21,000 tokens)
74-
- Best for: Users who need the complete feature set
75-
- Use when: Working with complex projects requiring all Task Master features
76-
- Backward compatibility: This is the default to maintain compatibility with existing installations
73+
- **`core`** (default, or `lean`): Loads 7 essential tools (~5,000 tokens, 70% reduction)
74+
- Best for: Daily development with minimal token overhead
75+
- Tools included: `get_tasks`, `next_task`, `get_task`, `set_task_status`, `update_subtask`, `parse_prd`, `expand_task`
76+
- Use when: Working in large contexts where token usage is critical
77+
- Note: "lean" is an alias for "core" (same tools)
7778

7879
- **`standard`**: Loads 15 commonly used tools (~10,000 tokens, 50% reduction)
7980
- Best for: Regular task management workflows
8081
- Tools included: All core tools plus project initialization, complexity analysis, task generation, and more
8182
- Use when: You need a balanced set of features with reduced token usage
8283

83-
- **`core`** (or `lean`): Loads 7 essential tools (~5,000 tokens, 70% reduction)
84-
- Best for: Daily development with minimal token overhead
85-
- Tools included: `get_tasks`, `next_task`, `get_task`, `set_task_status`, `update_subtask`, `parse_prd`, `expand_task`
86-
- Use when: Working in large contexts where token usage is critical
87-
- Note: "lean" is an alias for "core" (same tools, token estimate and recommended use). You can refer to it as either "core" or "lean" when configuring.
84+
- **`all`**: Loads all 36 available tools (~21,000 tokens)
85+
- Best for: Users who need the complete feature set
86+
- Use when: Working with complex projects requiring all Task Master features
8887

8988
- **Custom list**: Comma-separated list of specific tool names
9089
- Best for: Specialized workflows requiring specific tools
@@ -124,7 +123,7 @@ The `TASK_MASTER_TOOLS` environment variable controls which tools are loaded by
124123

125124
#### Tool Loading Behavior
126125

127-
- When `TASK_MASTER_TOOLS` is unset or empty, the system defaults to `"all"`
126+
- When `TASK_MASTER_TOOLS` is unset or empty, the system defaults to `"core"`
128127
- Invalid tool names in a user-specified list are ignored (a warning is emitted for each)
129128
- If every tool name in a custom list is invalid, the system falls back to `"all"`
130129
- Tool names are case-insensitive (e.g., `"CORE"`, `"core"`, and `"Core"` are treated identically)

mcp-server/src/tools/index.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ import {
1515

1616
/**
1717
* Helper function to safely read and normalize the TASK_MASTER_TOOLS environment variable
18-
* @returns {string} The tools configuration string, defaults to 'all'
18+
* @returns {string} The tools configuration string, defaults to 'core'
1919
*/
2020
export function getToolsConfiguration() {
2121
const rawValue = process.env.TASK_MASTER_TOOLS;
2222

2323
if (!rawValue || rawValue.trim() === '') {
24-
logger.debug('No TASK_MASTER_TOOLS env var found, defaulting to "all"');
25-
return 'all';
24+
logger.debug('No TASK_MASTER_TOOLS env var found, defaulting to "core"');
25+
return 'core';
2626
}
2727

2828
const normalizedValue = rawValue.trim();
@@ -37,7 +37,7 @@ export function getToolsConfiguration() {
3737
* @param {string} toolMode - The tool mode configuration (defaults to 'all')
3838
* @returns {Object} Object containing registered tools, failed tools, and normalized mode
3939
*/
40-
export function registerTaskMasterTools(server, toolMode = 'all') {
40+
export function registerTaskMasterTools(server, toolMode = 'core') {
4141
const registeredTools = [];
4242
const failedTools = [];
4343

package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/utils/create-mcp-config.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,15 @@ export function setupMCPConfiguration(projectRoot, mcpConfigPath) {
4242
log('info', `Setting up MCP configuration at ${mcpPath}...`);
4343

4444
// New MCP config to be added - references the installed package
45+
// TASK_MASTER_TOOLS: "core" loads essential daily workflow tools (7 tools, default)
46+
// Options: "core" (7 essential tools), "standard" (14 common tools), "all" (44+ tools)
47+
// See agent rules for tool tier details and how to upgrade if needed
4548
const newMCPServer = {
4649
'task-master-ai': {
4750
command: 'npx',
4851
args: ['-y', 'task-master-ai'],
4952
env: {
53+
TASK_MASTER_TOOLS: 'core',
5054
ANTHROPIC_API_KEY: 'YOUR_ANTHROPIC_API_KEY_HERE',
5155
PERPLEXITY_API_KEY: 'YOUR_PERPLEXITY_API_KEY_HERE',
5256
OPENAI_API_KEY: 'YOUR_OPENAI_KEY_HERE',
@@ -158,7 +162,7 @@ export function removeTaskMasterMCPConfiguration(projectRoot, mcpConfigPath) {
158162

159163
const mcpPath = path.join(projectRoot, mcpConfigPath);
160164

161-
let result = {
165+
const result = {
162166
success: false,
163167
removed: false,
164168
deleted: false,

0 commit comments

Comments
 (0)