PinkRoosterMcp

Sistema de gerenciamento de projetos auto-hospedado, construído para agentes de codificação de IA. 24 ferramentas MCP com cascatas de estado automáticas, rastreamento de dependências, loop de implementação autônomo e um painel React. Configuração Docker com um comando.

Documentação

PinkRoosterMcp Logo

PinkRoosterMcp

Gerenciamento de projetos que pensa em código, não em tickets.

O primeiro sistema de gerenciamento de projetos construído do zero para agentes de codificação de IA — não um wrapper em torno de Jira ou Linear.

License: MIT .NET 9 MCP Docker Tests

Início Rápido · Por que PinkRooster? · Dashboard · Ferramentas MCP · Habilidades de GP · Começando


Início Rápido

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

É isso. make install baixa a imagem pré-construída do Docker Hub, registra o servidor MCP no Claude Code, instala as habilidades de GP e inicia todos os contêineres. Sem contas, sem configuração, sem etapa de build.

Dashboard em localhost:3000 · API em localhost:5100 · MCP em localhost:5200


Por que PinkRooster?

Todo outro servidor MCP relacionado a GP é um wrapper em torno de um produto SaaS existente. O PinkRoosterMcp é projetado especificamente para agentes de IA — o modelo de dados, o formato de resposta e as habilidades de fluxo de trabalho são desenhados para consumo por IA em primeiro lugar, com um dashboard para visibilidade humana.

O 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

O Fluxo de Trabalho 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: ☕

Como se Compara

PinkRoosterMcpJira + Wrapper MCPLinear + Wrapper MCP
Construído para agentes de IADo zeroWrapper de API acopladoWrapper de API acoplado
Auto-hospedadoImagem Docker únicaSomente SaaSSomente SaaS
Tempo de configuração1 comandoConta + OAuth + configConta + chave de API + config
Cascatas de estadoAutomáticas (5 níveis de profundidade)Atualizações manuaisAtualizações manuais
Decomposição do trabalhoAgente estrutura a partir da descriçãoVocê escreve cada ticketVocê escreve cada ticket
RBAC multiusuárioIntegrado (4 papéis, por projeto)Permissões em nível de organizaçãoPapéis de workspace
Memórias de projetoContexto entre sessões integradoNenhumNenhum
Modo autônomo/pm-next --autoNenhumNenhum
Respostas otimizadas para tokensProjetado para agentesPayloads verbosos voltados a humanosPayloads verbosos voltados a humanos
CustoGratuito (MIT)US$ 8–16/usuário/mêsUS$ 8–16/usuário/mês

Recursos de Relance

Cascatas de Estado Automáticas

Conclua uma tarefa e tudo a montante é atualizado automaticamente — sem triagem 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

Dependências bloqueiam e desbloqueiam automaticamente. O agente sempre sabe o que aconteceu a jusante por meio de respostas OperationResult estruturadas com notificações de mudança de estado.

Loop de Implementação Autônomo

Um único comando conduz todo o ciclo de vida de desenvolvimento:

/pm-next --auto

O agente seleciona o item de trabalho de maior prioridade, estrutura um plano se necessário, implementa cada tarefa (lendo código, escrevendo alterações, executando testes), faz commit após cada pacote de trabalho e repete até que todo o trabalho esteja concluído.

24 Ferramentas MCP

Cada ferramenta é projetada para consumo por IA — respostas compactas, próximos passos acionáveis e notificações de cascata de estado. Estruture um pacote de trabalho inteiro com fases, tarefas e dependências em uma única chamada.

16 Habilidades de Fluxo de Trabalho de GP

Comandos de barra de alto nível que codificam fluxos de trabalho sofisticados de GP: /pm-scaffold analisa seu código para produzir arquivos-alvo realistas e notas de implementação. /pm-implement lida com ordenação de dependências, execução de testes com correção automática e portões de verificação de fase. /pm-audit executa agentes de análise em paralelo nas áreas de qualidade, segurança, desempenho e arquitetura. /pm-cleanup encontra código morto e estrutura tarefas de correção.

