The Task Manager MCP Server provides comprehensive task management capabilities for agents through four core functions:
Create tasks (
create_task
): Register new tasks with unique IDs, titles, descriptions, goals, parent-child relationships, and dependencies on other tasksAssess tasks (
assess_task
): Analyze task complexity, break down into subtasks, and identify missing knowledge or uncertainties that require research before executionUpdate tasks (
update_task
): Modify task dependencies and resolve uncertainty areas with status and resolution detailsTransition status (
transition_task_status
): Move tasks between statuses (not-started, in-progress, complete) with outcome details and recommended next tasks, while enforcing dependency requirements
The server enables structured workflow management by tracking task dependencies, organizing subtasks within larger tasks, documenting knowledge gaps, and ensuring tasks are executed in the correct order based on their relationships and completion requirements.
Allows running the task manager in a containerized environment, providing consistent task management capabilities across different systems.
Enables installation and execution of the task manager via NPM packages, with support for registering and managing complex multi-step tasks.
Supports installation and running from source using pnpm package manager for managing task workflows.
Task Manager MCP Server
This MCP server allows agents to manage tasks, including creating tasks with uncertainty areas, updating task dependencies and uncertainty resolution, and transitioning task status through their lifecycle. It provides structured task management capabilities for agents working on complex multi-step problems:
- Create and organize tasks in hierarchical structures with dependencies
- Update tasks with dependency information and uncertainty area tracking
- Track task progression through defined states (not-started, in-progress, complete)
- Manage uncertainty areas by identifying and tracking areas that need resolution before task execution
- Orchestrate workflows with proper dependency validation
The tools have been tested extensively and successfully with VS Code and Claude Sonnet 4. (GPT-4.1 and GPT-5 do not seem to work very well unfortunately.)
Note: When using this MCP server, you should disable the Todo List tool in VS Code.
Tools
create_task
- A tool to create a new task
- Inputs:
title
(string): A concise title for this taskdescription
(string): A detailed description of this taskgoal
(string): The overall goal of this taskdependsOnTaskIDs
(array of strings): Task IDs this task depends on; referenced tasks must already existdefinitionsOfDone
(array of strings): A detailed list of criteria that must be met for this task to be considered completeuncertaintyAreas
(array of objects): Areas requiring clarification, each containing:title
(string): A concise title for this uncertainty areadescription
(string): A description of this uncertainty area
- Behavior:
- Creates one separate task per uncertainty area (status
not-started
), and links those tasks as dependencies of the newly created main task - Uncertainty area tasks are created as readonly tasks with titles like "Resolve uncertainty: {area.title} for task: {taskTitle}"
- Any provided
dependsOnTaskIDs
are also applied as dependencies of each uncertainty-area task - Only one task can be
in-progress
at a time across the entire task tree
- Creates one separate task per uncertainty area (status
- Returns: Confirmation including a list of
tasksCreated
(uncertainty-area tasks first, then the main task) andexecutionConstraints
with constraint information when applicable
update_task
- A tool to update an existing task
- Inputs:
updates
(array of objects): A list of updates to apply to existing tasks, each containing:taskID
(string): The identifier of this tasknewDependsOnTaskIDs
(array of strings): A list of additional task identifiers this task depends onnewDefinitionsOfDone
(array of strings, optional): A detailed list of additional criteria that must be met for this task to be considered completenewUncertaintyAreas
(array of objects): A detailed list of additional areas where there is uncertainty about this task's requirements or execution, each containing:title
(string): A concise title for this uncertainty areadescription
(string): A description of this uncertainty area
- Behavior:
- If
newDefinitionsOfDone
are provided, they are added to the task's existing definitions of done - Creates a separate task for each
newUncertaintyArea
(statusnot-started
), appliesnewDependsOnTaskIDs
to those tasks, and adds these newly created tasks as dependencies of the targettaskID
- If the target task is already
complete
, the operation fails - This operation does not update existing uncertainty-area tasks or their statuses
- If
- Returns: Confirmation including
tasksUpdated
(array of updated tasks) and, if any were created,tasksCreated
, plusexecutionConstraints
with constraint information when applicable
transition_task_status
- A tool to transition the status of a task
- Inputs:
taskID
(string): The identifier of this tasknewStatus
(enum): The new status ("not-started", "in-progress", or "complete")outcomeDetails
(array of strings, optional): Required when transitioning to "complete"verificationEvidence
(array of strings, optional): Required when transitioning to "complete"
- Behavior:
- Allowed transitions:
not-started
→in-progress
in-progress
→complete
(requiresoutcomeDetails
)complete
→in-progress
- To start (
in-progress
), all dependencies of the task must becomplete
- Tasks must have their uncertainty areas updated before they can be started
- Only one task can be
in-progress
at a time across the entire task tree - Before starting a task, it must have its
uncertaintyAreasUpdated
flag set (done viaupdate_task
)
- Allowed transitions:
- Returns: Status transition confirmation including
taskUpdated
andexecutionConstraints
with constraint information when applicable
task_info
- A tool to retrieve full information about a task
- Inputs:
taskID
(string, optional in single agent mode): The identifier of this task
- Behavior:
- In normal mode:
taskID
is required and the tool returns information for the specified task - In single agent mode (when
SINGLE_AGENT=true
): If notaskID
is provided, returns information for the current in-progress task
- In normal mode:
- Returns: The complete stored task object and
executionConstraints
with constraint information when applicable
Single Agent Mode
The task manager supports a special "single agent mode" that can be enabled by setting the environment variable SINGLE_AGENT=true
. In this mode, the server tracks which task is currently in progress, enabling enhanced workflows for single-agent scenarios.
This is useful for long-running agents where the agent loop is compacting/summarizing the agent's conversation history to prevent exceeding the context window limit. In these cases, the agent may "forget" which tasks exist because the task IDs have been removed from the context window. Single agent mode allows the agent to use the task_info
tool without needing to specify a taskID
, enabling it to regain information about the current task tree.
Do not enable single agent mode if you plan to use this MCP server with multiple agents at the same time. If enabled, only one agent should use the MCP server at any one time.
Enabling Single Agent Mode
Set the environment variable before starting the server:
Or in Claude Desktop configuration:
Recommended Agent Prompt Snippets
Instructions section
Task Management tools section
Usage with Claude Desktop (uses stdio Transport)
Add to your claude_desktop_config.json
:
Usage with VS Code
For quick installation, use of of the one-click install buttons below.
For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P
and typing Preferences: Open User Settings (JSON)
.
Optionally, you can add it to a file called .vscode/mcp.json
in your workspace. This will allow you to share the configuration with others.
Note that the
mcp
key is not needed in the.vscode/mcp.json
file.
NPX
Running from source with HTTP+SSE Transport (deprecated as of 2025-03-26)
Run from source with Streamable HTTP Transport
Running as an installed package
Install
Run the default (stdio) server
Or specify stdio explicitly
Run the SSE server
Run the streamable HTTP server
License
This package is licensed under the MIT license.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
This MCP server enables agents to manage complex tasks by providing tools for registration, complexity assessment, breakdown into subtasks, and status tracking throughout the task lifecycle.
- Tools
- Single Agent Mode
- Recommended Agent Prompt Snippets
- Usage with Claude Desktop (uses stdio Transport)
- Usage with VS Code
- Running from source with HTTP+SSE Transport (deprecated as of 2025-03-26)
- Run from source with Streamable HTTP Transport
- Running as an installed package
- License
Related Resources
Related MCP Servers
- -securityAlicense-qualityAn MCP server that converts Cursor agent plans into structured markdown task lists and organizes them in your repository, helping you track AI-generated plans and recommendations as actionable specifications.Last updated -10MIT License
- -securityFlicense-qualityThis MCP server provides tools to interact with the Salesforce Agentforce API, allowing authentication, session creation, and message exchange with Salesforce agents.Last updated -10
- -securityAlicense-qualityAn enhanced MCP server that provides intelligent memory and task management for AI assistants, featuring semantic search, automatic task extraction, and knowledge graphs to help manage development workflows.Last updated -12MIT License
- -securityAlicense-qualityAn MCP server that lets agents and humans monitor and control long-running processes, reducing copy-pasting between AI tools and enabling multiple agents to interact with the same process outputs.Last updated -4MIT License