← MCP servers · eyaltoledano

Task Master

BLOCKgrade F · trust 46/100

An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others.

aicursorcursor aicursorailovablelovable devroocodetask manager

Overview

From the repository's own README, as read at the audited commit.

# ChangesetsThis folder has been automatically generated by `@changesets/cli`, a build tool that works with multi-package repos or single-package repos to help version and publish code. Full documentation is available in the [Changesets repository](https://github.com/changesets/changesets).## What are Changesets?Changesets are a way to track changes to packages in your repository. Each changeset:- Describes the changes you've made- Specifies the type of version bump needed (patch, minor, or major)- Connects these changes with release notes- Automates the versioning and publishing process## How to Use Changesets in Task Master### 2. Making Changes1. Create a new branch for your changes2. Make your code changes3. Write tests and ensure all tests pass### 3. Creating a ChangesetAfter making changes, create a changeset by running:```bashnpx changeset```This will:- Walk you through a CLI to describe your changes- Ask you to select impact level (patch, minor, major)- Create a markdown file in the `.changeset` directory### 4. Impact Level GuidelinesWhen choosing the impact level for your changes:- **Patch**: Bug fixes and minor changes that don't affect how users interact with the system  - Example: Fixing a typo in output text, optimizing code without changing behavior- **Minor**: New features or enhancements that don't break existing functionality  - Example: Adding a new flag to an existing command, adding new task metadata fields- **Major**: Breaking changes that require users to update their usage  - Example: Renaming a command, changing the format of the tasks.json file### 5. Writing Good Changeset DescriptionsYour changeset description should:- Be written for end-users, not developers- Clearly explain what changed and why- Include any migration steps or backward compatibility notes- Reference related issues or pull requests with `#issue-number`Examples:```md# GoodAdded new `--research` flag to the `expand` command that uses Perplexity AIto provide research-backed tas

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add profiles --env ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} --env AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} --env AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} --env AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY} -- npx -y @tm/profiles
claude-desktop
{
  "mcpServers": {
    "profiles": {
      "command": "npx",
      "args": [
        "-y",
        "@tm/profiles"
      ],
      "env": {
        "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}",
        "AWS_ACCESS_KEY_ID": "${AWS_ACCESS_KEY_ID}",
        "AWS_SECRET_ACCESS_KEY": "${AWS_SECRET_ACCESS_KEY}",
        "AZURE_OPENAI_API_KEY": "${AZURE_OPENAI_API_KEY}"
      }
    }
  }
}

Exposed tools (104) 72 read · 24 write · 8 destructive

