feat: implement add-task MCP command

- Create direct function wrapper in add-task.js with prompt and dependency handling

- Add MCP tool integration for creating new tasks via AI

- Update task-master-core.js to expose addTaskDirect function

- Update changeset to document the new command
This commit is contained in:
Eyal Toledano
2025-03-31 12:50:14 -04:00
parent 5296e50b6a
commit 1bb1309ef8
7 changed files with 140 additions and 22 deletions

View File

@@ -604,7 +604,7 @@ Following MCP implementation standards:
- Unit test for expandTaskDirect.js
- Integration test for MCP tool
## 25. Implement add-task MCP command [in-progress]
## 25. Implement add-task MCP command [done]
### Dependencies: None
### Description: Create direct function wrapper and MCP tool for adding new tasks.
### Details:

View File

@@ -1573,7 +1573,7 @@
"title": "Implement add-task MCP command",
"description": "Create direct function wrapper and MCP tool for adding new tasks.",
"details": "Following MCP implementation standards:\n\n1. Create addTaskDirect.js in mcp-server/src/core/direct-functions/:\n - Import addTask from task-manager.js\n - Handle file paths using findTasksJsonPath utility\n - Process arguments: prompt, priority, dependencies\n - Validate inputs and handle errors with try/catch\n - Return standardized { success, data/error } object\n\n2. Export from task-master-core.js:\n - Import the function from its file\n - Add to directFunctions map\n\n3. Create add-task.js MCP tool in mcp-server/src/tools/:\n - Import z from zod for parameter schema\n - Import executeMCPToolAction from ./utils.js\n - Import addTaskDirect from task-master-core.js\n - Define parameters matching CLI options using zod schema\n - Implement registerAddTaskTool(server) with server.addTool\n - Use executeMCPToolAction in execute method\n\n4. Register in tools/index.js with tool name 'add_task'\n\n5. Add to .cursor/mcp.json with appropriate schema\n\n6. Write tests following testing guidelines:\n - Unit test for addTaskDirect.js\n - Integration test for MCP tool",
"status": "in-progress",
"status": "done",
"dependencies": [],
"parentTaskId": 23
},