Memórias de Projeto

Armazenamento persistente de conhecimento para decisões, padrões e contexto que sobrevive entre sessões de agente. Semântica de mesclagem por nome — gravar em uma memória existente acrescenta conteúdo e une tags.

IDs Legíveis por Humanos

proj-1-issue-3, proj-1-wp-2-task-5 — legíveis tanto por agentes quanto por humanos em conversas. Sem GUIDs, sem IDs numéricos opacos.

Contas Multiusuário e RBAC por Projeto

Sistema de contas de usuário integrado com hash de senha Argon2id, gerenciamento de sessão e controle de acesso baseado em papéis por projeto. Quatro papéis (SuperUser, Admin, Editor, Viewer) oferecem controle granular sobre quem pode fazer o quê em cada projeto. O primeiro usuário recebe SuperUser automaticamente. A autenticação por chave de API para acesso MCP/programático roda em paralelo — sem sobrecarga de RBAC para agentes.

Observabilidade Completa

Duas camadas de auditoria: logs de auditoria de alteração de campo por entidade (valores antigos/novos em cada campo) e registro de atividade de solicitações HTTP (método, caminho, status, duração, chamador). O dashboard exibe ambas.


Dashboard

Um dashboard React em tempo real permite que você veja tudo o que seu agente de IA está rastreando — de relance ou em detalhes completos.

Visão Geral do Projeto

A página inicial do dashboard mostra contagens ativas, percentuais de conclusão e próximas ações prioritárias em todos os tipos de entidade.

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

Rastreamento de Problemas

Filtre e ordene problemas por gravidade, prioridade, tipo e estado. Cartões de resumo mostram divisões ativo/inativo/terminal com mini gráficos de rosca.

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

Páginas de Detalhes Ricas

Toda entidade tem uma página de detalhes estruturada com edição inline, gerenciamento de estado, entidades relacionadas, linha do tempo e um log de auditoria recolhível.

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

Pacotes de Trabalho

Pacotes de trabalho são a unidade de execução — cada um contém fases e tarefas com rastreamento de dependências e propagação automática de estado.

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

Solicitações de Recursos

Acompanhe ideias da proposta à conclusão com um ciclo de vida de 8 estados. Vincule solicitações de recursos a pacotes de trabalho para conectar o "o quê" ao "como".

Feature requests list with category and priority filters

Log de Atividades

Toda solicitação de API é registrada com método, caminho, status, duração e identidade do chamador — dando a você observabilidade total do comportamento do agente.

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

Como Funciona

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

Principais decisões de design:

  • O servidor MCP chama a API via HTTP — sem acesso compartilhado ao banco de dados, separação limpa
  • IDs legíveis por humanos em todo lugar (proj-1-issue-3, proj-1-wp-2-task-5) — fáceis tanto para agentes quanto para humanos
  • Cascatas de estado automáticas — concluir todas as tarefas de uma fase conclui a fase, o que pode concluir o pacote de trabalho, o que pode concluir problemas e solicitações de recursos vinculados
  • Trilha de auditoria completa — toda alteração de campo é registrada com valores antigos/novos

Entidades

EntidadePropósitoEstados
ProjetoContêiner de nível superior, identificado pelo caminho do sistema de arquivosAtivo
ProblemaBugs, defeitos, regressões, dívida técnica, desempenho, segurançaNãoIniciado → Projetando → Implementando → Testando → EmRevisão → Concluído
Solicitação de RecursoIdeias e melhorias com contexto de negócioProposta → EmRevisão → Aprovada → Agendada → EmProgresso → Concluída
Pacote de TrabalhoPlano de execução com fases, tarefas e dependênciasMesmo que Problema + propagação ascendente automática
FaseAgrupamento de tarefas relacionadas dentro de um pacote de trabalhoConclui automaticamente quando todas as tarefas atingem estado terminal
TarefaUnidade atômica de trabalho com arquivos-alvoMesmos estados que Problema, suporta bloqueio por dependência
Memória de ProjetoConhecimento armazenado, decisões, padrões e contextoSem estado (sem ciclo de vida)
UsuárioContas multiusuário com hash de senha Argon2idAtivo / Inativo (exclusão suave)
Papel de Usuário no ProjetoAtribuição de papel por projeto (Admin, Editor, Viewer)—

