PinkRoosterMcp

Sistema de gestión de proyectos autoalojado diseñado para agentes de codificación de IA. 24 herramientas MCP con cascadas de estado automáticas, seguimiento de dependencias, bucle de implementación autónomo y un panel de React. Configuración con Docker en un solo comando.

Documentación

PinkRoosterMcp Logo

PinkRoosterMcp

Gestión de proyectos que piensa en código, no en tickets.

El primer sistema de gestión de proyectos construido desde cero para agentes de codificación de IA — no un envoltorio alrededor de Jira o Linear.

License: MIT .NET 9 MCP Docker Tests

Inicio rápido · ¿Por qué PinkRooster? · Panel · Herramientas MCP · Habilidades de PM · Primeros pasos


Inicio rápido

git clone https://github.com/pinkroosterai/PinkRoosterMcp.git
cd PinkRoosterMcp
make install

Eso es todo. make install descarga la imagen preconstruida desde Docker Hub, registra el servidor MCP en Claude Code, instala las habilidades de PM e inicia todos los contenedores. Sin cuentas, sin configuración, sin paso de compilación.

Panel en localhost:3000 · API en localhost:5100 · MCP en localhost:5200


¿Por qué PinkRooster?

Cualquier otro servidor MCP relacionado con PM es un envoltorio alrededor de un producto SaaS existente. PinkRoosterMcp está diseñado específicamente para agentes de IA — el modelo de datos, el formato de respuesta y las habilidades de flujo de trabajo están diseñados para el consumo de IA en primer lugar, con un panel para visibilidad humana.

El problema

Traditional workflow:
  1. Open browser → find Jira ticket → read requirements
  2. Switch to IDE → write code → run tests
  3. Switch to browser → update ticket status → add comment
  4. Repeat 50x per day

El flujo de trabajo de PinkRooster

  You: /pm-next --auto
  Agent: picks highest priority work → scaffolds plan → implements code →
         runs tests → commits → updates all project state → picks next item →
         repeats until done
  You: ☕

Cómo se compara

PinkRoosterMcpJira + envoltorio MCPLinear + envoltorio MCP
Construido para agentes de IADesde ceroEnvoltorio API añadidoEnvoltorio API añadido
AutoalojadoImagen Docker únicaSolo SaaSSolo SaaS
Tiempo de configuración1 comandoCuenta + OAuth + configuraciónCuenta + clave API + configuración
Cascadas de estadoAutomáticas (5 niveles de profundidad)Actualizaciones manualesActualizaciones manuales
Desglose de trabajoEl agente estructura desde la descripciónEscribes cada ticketEscribes cada ticket
RBAC multiusuarioIntegrado (4 roles, por proyecto)Permisos a nivel de organizaciónRoles de espacio de trabajo
Memorias de proyectoContexto entre sesiones integradoNingunaNinguna
Modo autónomo/pm-next --autoNingunoNinguno
Respuestas optimizadas para tokensDiseñadas para agentesCargas verbosas orientadas a humanosCargas verbosas orientadas a humanos
CostoGratis (MIT)$8-16/usuario/mes$8-16/usuario/mes

Características de un vistazo

Cascadas de estado automáticas

Completa una tarea y todo lo que está aguas arriba se actualiza automáticamente — sin preparación manual de tickets:

Task completed
  └→ Phase auto-completes (all tasks done)
       └→ Work Package auto-completes (all phases done)
            ├→ Linked Issue auto-resolved
            └→ Linked Feature Request auto-completed

Las dependencias se bloquean y desbloquean automáticamente. El agente siempre sabe qué ocurrió aguas abajo mediante respuestas estructuradas de OperationResult con notificaciones de cambio de estado.

Bucle de implementación autónomo

Un solo comando impulsa todo el ciclo de vida de desarrollo:

/pm-next --auto

El agente selecciona el elemento de trabajo de mayor prioridad, estructura un plan si es necesario, implementa cada tarea (leyendo código, escribiendo cambios, ejecutando pruebas), hace commit después de cada paquete de trabajo y repite hasta que todo el trabajo esté terminado.

