CT2 MCP Server

CT2 MCP Server

Centralizes multi-agent team workflows, providing Kanban, audit timeline, scorecards, and event hooks, integrated natively with Hermes Dashboard via the Model Context Protocol.

Category
Visit Server

README

CT2 — Control Tower para Equipes Hermes Agent

Servidor API REST que centraliza o workflow de equipes multi-agente. Funciona como plugin nativo do Hermes Dashboard, substituindo planilhas e arquivos soltos por um sistema integrado de projetos, tasks, auditorias e scorecards.

O que o CT2 faz

Funcionalidade Descrição
📋 Tasks Detalhadas Tasks agrupadas por dia com colunas: #, Título, Status, Agente, Motor, Exec (✅/⬜), Audit (👁/⬜), Commit, Conclusão
📄 Página de Detalhe Ao clicar em qualquer task, abre página HTML com markdown completo + metadados + auditorias
🔍 Auditorias nas Tasks Cada task mostra suas auditorias na própria página de detalhe (seção 🔍 Auditorias). Aba de Auditorias removida — tudo fica na task
📊 Scorecards Métricas por agente: first-pass rate, rework, scope creep, taxa de aprovação
🏢 Multi-projeto Suporte a múltiplos projetos simultâneos (oeste-gestao, control-tower-v2, agent-ops-workflow)
🔄 Scanner Lê PLANO.md + task_XX.md do planejamento diário → SQLite
📡 Event Hooks Recebe on_session_start / on_session_end dos gateways
🌐 GitHub Webhooks Sincroniza commits com tasks
📡 API REST CRUD completo de projetos, tasks, auditorias, scorecards

Pré-requisitos

Instalação — Passo a Passo

1. Clonar o repositório

git clone https://github.com/rafael-fae/hermes-ct2.git ~/Dev/hermes-ct2
cd ~/Dev/hermes-ct2

2. Instalar dependências

uv sync
# ou: pip install -e .

3. Iniciar o servidor CT2

python3 ct2.py serve --port 7890

# Via PM2 (produção)
pm2 start "python3 ct2.py serve --port 7890" --name ct2-server --cwd ~/Dev/hermes-ct2
pm2 save

Verificar: curl http://localhost:7890/api/health{"status":"ok"}

4. Plugin do Dashboard

O plugin CT2 já vem integrado no Hermes Agent (plugins/ct2/dashboard/). Não requer instalação adicional. Basta o servidor CT2 estar rodando na porta 7890.

Arquivos do plugin:

  • dashboard/manifest.json — registro do plugin no Dashboard
  • dashboard/plugin_api.py — proxy FastAPI das rotas do CT2 (/api/plugins/ct2/*)
  • dashboard/dist/index.js — frontend React (tasks, projetos, scorecards)
  • dashboard/dist/style.css — tema escuro (DS Teal)

5. Reiniciar o Dashboard

pm2 restart hermes-dashboard

Funcionalidades

📋 Tasks — Visão Detalhada por Dia

A aba Tasks mostra todas as tasks agrupadas por dia (expansível), com colunas detalhadas:

Coluna Descrição
# Número da task (ex: 103)
Título Descrição da task (truncado em 55 chars)
Status Todo / Done / Blocked
Agente Quem executou
Motor Modelo LLM utilizado
Exec ✅ (executada) / ⬜ (pendente)
Audit 👁 (auditada) / ⬜ (pendente)
Commit Hash do commit (7 chars)
Conclusão Data formatada: DD-MM-AAAA - HH:MM

Ordenação: tasks em ordem decrescente por número (mais recentes primeiro).

📄 Página de Detalhe da Task

Ao clicar em qualquer task, abre uma página HTML completa contendo:

  • Metadados: Status, Agente, Motor, Data de conclusão, Sprint, Commit
  • 📄 Markdown: Conteúdo completo do arquivo task_XX.md com formatação preservada
  • 🔍 Auditorias: Lista de todas as auditorias registradas para aquela task (veredito, hash, ressalvas, observações)

URL: /tasks/<projeto>/<task_number> (ex: /tasks/oeste-gestao/102)

Proxy via Dashboard: /api/plugins/ct2/tasks/<projeto>/<task_number>

🔍 Auditorias nas Tasks

As auditorias ficam na própria página de detalhe da task — não há aba separada de Auditorias.

Regras para preenchimento correto:

  1. Toda task executada (status_execucao=✅) DEVE ter uma auditoria
  2. Auditor Dalinar audita código + preenche task_XX.md + registra no banco CT2
  3. status_auditoria vira 👁 automaticamente ao registrar auditoria
  4. Hash da auditoria (audit_hash) é gerado a partir dos dados da task + veredito

📊 Scorecards

Métricas por agente: total de tasks, first-pass rate, rework, scope creep, taxa de aprovação.

Endpoint: GET /api/scorecards?days=30&agent=Jasnah

🔄 Scanner

python3 ct2.py scan                    # Todos os projetos
python3 ct2.py scan --project <slug>   # Projeto específico

API REST

GET  /api/projects                              # Listar projetos
GET  /api/projects/<slug>/tasks?status=done     # Tasks do projeto (filtro por status)
GET  /api/projects/<slug>/tasks?limit=200       # Tasks com limite
GET  /api/projects/<slug>/sprints               # Sprints
GET  /api/projects/<slug>/auditorias            # Auditorias (JSON)
GET  /api/projects/<slug>/<id>/tasks/md         # Conteúdo markdown da task (JSON)
GET  /api/scorecards?days=30                    # Scorecards
GET  /api/health                                # Health check

# Páginas HTML
GET  /tasks/<slug>/<task_number>                # Página de detalhe da task
GET  /auditorias/<id>                           # Página de detalhe da auditoria

Comandos CLI

ct2.py scan                     # Scan de projetos
ct2.py serve --port 7890        # Servidor API
ct2.py project list             # Listar projetos
ct2.py task start <proj> <id>   # Iniciar task
ct2.py task done <proj> <id> --hash <sha>  # Concluir task
ct2.py task audit <proj> <id> --veredito <aprovado|rejeitado>  # Auditar
ct2.py briefing <proj>          # Briefing do projeto

Formato de Data

Todas as datas de conclusão seguem o padrão DD-MM-AAAA - HH:MM (minutos sempre com 2 dígitos, zero-padded).

Exemplos: 25-06-2026 - 14:05, 17-06-2026 - 08:30

Troubleshooting

Tasks sem conteúdo ao clicar:

  • Arquivo .md não existe na pasta planejamento-diario/<data>/
  • Criar o arquivo ou rodar ct2.py scan para detectar

Auditorias não aparecem nas tasks:

  • Rodar auditoria: ct2.py task audit <proj> <id> --veredito aprovado --hash <sha>
  • Ou registrar manualmente no banco via SQLite

Dashboard não carrega:

  • CT2 server rodando? curl localhost:7890/api/health
  • Dashboard reiniciado? pm2 restart hermes-dashboard
  • F5/Ctrl+Shift+R no browser para limpar cache

Licença

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured