@kazuph/mcp-taskmanager
The @kazuph/mcp-taskmanager server provides a queue-based task management system for Claude Desktop with these capabilities:
Task Planning: Register requests and plan associated tasks
Task Execution: Retrieve and complete tasks sequentially with feedback
Approval System: Require user approval for both individual tasks and overall request completion
Task Management: Add, update, delete, and inspect tasks within requests
Progress Tracking: Display status tables to monitor completion progress
Request Overview: List all active requests with summaries
Click on "Deploy 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., "@@kazuph/mcp-taskmanager plan and execute tasks: write report, send emails, review documents"
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.
MCP TaskManager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Quick Start (For Users)
Prerequisites
Node.js 18+ (install via
brew install node)Claude Desktop (install from https://claude.ai/desktop)
Configuration
Open your Claude Desktop configuration file at:
~/Library/Application Support/Claude/claude_desktop_config.json
You can find this through the Claude Desktop menu:
Open Claude Desktop
Click Claude on the Mac menu bar
Click "Settings"
Click "Developer"
Add the following to your configuration:
{
"tools": {
"taskmanager": {
"command": "npx",
"args": ["-y", "@kazuph/mcp-taskmanager"]
}
}
}Related MCP server: Todoist MCP Server
For Developers
Prerequisites
Node.js 18+ (install via
brew install node)Claude Desktop (install from https://claude.ai/desktop)
tsx (install via
npm install -g tsx)
Installation
git clone https://github.com/kazuph/mcp-taskmanager.git
cd mcp-taskmanager
npm install
npm run buildDevelopment Configuration
Make sure Claude Desktop is installed and running.
Install tsx globally if you haven't:
npm install -g tsx
# or
pnpm add -g tsxModify your Claude Desktop config located at:
~/Library/Application Support/Claude/claude_desktop_config.json
Add the following to your MCP client's configuration:
{
"tools": {
"taskmanager": {
"args": ["tsx", "/path/to/mcp-taskmanager/index.ts"]
}
}
}Available Operations
The TaskManager supports two main phases of operation:
Planning Phase
Accepts a task list (array of strings) from the user
Stores tasks internally as a queue
Returns an execution plan (task overview, task ID, current queue status)
Execution Phase
Returns the next task from the queue when requested
Provides feedback mechanism for task completion
Removes completed tasks from the queue
Prepares the next task for execution
Parameters
action: "plan" | "execute" | "complete"tasks: Array of task strings (required for "plan" action)taskId: Task identifier (required for "complete" action)getNext: Boolean flag to request next task (for "execute" action)
Example Usage
// Planning phase
{
action: "plan",
tasks: ["Task 1", "Task 2", "Task 3"]
}
// Execution phase
{
action: "execute",
getNext: true
}
// Complete task
{
action: "complete",
taskId: "task-123"
}Available Tools
10 toolsadd_tasks_to_requestC
Add new tasks to an existing request. This allows extending a request with additional tasks.
A progress table will be displayed showing all tasks including the newly added ones.
Inputs: requestId (required), tasks (required).
approve_request_completionA
After all tasks are done and approved, this tool finalizes the entire request. The user must call this to confirm that the request is fully completed.
A progress table showing the final status of all tasks will be displayed before requesting final approval.
If not approved, the user can add new tasks using 'request_planning' and continue the process.
Inputs: requestId (required).
approve_task_completionA
Once the assistant has marked a task as done using 'mark_task_done', the user must call this tool to approve that the task is genuinely completed. Only after this approval can you proceed to 'get_next_task' to move on.
A progress table will be displayed before requesting approval, showing the current status of all tasks.
If the user does not approve, do not call 'get_next_task'. Instead, the user may request changes, or even re-plan tasks by using 'request_planning' again.
Inputs: requestId (required), taskId (required).
delete_taskB
Delete a specific task from a request. Only uncompleted tasks can be deleted.
A progress table will be displayed showing the remaining tasks after deletion.
Inputs: requestId (required), taskId (required).
get_next_taskA
Given a 'requestId', return the next pending task (not done yet). If all tasks are completed, it will indicate that no more tasks are left and that you must wait for the request completion approval.
A progress table showing the current status of all tasks will be displayed with each response.
If the same task is returned again or if no new task is provided after a task was marked as done but not yet approved, you MUST NOT proceed. In such a scenario, you must prompt the user for approval via 'approve_task_completion' before calling 'get_next_task' again. Do not skip the user's approval step. In other words:
After calling 'mark_task_done', do not call 'get_next_task' again until 'approve_task_completion' is called by the user.
If 'get_next_task' returns 'all_tasks_done', it means all tasks have been completed. At this point, you must not start a new request or do anything else until the user decides to 'approve_request_completion' or possibly add more tasks via 'request_planning'.
Inputs: requestId (required).
list_requestsB
List all requests with their basic information and summary of tasks. This provides a quick overview of all requests in the system.
Inputs: no named parameters.
mark_task_doneA
Mark a given task as done after you've completed it. Provide 'requestId' and 'taskId', and optionally 'completedDetails'.
After marking a task as done, a progress table will be displayed showing the updated status of all tasks.
After this, DO NOT proceed to 'get_next_task' again until the user has explicitly approved this completed task using 'approve_task_completion'.
Inputs: requestId (required), taskId (required), completedDetails.
open_task_detailsB
Get details of a specific task by 'taskId'. This is for inspecting task information at any point.
Inputs: taskId (required).
request_planningA
Register a new user request and plan its associated tasks. You must provide 'originalRequest' and 'tasks', and optionally 'splitDetails'.
This tool initiates a new workflow for handling a user's request. The workflow is as follows:
Use 'request_planning' to register a request and its tasks.
After adding tasks, you MUST use 'get_next_task' to retrieve the first task. A progress table will be displayed.
Use 'get_next_task' to retrieve the next uncompleted task.
IMPORTANT: After marking a task as done, the assistant MUST NOT proceed to another task without the user's approval. The user must explicitly approve the completed task using 'approve_task_completion'. A progress table will be displayed before each approval request.
Once a task is approved, you can proceed to 'get_next_task' again to fetch the next pending task.
Repeat this cycle until all tasks are done.
After all tasks are completed (and approved), 'get_next_task' will indicate that all tasks are done and that the request awaits approval for full completion.
The user must then approve the entire request's completion using 'approve_request_completion'. If the user does not approve and wants more tasks, you can again use 'request_planning' to add new tasks and continue the cycle.
The critical point is to always wait for user approval after completing each task and after all tasks are done, wait for request completion approval. Do not proceed automatically.
Inputs: originalRequest (required), tasks (required), splitDetails.
update_taskB
Update an existing task's title and/or description. Only uncompleted tasks can be updated.
A progress table will be displayed showing the updated task information.
Inputs: requestId (required), taskId (required), description, title.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool has a distinct purpose with clear boundaries. For example, 'approve_task_completion' is for approving individual tasks, while 'approve_request_completion' is for finalizing the entire request, and 'mark_task_done' is for marking tasks as done, distinct from approval. There is no overlap that would cause confusion.
All tool names follow a consistent verb_noun pattern with underscores, such as 'add_tasks_to_request', 'approve_request_completion', and 'get_next_task'. The naming is uniform and predictable throughout the set, making it easy to understand each tool's function.
With 10 tools, the server is well-scoped for task management. It covers the full lifecycle of requests and tasks, from creation to completion, without being overly complex or too sparse. Each tool serves a specific role in the workflow, justifying its inclusion.
The tool set provides complete coverage for task management workflows. It includes planning ('request_planning'), task operations (add, update, delete, mark as done, get details, get next), approvals (task and request levels), and listing requests. There are no obvious gaps; agents can handle the entire process from start to finish.
Maintenance
Related MCP Connectors
Headless task management for bots, apps and AI agents. Remote MCP server, OAuth or access token.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Project management MCP for AI agents with safe task reads and writes.
Task management your AI agents can actually run. One line becomes a context-ready task over MCP.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for "taming the Claude" with structured task queues.14134 npm71MIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that enables advanced task and project management in Todoist via Claude Desktop and other MCP-compatible clients.94 npm2MIT
- FlicenseNot gradedqualityDmaintenanceA task management MCP server that provides tools to create, list, complete, and delete tasks using pluggable storage backends. It enables users to interact with their task lists through natural language using MCP-compatible clients like Claude Desktop.-
- FlicenseBqualityDmaintenanceA simple task management server that allows users to add, list, complete, and delete tasks directly within Claude Desktop. It provides a suite of tools for efficient personal task organization using the Model Context Protocol.4-