24 herramientas MCP

Cada herramienta está diseñada para el consumo de IA — respuestas compactas, próximos pasos accionables y notificaciones de cascada de estado. Estructura un paquete de trabajo completo con fases, tareas y dependencias en una sola llamada.

16 habilidades de flujo de trabajo de PM

Comandos de barra de alto nivel que codifican flujos de trabajo sofisticados de PM: /pm-scaffold analiza tu base de código para producir archivos objetivo realistas y notas de implementación. /pm-implement maneja el orden de dependencias, la ejecución de pruebas con corrección automática y las compuertas de verificación de fases. /pm-audit ejecuta agentes de análisis en paralelo en los dominios de calidad, seguridad, rendimiento y arquitectura. /pm-cleanup encuentra código muerto y estructura tareas de corrección.

Memorias de proyecto

Almacén de conocimiento persistente para decisiones, patrones y contexto que sobrevive entre sesiones de agentes. Semántica de fusión por nombre — escribir en una memoria existente agrega contenido y une etiquetas.

IDs legibles por humanos

proj-1-issue-3, proj-1-wp-2-task-5 — legibles tanto por agentes como por humanos en conversación. Sin GUIDs, sin IDs numéricos opacos.

Cuentas multiusuario y RBAC por proyecto

Sistema de cuentas de usuario integrado con hash de contraseñas Argon2id, gestión de sesiones y control de acceso basado en roles por proyecto. Cuatro roles (SuperUsuario, Administrador, Editor, Visor) brindan control granular sobre quién puede hacer qué en cada proyecto. El primer usuario obtiene automáticamente SuperUsuario. La autenticación por clave API para acceso MCP/programático se ejecuta en paralelo — sin sobrecarga de RBAC para agentes.

Observabilidad completa

Dos capas de auditoría: registros de auditoría de cambios de campo por entidad (valores antiguos/nuevos en cada campo) y registro de actividad de solicitudes HTTP (método, ruta, estado, duración, llamador). El panel muestra ambas.


Panel

Un panel React en tiempo real te permite ver todo lo que tu agente de IA está rastreando — de un vistazo o en detalle completo.

Resumen del proyecto

La página principal del panel muestra conteos activos, porcentajes de finalización y próximas acciones prioritarias en todos los tipos de entidad.

Dashboard overview with project status cards showing issues, feature requests, and work packages with completion donut charts

Seguimiento de incidencias

Filtra y ordena incidencias por gravedad, prioridad, tipo y estado. Las tarjetas de resumen muestran desgloses activos/inactivos/terminales con mini gráficos de dona.

Issues list page with state filter tabs, search filters, and sortable data table

Páginas de detalle enriquecidas

Cada entidad tiene una página de detalle estructurada con edición en línea, gestión de estado, entidades relacionadas, línea de tiempo y un registro de auditoría plegable.

Issue detail page showing definition, reproduction steps, resolution, related work packages, and timeline

Paquetes de trabajo

Los paquetes de trabajo son la unidad de ejecución — cada uno contiene fases y tareas con seguimiento de dependencias y propagación automática de estado.

Work package detail page with definition, estimation, linked issue, timeline, and phases with tasks

Solicitudes de funciones

Rastrea ideas desde la propuesta hasta la finalización con un ciclo de vida de 8 estados. Vincula solicitudes de funciones a paquetes de trabajo para conectar el "qué" con el "cómo".

Feature requests list with category and priority filters

Registro de actividad

Cada solicitud API se registra con método, ruta, estado, duración e identidad del llamador — brindándote observabilidad completa del comportamiento del agente.

Activity log showing timestamped API requests with method badges, humanized paths, and response times

Cómo funciona

┌─────────────────┐     MCP (Streamable HTTP)     ┌─────────────────┐
│  Claude Code /  │ ◄──────────────────────────► │   MCP Server    │
│  Cursor / etc.  │                                │   :5200         │
└─────────────────┘                                └────────┬────────┘
                                                            │ HTTP