Ferramentas MCP

O PinkRoosterMcp expõe 24 ferramentas MCP organizadas por entidade:

FerramentaDescrição
get_project_statusDashboard de status compacto — contagens, itens ativos/bloqueados
get_next_actionsItens acionáveis ordenados por prioridade com contexto enriquecido (nomes de entidades vinculadas, complexidade)
create_or_update_issueCriar ou atualizar problemas com suporte completo a campos
get_issue_details / get_issue_overviewLer dados de problemas
create_or_update_feature_requestCriar ou atualizar solicitações de recursos
get_feature_request_details / get_feature_requestsLer dados de solicitações de recursos
manage_user_storiesAdicionar, atualizar ou remover histórias de usuário estruturadas em solicitações de recursos
create_or_update_work_packageCriar ou atualizar pacotes de trabalho
get_work_package_details / get_work_packagesLer árvores de pacotes de trabalho
scaffold_work_packageCriação em uma chamada de PT + fases + tarefas + dependências
create_or_update_phase / create_or_update_taskGerenciar fases e tarefas (fase suporta criação em lote de tarefas)
batch_update_task_statesAtualizar múltiplos estados de tarefas em uma chamada com cascatas consolidadas
verify_acceptance_criteriaRegistrar resultados de verificação para critérios de aceite de fase
manage_dependencyAdicionar/remover dependências de PT ou tarefa com bloqueio automático (detecta automaticamente pelo formato do ID)
list_memories / get_memory_detailsLer memórias de projeto (filtrar por padrão de nome ou tag)
create_or_update_memoryCriar ou mesclar memória por nome (acrescentar conteúdo, unir tags)
delete_memoryExcluir permanentemente uma memória de projeto
delete_entityExcluir permanentemente uma entidade por tipo com tratamento de cascata

Todas as operações de escrita retornam JSON OperationResult estruturado com cascatas de mudança de estado, para que o agente sempre saiba o que aconteceu a jusante.


Habilidades de Fluxo de Trabalho de GP

Dezesseis comandos de barra do Claude Code fornecem fluxos de trabalho de gerenciamento de projetos de alto nível sobre as ferramentas MCP:

ComandoO que faz
/pm-statusMostrar dashboard do projeto com contagens, itens bloqueados e próximas ações
/pm-next [--auto]Selecionar o item de maior prioridade e começar a implementar. --auto repete até concluir
/pm-done <id>Marcar entidade como concluída, relatar todas as cascatas
/pm-implement <id>Loop de implementação completo — ler contexto, escrever código, executar testes, atualizar estado
/pm-scaffold <desc|id>Estruturar um pacote de trabalho a partir de uma descrição ou problema/FR vinculado
/pm-plan <desc>Criar um problema ou FR a partir de linguagem natural, opcionalmente estruturar
/pm-triageAnalisar e priorizar itens abertos
/pm-refine-fr <fr-id>Refinar uma solicitação de recurso — reescrever descrição, adicionar histórias de usuário, preencher lacunas
/pm-explore [--limit N]Analisar o código como um GP e sugerir recursos voltados ao usuário
/pm-verify <id>Verificar critérios de aceite para uma fase ou pacote de trabalho
/pm-cleanup [--dry-run]Analisar o código em busca de código morto e dívida, estruturar um pacote de trabalho de limpeza
/pm-codesmellsEscanear por code smells usando métricas baseadas em limites — métodos longos, god classes, aninhamento profundo e mais
/pm-housekeeping [--dry-run]Excluir entidades de projeto obsoletas, canceladas, rejeitadas ou substituídas
/pm-brainstorm [topic]Brainstorming interativo de recursos via diálogo socrático e pesquisa na web
/pm-audit [--focus domain]Auditoria proativa de código — cria problemas rastreados a partir de descobertas confirmadas
/pm-troubleshootDiagnosticar a causa raiz de bugs rastreando código, logs e histórico do git

