Exposes the RepoCiv bridge HTTP API (~30 endpoints) as MCP tools so external agents (Claude Code, Cursor, Codex CLI) can operate the dashboard without direct HTTP calls. Manages agents, commands, missions, approvals, pending tasks, context/fatigue, observability, providers, and harnesses.
RepoCiv exposes 24 tools via fastmcp/STDIO with Spanish descriptions and basic schemas. Most tools have descriptions (good), but they lack depth and LLM-optimization guidance. Parameter descriptions are minimal or absent. No output schemas documented. Error handling is absent, tools do not guide recovery or classify errors. Naming is inconsistent (agents_list vs pending_add; verb_noun not always applied). No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Composition is reasonable (single responsibility per tool), but chaining support is unclear, output fields do not explicitly match downstream input parameters. Security: no visible secret injection, no permission gates, no audit trail declarations. This is a typical community server with functional tools but poor LLM integration.
Devuelve la matriz de capacidades por tipo de agente (MAIN, WORKER, SCOUT, CLAUDE, CODEX, OPENCLAW; CURSOR si está configurado).
Health check del bridge: versión, agentes activos, GPU, comandos en cola.
Lista todos los agentes desplegados con su estado, heartbeat y profundidad de cola.
Readiness probe: confirma que el event store y token están listos.
[MUTATES] Aprueba y despacha un comando en cola de aprobación.
[MUTATES] Rechaza un comando en cola de aprobación.
Lista comandos en espera de aprobación (risk=high o destructive).
No output schemas documented for any tool. LLMs cannot infer what fields to expect, forcing them to guess at response structure and breaking downstream tool chaining.
Parameter descriptions are minimal or absent. Most parameters lack guidance on format, constraints, or valid values. E.g., 'type' in command_submit lists 8 options but no enum constraint; 'risk' lists 4 values but no enum.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes without explicit hints. pending_delete and approval_reject are destructive but unmarked.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
[MUTATES] Cancela un comando en estado queued o waiting_approval.
[MUTATES] Envía un Command al bus de RepoCiv. type: inspect_repo|read_file|run_tests|run_build|edit_file|create_branch|git_commit|delete_file|execute_agent|send_message. risk: low|medium|high|destructive. Commands con risk=high o destructive van a /approvals primero.
Estado de fatiga y áreas de descanso (sistema XCOM): por unidad → fatigue int, rest areas.
Agentes externos activos en esta máquina en los últimos minutos: Claude Code, Codex, Cursor, OpenCode (vía Suvadu) y sesiones Hermes: agente, ciudad/repo, modelo, estado working/idle, conteos y última actividad (epoch ms). Solo metadatos — sin prompts ni comandos.
Estado de GPU: VRAM usada/total, temperatura (via nvidia-smi). Null si no hay GPU.
Lista harnesses disponibles incluyendo claude-code-local y codex-local (7 total en alpha).
Snapshot de métricas de observabilidad: throughput, latencia, profundidad de cola, circuitos abiertos.
Lista todas las misiones persistidas (historial de ejecuciones de agentes).
Devuelve los últimos N eventos del event log. type filtra por tipo de evento.
[MUTATES] Crea una nueva tarea pendiente. priority: low|medium|high.
[MUTATES] Elimina una tarea pendiente.
[MUTATES] Edita campos de una tarea pendiente (title, priority, detail).
Lista todas las tareas pendientes con id, título, prioridad y estado.
[MUTATES] Marca una tarea pendiente como resuelta.
[MUTATES] Cambia el estado de una tarea pendiente (e.g. 'in_progress', 'blocked').
Lista proveedores de modelos configurados y config de chat (Hermes fallback).
Prueba alcanzabilidad en vivo de cada proveedor y sus modelos.
No error handling guidance. Tools do not return actionable error messages, recovery hints, or error classification (retryable vs user-fixable vs fatal). Agents cannot self-correct on failure.
Descriptions are in Spanish and lack LLM-optimization. Most are 50 - 100 chars, below the 194-char baseline for production tools. No WHEN-to-use guidance, no dependency hints, no chaining context.