Software Planning Tool
Facilita la planificación del desarrollo de software a través de un enfoque interactivo y estructurado.
Documentación
Software Planning Tool 🚀
Un servidor de Model Context Protocol (MCP) diseñado para facilitar la planificación del desarrollo de software mediante un enfoque interactivo y estructurado. Esta herramienta ayuda a descomponer proyectos de software complejos en tareas manejables, realizar un seguimiento del progreso de implementación y mantener planes de desarrollo detallados.
Características ✨
- Sesiones de planificación interactivas: Iniciar y gestionar sesiones de planificación de desarrollo
- Gestión de tareas pendientes: Crear, actualizar y realizar seguimiento de tareas de desarrollo
- Puntuación de complejidad: Asignar puntuaciones de complejidad a las tareas para una mejor estimación
- Ejemplos de código: Incluir fragmentos de código relevantes en las descripciones de tareas
- Planes de implementación: Guardar y gestionar planes de implementación detallados
Instalación 🛠️
Instalación mediante Smithery
Para instalar Software Planning Tool para Claude Desktop automáticamente mediante Smithery:
npx -y @smithery/cli install @NightTrek/Software-planning-mcp --client claude
Instalación manual
- Clonar el repositorio
- Instalar dependencias:
pnpm install
- Compilar el proyecto:
pnpm run build
- Añadir a la configuración de ajustes de MCP (normalmente ubicada en
~/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": []
}
}
}
Herramientas disponibles 🔧
start_planning
Iniciar una nueva sesión de planificación con un objetivo específico.
{
goal: string // The software development goal to plan
}
add_todo
Añadir una nueva tarea pendiente al plan actual.
{
title: string, // Title of the todo item
description: string, // Detailed description
complexity: number, // Complexity score (0-10)
codeExample?: string // Optional code example
}
get_todos
Recuperar todas las tareas pendientes del plan actual.
// No parameters required
update_todo_status
Actualizar el estado de finalización de una tarea pendiente.
{
todoId: string, // ID of the todo item
isComplete: boolean // New completion status
}
save_plan
Guardar el plan de implementación actual.
{
plan: string // The implementation plan text
}
remove_todo
Eliminar una tarea pendiente del plan actual.
{
todoId: string // ID of the todo item to remove
}
Ejemplo de uso 📝
Aquí hay un ejemplo completo de uso de la herramienta de planificación de software:
- Iniciar una sesión de planificación:
await client.callTool("software-planning-tool", "start_planning", {
goal: "Create a React-based dashboard application"
});
- Añadir una tarea pendiente:
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
`
});
- Actualizar el estado de la tarea pendiente:
await client.callTool("software-planning-tool", "update_todo_status", {
todoId: todo.id,
isComplete: true
});
- Guardar el plan de implementación:
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
`
});
Desarrollo 🔨
Estructura del proyecto
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
Compilación
pnpm run build
Pruebas
Probar todas las funciones utilizando el inspector de MCP:
pnpm run inspector
Licencia 📄
MIT
Hecho con ❤️ utilizando el Model Context Protocol