This commit implements several related improvements to the models command and configuration system: - Added MCP support for the models command: - Created new direct function implementation in models.js - Registered modelsDirect in task-master-core.js for proper export - Added models tool registration in tools/index.js - Ensured project name replacement when copying .taskmasterconfig in init.js - Improved .taskmasterconfig copying during project initialization: - Added copyTemplateFile() call in createProjectStructure() - Ensured project name is properly replaced in the config - Restructured tool registration in logical workflow groups: - Organized registration into 6 functional categories - Improved command ordering to follow typical workflow - Added clear group comments for maintainability - Enhanced documentation in cursor rules: - Updated dev_workflow.mdc with clearer config management instructions - Added comprehensive models command reference to taskmaster.mdc - Clarified CLI vs MCP usage patterns and options - Added warning against manual .taskmasterconfig editing
84 lines
3.0 KiB
JavaScript
84 lines
3.0 KiB
JavaScript
/**
|
|
* tools/index.js
|
|
* Export all Task Master CLI tools for MCP server
|
|
*/
|
|
|
|
import { registerListTasksTool } from './get-tasks.js';
|
|
import logger from '../logger.js';
|
|
import { registerSetTaskStatusTool } from './set-task-status.js';
|
|
import { registerParsePRDTool } from './parse-prd.js';
|
|
import { registerUpdateTool } from './update.js';
|
|
import { registerUpdateTaskTool } from './update-task.js';
|
|
import { registerUpdateSubtaskTool } from './update-subtask.js';
|
|
import { registerGenerateTool } from './generate.js';
|
|
import { registerShowTaskTool } from './get-task.js';
|
|
import { registerNextTaskTool } from './next-task.js';
|
|
import { registerExpandTaskTool } from './expand-task.js';
|
|
import { registerAddTaskTool } from './add-task.js';
|
|
import { registerAddSubtaskTool } from './add-subtask.js';
|
|
import { registerRemoveSubtaskTool } from './remove-subtask.js';
|
|
import { registerAnalyzeTool } from './analyze.js';
|
|
import { registerClearSubtasksTool } from './clear-subtasks.js';
|
|
import { registerExpandAllTool } from './expand-all.js';
|
|
import { registerRemoveDependencyTool } from './remove-dependency.js';
|
|
import { registerValidateDependenciesTool } from './validate-dependencies.js';
|
|
import { registerFixDependenciesTool } from './fix-dependencies.js';
|
|
import { registerComplexityReportTool } from './complexity-report.js';
|
|
import { registerAddDependencyTool } from './add-dependency.js';
|
|
import { registerRemoveTaskTool } from './remove-task.js';
|
|
import { registerInitializeProjectTool } from './initialize-project.js';
|
|
import { registerModelsTool } from './models.js';
|
|
|
|
/**
|
|
* Register all Task Master tools with the MCP server
|
|
* @param {Object} server - FastMCP server instance
|
|
*/
|
|
export function registerTaskMasterTools(server) {
|
|
try {
|
|
// Register each tool in a logical workflow order
|
|
|
|
// Group 1: Initialization & Setup
|
|
registerInitializeProjectTool(server);
|
|
registerModelsTool(server);
|
|
registerParsePRDTool(server);
|
|
|
|
// Group 2: Task Listing & Viewing
|
|
registerListTasksTool(server);
|
|
registerShowTaskTool(server);
|
|
registerNextTaskTool(server);
|
|
registerComplexityReportTool(server);
|
|
|
|
// Group 3: Task Status & Management
|
|
registerSetTaskStatusTool(server);
|
|
registerGenerateTool(server);
|
|
|
|
// Group 4: Task Creation & Modification
|
|
registerAddTaskTool(server);
|
|
registerAddSubtaskTool(server);
|
|
registerUpdateTool(server);
|
|
registerUpdateTaskTool(server);
|
|
registerUpdateSubtaskTool(server);
|
|
registerRemoveTaskTool(server);
|
|
registerRemoveSubtaskTool(server);
|
|
registerClearSubtasksTool(server);
|
|
|
|
// Group 5: Task Analysis & Expansion
|
|
registerAnalyzeTool(server);
|
|
registerExpandTaskTool(server);
|
|
registerExpandAllTool(server);
|
|
|
|
// Group 6: Dependency Management
|
|
registerAddDependencyTool(server);
|
|
registerRemoveDependencyTool(server);
|
|
registerValidateDependenciesTool(server);
|
|
registerFixDependenciesTool(server);
|
|
} catch (error) {
|
|
logger.error(`Error registering Task Master tools: ${error.message}`);
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export default {
|
|
registerTaskMasterTools
|
|
};
|