┌─────────────────┐          HTTP / REST           ┌────────▼────────┐
│   Dashboard     │ ◄──────────────────────────► │   REST API      │
│   :3000         │                                │   :5100         │
└─────────────────┘                                └────────┬────────┘
                                                            │ EF Core
                                                   ┌────────▼────────┐
                                                   │   PostgreSQL    │
                                                   │   :5432         │
                                                   └─────────────────┘

Decisiones de diseño clave:

  • El servidor MCP llama a la API a través de HTTP — sin acceso compartido a la base de datos, separación limpia
  • IDs legibles por humanos en todas partes (proj-1-issue-3, proj-1-wp-2-task-5) — fáciles tanto para agentes como para humanos
  • Las cascadas de estado son automáticas — completar todas las tareas de una fase completa la fase, lo que puede completar el paquete de trabajo, lo que puede completar incidencias y solicitudes de funciones vinculadas
  • Registro de auditoría completo — cada cambio de campo se registra con valores antiguos/nuevos

Entidades

EntidadPropósitoEstados
ProyectoContenedor de nivel superior, identificado por ruta del sistema de archivosActivo
IncidenciaErrores, defectos, regresiones, deuda técnica, rendimiento, seguridadNoIniciado → Diseñando → Implementando → Probando → EnRevisión → Completado
Solicitud de funciónIdeas y mejoras con contexto de negocioPropuesta → EnRevisión → Aprobada → Programada → EnProgreso → Completada
Paquete de trabajoPlan de ejecución con fases, tareas y dependenciasIgual que Incidencia + propagación ascendente automática
FaseAgrupación de tareas relacionadas dentro de un paquete de trabajoSe completa automáticamente cuando todas las tareas alcanzan estado terminal
TareaUnidad atómica de trabajo con archivos objetivoMismos estados que Incidencia, admite bloqueo por dependencias
Memoria de proyectoConocimiento almacenado, decisiones, patrones y contextoSin estado (sin ciclo de vida)
UsuarioCuentas multiusuario con hash de contraseñas Argon2idActivo / Inactivo (eliminación suave)
Rol de usuario en proyectoAsignación de rol por proyecto (Administrador, Editor, Visor)—

Herramientas MCP

PinkRoosterMcp expone 24 herramientas MCP organizadas por entidad:

HerramientaDescripción
get_project_statusPanel de estado compacto — conteos, elementos activos/bloqueados
get_next_actionsElementos accionables ordenados por prioridad con contexto enriquecido (nombres de entidades vinculadas, complejidad)
create_or_update_issueCrear o actualizar incidencias con soporte completo de campos
get_issue_details / get_issue_overviewLeer datos de incidencias
create_or_update_feature_requestCrear o actualizar solicitudes de funciones
get_feature_request_details / get_feature_requestsLeer datos de solicitudes de funciones
manage_user_storiesAgregar, actualizar o eliminar historias de usuario estructuradas en solicitudes de funciones
create_or_update_work_packageCrear o actualizar paquetes de trabajo
get_work_package_details / get_work_packagesLeer árboles de paquetes de trabajo
scaffold_work_packageCreación en una sola llamada de WP + fases + tareas + dependencias
create_or_update_phase / create_or_update_taskGestionar fases y tareas (la fase admite creación de tareas por lotes)
batch_update_task_statesActualizar múltiples estados de tareas en una sola llamada con cascadas consolidadas
verify_acceptance_criteriaRegistrar resultados de verificación para criterios de aceptación de fases
manage_dependencyAgregar/eliminar dependencias de WP o tareas con bloqueo automático (detección automática desde el formato de ID)
list_memories / get_memory_detailsLeer memorias de proyecto (filtrar por patrón de nombre o etiqueta)
create_or_update_memoryCrear o fusionar memoria por nombre (agregar contenido, unir etiquetas)
delete_memoryEliminar permanentemente una memoria de proyecto
delete_entityEliminar permanentemente una entidad por tipo con manejo de cascada

