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.
- Node.js 18+ (install via
brew install node
) - Claude Desktop (install from https://claude.ai/desktop)
- 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"]
}
}
}
- Node.js 18+ (install via
brew install node
) - Claude Desktop (install from https://claude.ai/desktop)
- tsx (install via
npm install -g tsx
)
git clone https://github.com/kazuph/mcp-taskmanager.git
cd mcp-taskmanager
npm install
npm run build
-
Make sure Claude Desktop is installed and running.
-
Install tsx globally if you haven't:
npm install -g tsx
# or
pnpm add -g tsx
- Modify 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"]
}
}
}
The TaskManager supports two main phases of operation:
- 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)
- 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
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)
// Planning phase
{
action: "plan",
tasks: ["Task 1", "Task 2", "Task 3"]
}
// Execution phase
{
action: "execute",
getNext: true
}
// Complete task
{
action: "complete",
taskId: "task-123"
}