You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MCP Task Manager ([npm package: taskqueue-mcp](https://www.npmjs.com/package/taskqueue-mcp)) is a Model Context Protocol (MCP) server for AI task management. This tool helps AI assistants handle multi-step tasks in a structured way, with optional user approval checkpoints.
3
+
MCP Task Manager ([npm package: taskqueue-mcp](https://www.npmjs.com/package/taskqueue-mcp)) is a Model Context Protocol (MCP) server for AI task management. This tool helps AI assistants handle multi-step tasks in a structured way, with optional user approval checkpoints.
4
4
5
5
## Features
6
6
@@ -27,22 +27,6 @@ Usually you will set the tool configuration in Claude Desktop, Cursor, or anothe
27
27
}
28
28
```
29
29
30
-
Or, with a custom tasks.json path:
31
-
32
-
```json
33
-
{
34
-
"tools": {
35
-
"taskqueue": {
36
-
"command": "npx",
37
-
"args": ["-y", "taskqueue-mcp"],
38
-
"env": {
39
-
"TASK_MANAGER_FILE_PATH": "/path/to/tasks.json"
40
-
}
41
-
}
42
-
}
43
-
}
44
-
```
45
-
46
30
To use the CLI utility, you can use the following command:
47
31
48
32
```bash
@@ -51,7 +35,7 @@ npx task-manager-cli --help
51
35
52
36
This will show the available commands and options.
53
37
54
-
## Available Operations
38
+
## Available MCP Tools
55
39
56
40
The TaskManager now uses a direct tools interface with specific, purpose-built tools for each operation:
57
41
@@ -143,181 +127,42 @@ This command displays information about all projects in the system or a specific
Using a custom file path for storing task data is not recommended, because you have to remember to set the same path for both the MCP server and the CLI, or they won't be able to coordinate with each other. But if you do want to use a custom path, you can set the `TASK_MANAGER_FILE_PATH` environment variable in your MCP client configuration:
218
142
219
-
```javascript
220
-
// Example of how an LLM would use the mark_task_done tool
143
+
```json
221
144
{
222
-
'mark_task_done': {
223
-
'projectId':"proj-1234",
224
-
'taskId':"task-1",
225
-
'completedDetails':"Created repository at github.com/example/business-site and initialized with HTML5 boilerplate, CSS reset, and basic JS structure."// Required when marking as done
145
+
"tools": {
146
+
"taskqueue": {
147
+
"command": "npx",
148
+
"args": ["-y", "taskqueue-mcp"],
149
+
"env": {
150
+
"TASK_MANAGER_FILE_PATH": "/path/to/tasks.json"
151
+
}
152
+
}
226
153
}
227
154
}
228
-
229
-
// Response will include:
230
-
// {
231
-
// status: "task_marked_done",
232
-
// task: {
233
-
// id: "task-1",
234
-
// title: "Set up project structure",
235
-
// status: "done",
236
-
// approved: false,
237
-
// completedDetails: "Created repository at github.com/example/business-site and initialized with HTML5 boilerplate, CSS reset, and basic JS structure."
238
-
// },
239
-
// message: "Task marked as done"
240
-
// }
241
155
```
242
156
243
-
### Approving a Task (CLI-only operation)
244
-
245
-
This operation can only be performed by the user through the CLI:
157
+
Then, before running the CLI, you should export the same path in your shell:
246
158
247
159
```bash
248
-
npm run approve-task -- proj-1234 task-1
249
-
```
250
-
251
-
After approval, the LLM can check the task status using `read_task` or get the next task using `get_next_task`.
252
-
253
-
### Finalizing a Project
254
-
255
-
```javascript
256
-
// Example of how an LLM would use the finalize_project tool
257
-
// (Called after all tasks are done and approved)
258
-
{
259
-
'finalize_project': {
260
-
'projectId':"proj-1234"
261
-
}
262
-
}
263
-
264
-
// Response will include:
265
-
// {
266
-
// status: "project_finalized",
267
-
// projectId: "proj-1234",
268
-
// message: "Project has been finalized"
269
-
// }
270
-
```
271
-
272
-
## Status Codes and Responses
273
-
274
-
All operations return a status code and message in their response:
275
-
276
-
### Project Tool Statuses
277
-
-`projects_listed`: Successfully listed all projects
278
-
-`planned`: Successfully created a new project
279
-
-`project_deleted`: Successfully deleted a project
280
-
-`tasks_added`: Successfully added tasks to a project
281
-
-`project_finalized`: Successfully finalized a project
└── ruleRecommendations: string # Suggested rules/guidelines to follow for this task
338
183
```
339
184
340
-
The system persists this structure to the JSON file after each operation.
341
-
342
-
**Explanation of Task Properties:**
343
-
344
-
-`id`: A unique identifier for the task
345
-
-`title`: A short, descriptive title for the task
346
-
-`description`: A more detailed explanation of the task
347
-
-`status`: The current status of the task (`not started`, `in progress`, or `done`)
348
-
-`approved`: Indicates whether the task has been approved by the user
349
-
-`completedDetails`: Provides details about the task completion (required when `status` is `done`)
350
-
-`toolRecommendations`: A string containing suggested tools (by name or identifier) that might be helpful for completing this task. The LLM can use this to prioritize which tools to consider.
351
-
-`ruleRecommendations`: A string containing suggested rules or guidelines that should be followed while working on this task. This can include things like "ensure all code is commented," "follow accessibility guidelines," or "use the company style guide". The LLM uses these to improve the quality of its work.
0 commit comments