Todas las operaciones de escritura devuelven JSON estructurado de OperationResult con cascadas de cambio de estado, para que el agente siempre sepa qué ocurrió aguas abajo.


Habilidades de flujo de trabajo de PM

Dieciséis comandos de barra de Claude Code proporcionan flujos de trabajo de gestión de proyectos de alto nivel sobre las herramientas MCP:

ComandoQué hace
/pm-statusMostrar panel del proyecto con conteos, elementos bloqueados y próximas acciones
/pm-next [--auto]Seleccionar el elemento de mayor prioridad y comenzar a implementar. --auto repite hasta terminar
/pm-done <id>Marcar entidad como completada, informar todas las cascadas
/pm-implement <id>Bucle de implementación completo — leer contexto, escribir código, ejecutar pruebas, actualizar estado
/pm-scaffold <desc|id>Estructurar un paquete de trabajo desde una descripción o incidencia/FR vinculada
/pm-plan <desc>Crear una incidencia o FR desde lenguaje natural, opcionalmente estructurar
/pm-triageAnalizar y priorizar elementos abiertos
/pm-refine-fr <fr-id>Refinar una solicitud de función — reescribir descripción, agregar historias de usuario, completar vacíos
/pm-explore [--limit N]Analizar la base de código como PM y sugerir funciones orientadas al usuario
/pm-verify <id>Verificar criterios de aceptación para una fase o paquete de trabajo
/pm-cleanup [--dry-run]Analizar la base de código en busca de código muerto y deuda, estructurar un paquete de trabajo de limpieza
/pm-codesmellsEscanear en busca de malos olores de código usando métricas basadas en umbrales — métodos largos, clases dios, anidamiento profundo y más
/pm-housekeeping [--dry-run]Eliminar entidades de proyecto obsoletas, canceladas, rechazadas o reemplazadas
/pm-brainstorm [topic]Lluvia de ideas interactiva de funciones mediante diálogo socrático e investigación web
/pm-audit [--focus domain]Auditoría proactiva de la base de código — crea incidencias rastreadas a partir de hallazgos confirmados
/pm-troubleshootDiagnosticar la causa raíz de errores rastreando código, registros e historial de git

Las habilidades propagan automáticamente el estado a las entidades relacionadas. Iniciar una tarea activa su paquete de trabajo y la incidencia/FR vinculada. Completar todas las tareas propaga la finalización hacia arriba a través de fases, paquetes de trabajo y entidades vinculadas.

PM Workflow Skills help page showing all sixteen slash commands with usage syntax and auto-state propagation rules

Primeros pasos

Requisitos previos

Inicio rápido

git clone https://github.com/pinkroosterai/PinkRoosterMcp.git
cd PinkRoosterMcp
make install

Eso es todo. make install:

  1. Creará .env con valores predeterminados funcionales (sin necesidad de ediciones)
  2. Registrará el servidor MCP en Claude Code (alcance global, se omite si no se encuentra la CLI)
  3. Instalará las habilidades de flujo de trabajo de PM en ~/.claude/skills/
  4. Descargará e iniciará la imagen preconstruida de Docker Hub (sin necesidad de compilación local)

Para compilar desde el código fuente en su lugar, usa make setup (mismos pasos pero compila la imagen localmente). Los servicios estarán disponibles en:

ServicioURL
Panel de controlhttp://localhost:3000
API RESThttp://localhost:5100
Servidor MCPhttp://localhost:5200
Swaggerhttp://localhost:5100/swagger/index.html

Implementar con imagen de Docker Hub

Puedes ejecutar PinkRoosterMcp sin clonar el repositorio usando la imagen precompilada de Docker Hub.

  1. Crea un docker-compose.yml:
