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 🚀

smithery badge

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.

Software Planning Tool MCP server

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

  1. Clonar el repositorio
  2. Instalar dependencias:
pnpm install
  1. Compilar el proyecto:
pnpm run build
  1. 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:

  1. Iniciar una sesión de planificación:
await client.callTool("software-planning-tool", "start_planning", {
  goal: "Create a React-based dashboard application"
});
  1. 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
  `
});
  1. Actualizar el estado de la tarea pendiente:
await client.callTool("software-planning-tool", "update_todo_status", {
  todoId: todo.id,
  isComplete: true
});
  1. 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