Blast radius: 8 tools can delete or overwrite. An agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
add_dependencywriteAdd a dependency relationship between two tasks
add_subtaskwriteAdd a subtask to an existing task
add_tagwriteCreate a new tag for organizing tasks in different contexts
add_taskwriteAdd a new task using AI
analyzereadAnalyze codebase
analyze_project_complexityreadAnalyze task complexity and generate expansion recommendations.
authreadManage authentication with tryhamster.com
autopilotwriteAI agent orchestration for TDD workflow (start, resume, next, complete, commit, status, abort)
autopilot_abortdestructiveAbort the current TDD workflow and clean up workflow state. This will remove the workflow state file but will NOT delete the git branch or any code changes.
autopilot_commitwriteCreate a git commit with automatic staging, message generation, and metadata embedding. Generates appropriate commit messages based on subtask context and TDD phase.
autopilot_complete_phasereadComplete the current TDD phase (RED or GREEN) with test result validation. RED phase: expects failures (if 0 failures, feature is already implemented and subtask auto-completes). GREEN phase: expects all tests passing. For COMMIT phase, use autopilot_commit instead.
autopilot_finalizereadFinalize and complete the workflow. Validates that all changes are committed and working tree is clean before marking workflow as complete.
autopilot_nextreadGet the next action to perform in the TDD workflow. Returns detailed context about what needs to be done next, including the current phase, subtask, and expected actions.
autopilot_resumereadResume a previously started TDD workflow from saved state. Restores the workflow state machine and continues from where it left off.
autopilot_startwriteInitialize and start a new TDD workflow for a task. Creates a git branch and sets up the workflow state machine.
autopilot_statusreadGet comprehensive workflow status including current phase, progress, subtask details, and activity history.
briefsreadManage briefs (Hamster only)
clear_subtasksdestructiveClear subtasks from specified tasks
cmdreadTaskMaster command
cmd1readCommand 1
cmd2readSecond command
complexity_reportreadDisplay the complexity analysis report in a readable format
contextreadManage workspace context (organization/brief)
copy_tagwriteCopy an existing tag to create a new tag with all tasks and metadata
delete_tagdestructiveDelete an existing tag and all its tasks
deploywriteDeploy the application
docsreadDocumentation command
emptyreadEmpty command
expand-all-tasksreadExpand All Tasks
expand_allreadExpand all pending tasks into subtasks based on complexity or defaults
expand_taskreadExpand a task into subtasks for detailed implementation
exportreadExport tasks to Hamster by creating a new brief
export-tagreadExport a specific tag to Hamster
fix-dependenciesreadFix Dependencies
fix_dependenciesreadFix invalid dependencies in tasks automatically
formattedreadFormatted command
generatereadGenerate individual task files from tasks.json
generate-tasksreadGenerate Task Files
get_operation_statusreadRetrieves the status and result/error of a background operation.
get_taskreadGet detailed information about a specific task
get_tasksreadGet all tasks from Task Master, optionally filtering by status and including subtasks.
gohamwriteStart Working with Hamster Brief
helpreadShow help
initialize_projectreadInitializes 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.
install-taskmasterwriteInstall TaskMaster
listreadList all tasks with filtering and status overview
list-tasks-with-subtasksreadList Tasks With Subtasks
list_tagsreadList all available tags with task counts and metadata
loginreadLogin to Hamster (alias for
logoutreadLogout from Hamster (alias for
loopwriteRun Claude Code in a loop, one task per iteration
modelswriteGet 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.
move_taskwriteMove a task or subtask to a new position
multireadMultiline command
multilinereadMultiline command
nestedreadNested frontmatter test
nextreadFind the next available task to work on
next_taskreadFind the next task to work on based on dependencies and status
nonexistentreadNon-existent command
only-cmdreadOnly command
parse_prdreadParse 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
plain-testreadPlain test command
quick-install-taskmasterwriteQuick Install TaskMaster
quotedreadCommand with
remove-all-subtasksdestructiveRemove All Subtasks
remove_dependencydestructiveRemove a dependency from a task
remove_subtaskdestructiveRemove a subtask from its parent task
remove_taskdestructiveRemove a task or subtask permanently from the tasks list
rename_tagwriteRename an existing tag
researchreadPerform AI-powered research queries with project context
response-languagewriteGet or set the response language for the project
rulesdestructiveAdd or remove rule profiles from the project.
scope_down_taskreadDecrease the complexity of one or more tasks using AI
scope_up_taskreadIncrease the complexity of one or more tasks using AI
set-statuswriteUpdate the status of one or more tasks
set_task_statuswriteSet the status of one or more tasks or subtasks.
setup-modelsreadSetup Models
showreadDisplay detailed information about a specific task
show-taskreadShow task
specialreadSpecial args
startwriteStart working on a task with claude-code
static-cmdreadStatic command
static-testreadStatic test command
static1readStatic command 1
static2readStatic command 2
tagsreadManage tags for task organization
task-runnerwriteRun automated tasks
testreadTest
test-cmdreadTest command
test-cmd-123readTest with numbers
test-projectreadTest project description
test_underscorereadTest with underscore
tm-cmdreadTaskMaster command
tm-cmd1readTaskMaster command 1
tm-cmd2readTaskMaster command 2
tm-mainreadTask Master Main
updatewriteUpdate multiple upcoming tasks (with ID >=
update_subtaskwriteAppends timestamped information to a specific subtask without replacing existing content. If you just want to update the subtask status, use set_task_status instead.
update_taskwriteUpdates a single task by ID with new information or context provided in the prompt.
use_tagreadSwitch to a different tag context for task operations
validate-dependenciesreadValidate Dependencies
validate_dependenciesreadCheck tasks for dependency issues (like circular references or links to non-existent tasks) without making changes.
view-modelsreadView Models
with-hintreadCommand with hint

Details

Source
eyaltoledano/claude-task-master
npm
@tm/profiles
Credentials it reads
ANTHROPIC_API_KEYAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAZURE_OPENAI_API_KEYCLAUDE_CODE_API_KEYCLAUDE_CODE_OAUTH_TOKENGITHUB_TOKENGOOGLE_API_KEYGOOGLE_APPLICATION_CREDENTIALSGROK_CLI_API_KEYMAX_TOKENSPERPLEXITY_API_KEY
License
NOASSERTION
Stars
28,064 · pushed 137d ago

Trust audit

Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (7 observation(s))
Network
declared (3 observation(s))
Shell
declared (1 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
scripts/modules/prompt-manager.js:280
const func = new Function(...Object.keys(context), `return ${condition}`);
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
docs/configuration.md:579
- **`dangerouslyBypassApprovalsAndSandbox`** (boolean, optional): Bypass all safety checks (dangerous!)
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
HIGHPrompt injection · prompt.override · CWE-94, CWE-1427
docs/providers/codex-cli.md:240
- Bypass all safety checks including approvals and sandbox
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
HIGHPrompt injection · prompt.tool_poisoning · CWE-94, CWE-1427
.taskmaster/docs/autonomous-tdd-git-workflow.md:392
<INSTRUCTION>
Why it matters. a tool description carrying instructions to the agent
Fix. tool descriptions describe the tool; nothing else
HIGHPrompt injection · prompt.tool_poisoning · CWE-94, CWE-1427
.taskmaster/docs/autonomous-tdd-git-workflow.md:437
<INSTRUCTION>
Why it matters. a tool description carrying instructions to the agent
Fix. tool descriptions describe the tool; nothing else
HIGHPrompt injection · prompt.tool_poisoning · CWE-94, CWE-1427
.taskmaster/docs/tdd-workflow-phase-1-core-rails.md:282
'<INSTRUCTION>',
Why it matters. a tool description carrying instructions to the agent
Fix. tool descriptions describe the tool; nothing else
MEDIUMInventory / provenance · inv.binary · CWE-1104
taskmaster.mcpb
taskmaster.mcpb
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
apps/cli/src/commands/auth.command.ts:238
console.log(chalk.gray(`  Token Type: standard`));
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
tests/unit/ai-providers/gemini-cli.test.js:114
apiKey: 'gemini-cli-no-key-required'
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
tests/unit/ai-providers/gemini-cli.test.js:255
await provider.getClient({ apiKey: 'gemini-cli-no-key-required' });
MEDIUMSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
packages/claude-code-plugin/commands/install-taskmaster.md:95
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
autopilot_abort, clear_subtasks, delete_tag, remove-all-subtasks, remove_dependency, remove_subtask, remove_task, rules
Why it matters. 8 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWInventory / provenance · inv.hidden_file · CWE-1104
.coderabbit.yaml
.coderabbit.yaml
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.cursorignore
.cursorignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.manypkg.json
.manypkg.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.mcpbignore
.mcpbignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
apps/extension/.vscodeignore
.vscodeignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
tests/manual/prompts/prompt-test.js:1865
exec(`${command} "${filepath}"`);
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
apps/cli/src/commands/autopilot/abort.command.ts:8
import { getProjectRoot } from '../../utils/project-root.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
apps/cli/src/commands/autopilot/commit.command.ts:7
import { getProjectRoot } from '../../utils/project-root.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
apps/cli/src/commands/autopilot/complete.command.ts:7
import { getProjectRoot } from '../../utils/project-root.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
apps/cli/src/commands/autopilot/finalize.command.ts:7
import { getProjectRoot } from '../../utils/project-root.js';
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
apps/cli/src/commands/autopilot/next.command.ts:7
import { getProjectRoot } from '../../utils/project-root.js';
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/unit/ai-providers/lmstudio.test.js:97
baseURL: 'http://192.168.1.100:1234/v1'
LOWNetwork egress · net.raw_ip · CWE-200, CWE-319
tests/unit/ai-providers/lmstudio.test.js:99
expect(baseURL).toBe('http://192.168.1.100:1234/v1');

Gates applied: instruction_override, no_behavioural_pass.

Audited 2026-09-13 · audit v0.4.0 · source sha 07049f099312 · full audit: observations/trust-audit/mcp-server/eyaltoledano__task-master.json · Report an issue or request a re-scan

Audit history

DateSourceVerdictGradeScoreChange
2026-09-1307049f099312BLOCKF46first audit

Alternatives

Other servers in the same categories, safer ones first.

Questions

What is the Task Master MCP server?

An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others.

What tools does Task Master expose?

104 in total: 72 read-only, 24 that write, and 8 that can delete or overwrite (autopilot_abort, clear_subtasks, delete_tag, remove-all-subtasks, remove_dependency). Every one is listed on this page with its risk.

Is Task Master safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (46/100) and found 6 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 8 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does Task Master need?

It reads ANTHROPIC_API_KEY, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AZURE_OPENAI_API_KEY, CLAUDE_CODE_API_KEY, CLAUDE_CODE_OAUTH_TOKEN, GITHUB_TOKEN, GOOGLE_API_KEY, GOOGLE_APPLICATION_CREDENTIALS, GROK_CLI_API_KEY, MAX_TOKENS and PERPLEXITY_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How current is this page?

The grade is for one exact copy of the source (07049f099312), read on 2026-09-13. The repository is watched and re-audited when it changes.

Provenance: OBSERVED · read 2026-09-13 · job trust-audit-2026-09-13