services:
  postgres:
    image: postgres:17
    environment:
      POSTGRES_DB: pinkrooster
      POSTGRES_USER: pinkrooster
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-pinkrooster}
    ports:
      - "5432:5432"
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U pinkrooster"]
      interval: 5s
      timeout: 5s
      retries: 5

  pinkrooster:
    image: pinkrooster/pinkroostermcp:latest
    ports:
      - "3000:80"      # Dashboard
      - "5100:8080"    # REST API
      - "5200:8081"    # MCP Server
    environment:
      DATABASE_URL: "Host=postgres;Database=pinkrooster;Username=pinkrooster;Password=${POSTGRES_PASSWORD:-pinkrooster}"
      API_KEY: ${API_KEY:-}
      MCP_API_KEY: ${MCP_API_KEY:-}
    depends_on:
      postgres:
        condition: service_healthy

volumes:
  pgdata:
  1. Inicia los servicios:
docker compose up -d
  1. Registra el servidor MCP en Claude Code:
claude mcp add --transport http --scope user pinkrooster http://localhost:5200

Para fijar una versión específica, reemplaza latest con una etiqueta de versión (por ejemplo, pinkrooster/pinkroostermcp:1.0.1).

Conecta tu agente de IA

Si ejecutaste make install con Claude Code instalado, el servidor MCP ya está registrado. Para otros clientes MCP, apúntalos a http://localhost:5200 (HTTP Streamable) o http://localhost:5200/sse (SSE heredado).

Configuración para desarrolladores

Para contribuyentes que realizan cambios en PinkRoosterMcp:

make setup-dev    # Install deps, register MCP, start multi-image containers with hot reload

O usa procesos locales con recarga automática:

make dev          # Start PostgreSQL in Docker + API/MCP/Dashboard locally with dotnet watch
make dev-api      # API only (hot reload)
make dev-dashboard # Dashboard only (Vite dev server)

Autenticación

Panel de control: La autenticación multiusuario está integrada. En la primera visita, verás un formulario de registro: el primer usuario se convierte automáticamente en SuperUsuario. Los usuarios posteriores se crean mediante la página de gestión de Usuarios y se les asignan roles por proyecto (Administrador, Editor, Visor).

API / MCP: Autenticación opcional mediante clave de API. Todo funciona con acceso abierto por defecto. Para habilitarla, edita .env:

API_KEY=your-api-key          # API authentication (required by MCP→API calls)
MCP_API_KEY=your-mcp-key      # MCP server authentication (optional, separate from API_KEY)

Solución de problemas

ProblemaSolución
Puerto ya en usoDetén los servicios en conflicto o cambia los puertos en docker-compose.yml
Contenedor no saludableEjecuta make logs para ver la salida de errores
MCP no registradoEjecuta claude mcp add --transport http --scope user pinkrooster http://localhost:5200
Error de conexión a la base de datosAsegúrate de que el contenedor de PostgreSQL esté saludable: docker compose ps

Pruebas

# .NET integration tests (requires Docker for Testcontainers)
dotnet test

# Dashboard frontend tests
cd src/dashboard && npm test

Más de 700 pruebas: 343 pruebas de integración de API + 112 pruebas unitarias + 255 pruebas del frontend del panel de control. Tasa de aprobación E2E del MCP del 98.3% en 59 escenarios de prueba.


Pila tecnológica

CapaTecnología
Servidor MCP.NET 9, SDK de ModelContextProtocol
API REST.NET 9, ASP.NET Core, Argon2id (Konscious.Security.Cryptography)
Base de datosPostgreSQL 17, EF Core 9
Panel de controlReact 19, TypeScript, Vite, Tailwind CSS v4, shadcn/ui, TanStack Query/Table, Recharts
PruebasxUnit v3, Testcontainers, Respawn, Vitest, React Testing Library, MSW
InfraestructuraDocker Compose, nginx

Contribuciones

¡Las contribuciones son bienvenidas! Consulta la sección Configuración para desarrolladores para comenzar. El proyecto usa make setup-dev para el flujo de trabajo completo del contribuyente con recarga automática en todos los servicios.


Licencia

MIT