The Software Planning Tool MCP server enables structured software development planning by providing interactive planning sessions and task management capabilities. It offers tools to create and track development todos with complexity scoring, manage implementation plans, and organize project breakdowns through features like status updates, code example attachment, and plan persistence. The server helps development teams systematize project planning and progress tracking within Claude Desktop or other MCP-compatible clients.
A Model Context Protocol (MCP) server designed to facilitate software development planning through an interactive, structured approach. This tool helps break down complex software projects into manageable tasks, track implementation progress, and maintain detailed development plans.
To install Software Planning Tool for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @NightTrek/Software-planning-mcp --client claude
pnpm install
pnpm run build
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):{
"mcpServers": {
"software-planning-tool": {
"command": "node",
"args": [
"/path/to/software-planning-tool/build/index.js"
],
"disabled": false,
"autoApprove": []
}
}
}
Start a new planning session with a specific goal.
{
goal: string // The software development goal to plan
}
Add a new todo item to the current plan.
{
title: string, // Title of the todo item
description: string, // Detailed description
complexity: number, // Complexity score (0-10)
codeExample?: string // Optional code example
}
Retrieve all todos in the current plan.
// No parameters required
Update the completion status of a todo item.
{
todoId: string, // ID of the todo item
isComplete: boolean // New completion status
}
Save the current implementation plan.
{
plan: string // The implementation plan text
}
Remove a todo item from the current plan.
{
todoId: string // ID of the todo item to remove
}
Here's a complete example of using the software planning tool:
await client.callTool("software-planning-tool", "start_planning", {
goal: "Create a React-based dashboard application"
});
const todo = await client.callTool("software-planning-tool", "add_todo", {
title: "Set up project structure",
description: "Initialize React project with necessary dependencies",
complexity: 3,
codeExample: `
npx create-react-app dashboard
cd dashboard
npm install @material-ui/core @material-ui/icons
`
});
await client.callTool("software-planning-tool", "update_todo_status", {
todoId: todo.id,
isComplete: true
});
await client.callTool("software-planning-tool", "save_plan", {
plan: `
# Dashboard Implementation Plan
## Phase 1: Setup (Complexity: 3)
- Initialize React project
- Install dependencies
- Set up routing
## Phase 2: Core Features (Complexity: 5)
- Implement authentication
- Create dashboard layout
- Add data visualization components
`
});
software-planning-tool/
├── src/
│ ├── index.ts # Main server implementation
│ ├── prompts.ts # Planning prompts and templates
│ ├── storage.ts # Data persistence
│ └── types.ts # TypeScript type definitions
├── build/ # Compiled JavaScript
├── package.json
└── tsconfig.json
pnpm run build
Test all features using the MCP inspector:
pnpm run inspector
MIT
Made with ❤️ using the Model Context Protocol