Software Planning Tool
A tool for structured software development planning, helping to break down projects into tasks and track progress.
Software Planning Tool 🚀
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.
Features ✨
- Interactive Planning Sessions: Start and manage development planning sessions
- Todo Management: Create, update, and track development tasks
- Complexity Scoring: Assign complexity scores to tasks for better estimation
- Code Examples: Include relevant code snippets in task descriptions
- Implementation Plans: Save and manage detailed implementation plans
Installation 🛠️
Installing via Smithery
To install Software Planning Tool for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @NightTrek/Software-planning-mcp --client claude
Manual Installation
- Clone the repository
- Install dependencies:
pnpm install
- Build the project:
pnpm run build
- Add to your MCP settings configuration (typically located at
~/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": []
}
}
}
Available Tools 🔧
start_planning
Start a new planning session with a specific goal.
{
goal: string // The software development goal to plan
}
add_todo
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
}
get_todos
Retrieve all todos in the current plan.
// No parameters required
update_todo_status
Update the completion status of a todo item.
{
todoId: string, // ID of the todo item
isComplete: boolean // New completion status
}
save_plan
Save the current implementation plan.
{
plan: string // The implementation plan text
}
remove_todo
Remove a todo item from the current plan.
{
todoId: string // ID of the todo item to remove
}
Example Usage 📝
Here's a complete example of using the software planning tool:
- Start a planning session:
await client.callTool("software-planning-tool", "start_planning", {
goal: "Create a React-based dashboard application"
});
- Add a todo item:
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
`
});
- Update todo status:
await client.callTool("software-planning-tool", "update_todo_status", {
todoId: todo.id,
isComplete: true
});
- Save the implementation plan:
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
`
});
Development 🔨
Project Structure
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
Building
pnpm run build
Testing
Test all features using the MCP inspector:
pnpm run inspector
License 📄
MIT
Made with ❤️ using the Model Context Protocol
Related Servers
Coding Standards
An MCP server for enforcing coding standards and best practices.
MCP Manager
An interactive CLI tool for managing MCP server configurations in the current directory.
Hashnode MCP Server
An MCP server for interacting with the Hashnode API.
Jupyter MCP Server
Interact with Jupyter notebooks running in any JupyterLab environment, supporting real-time control and smart execution of notebook cells.
MCP Emulator Controller
Control emulators by opening/closing apps, capturing screenshots, and interacting with the screen.
MCP Tools
A collection of MCP servers for growth and analytics, including a server for Google Analytics.
Berry MCP Server
A universal framework for easily creating and deploying Model Context Protocol servers with any tools.
MCP OAuth Sample
A sample MCP OAuth server implementation using Next.js, providing OAuth 2.1 authentication with Google and PostgreSQL.
MCP Server Starter
A starter project for building MCP servers with TypeScript and Bun.
Devici MCP Server
Manage threat models, components, and security data on the Devici platform.