As habilidades propagam automaticamente o estado para entidades relacionadas. Iniciar uma tarefa ativa seu pacote de trabalho e problema/FR vinculado. Concluir todas as tarefas propaga a conclusão para cima através de fases, pacotes de trabalho e entidades vinculadas.

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

Começando

Pré-requisitos

Início Rápido

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

É isso. make install irá:

  1. Criar .env com padrões funcionais (sem necessidade de edições)
  2. Registrar o servidor MCP no Claude Code (escopo global, ignorado se a CLI não for encontrada)
  3. Instalar habilidades de fluxo de trabalho de GP em ~/.claude/skills/
  4. Baixar e iniciar a imagem pré-construída do Docker Hub (sem necessidade de build local)

Para compilar a partir do código-fonte, use make setup (mesmos passos, mas compila a imagem localmente). Os serviços estarão disponíveis em:

ServiçoURL
Dashboardhttp://localhost:3000
REST APIhttp://localhost:5100
MCP Serverhttp://localhost:5200
Swaggerhttp://localhost:5100/swagger/index.html

Deploy com Imagem do Docker Hub

Você pode executar o PinkRoosterMcp sem clonar o repositório usando a imagem pré-construída do Docker Hub.

  1. Crie um 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. Inicie os serviços:
docker compose up -d
  1. Registre o servidor MCP no Claude Code:
claude mcp add --transport http --scope user pinkrooster http://localhost:5200

Para fixar uma versão específica, substitua latest por uma tag de versão (por exemplo, pinkrooster/pinkroostermcp:1.0.1).

Conecte Seu Agente de IA

Se você executou make install com o Claude Code instalado, o servidor MCP já está registrado. Para outros clientes MCP, aponte-os para http://localhost:5200 (Streamable HTTP) ou http://localhost:5200/sse (SSE legado).

Configuração para Desenvolvedores

Para contribuidores que fazem alterações no PinkRoosterMcp:

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

Ou use processos locais com hot reload:

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)

Autenticação

Dashboard: A autenticação multiusuário é integrada. Na primeira visita, você verá um formulário de registro — o primeiro usuário se torna automaticamente SuperUser. Os usuários subsequentes são criados pela página de gerenciamento de Usuários e recebem funções por projeto (Admin, Editor, Viewer).

API / MCP: Autenticação opcional por chave de API. Tudo roda com acesso aberto por padrão. Para habilitar, edite .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)

Solução de Problemas

ProblemaSolução
Porta já em usoPare os serviços conflitantes ou altere as portas em docker-compose.yml
Contêiner não saudávelExecute make logs para ver a saída de erro
MCP não registradoExecute claude mcp add --transport http --scope user pinkrooster http://localhost:5200
Erro de conexão com o banco de dadosGaranta que o contêiner PostgreSQL esteja saudável: docker compose ps

Testes

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

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

Mais de 700 testes: 343 testes de integração de API + 112 testes unitários + 255 testes de frontend do dashboard. Taxa de aprovação de 98,3% nos testes E2E do MCP em 59 cenários de teste.


Stack Tecnológica

CamadaTecnologia
MCP Server.NET 9, ModelContextProtocol SDK
REST API.NET 9, ASP.NET Core, Argon2id (Konscious.Security.Cryptography)
Banco de DadosPostgreSQL 17, EF Core 9
DashboardReact 19, TypeScript, Vite, Tailwind CSS v4, shadcn/ui, TanStack Query/Table, Recharts
TestesxUnit v3, Testcontainers, Respawn, Vitest, React Testing Library, MSW
InfraestruturaDocker Compose, nginx

Contribuição

Contribuições são bem-vindas! Consulte a seção Configuração para Desenvolvedores para começar. O projeto usa make setup-dev para o fluxo de trabalho completo de contribuição com hot reload em todos os serviços.


Licença

MIT