Skip to main content
Glama

🐮 Moo Tasks

CI License: MIT Node: >=18.0.0 MCP Ready

Motor de orquestación y gestión de tareas agénticas construido para agentes de codificación de IA (Claude Code, Cursor, Windsurf, Antigravity, Copilot) y programación en pareja con intervención humana.

Inicio rápidoConfiguración del agenteProtocolo del agenteArquitecturaHerramientas MCP


🌟 ¿Por qué Moo Tasks?

Los agentes de codificación de IA estándar suelen sufrir de:

  1. Desviación del alcance: Alejarse de la intención original del usuario hacia refactorizaciones interminables de bajo valor.

  2. Sobreplanificación: Generar 40 tareas superficiales sin ejecutar ninguna de ellas.

  3. Bucles / Thrashing: Intentar repetidamente la misma corrección fallida sin detenerse.

  4. Trabajo no verificable: Afirmar que el código está completo sin ejecutar pruebas ni producir evidencia.

  5. Reabrir decisiones: Volver a discutir decisiones arquitectónicas ya establecidas en cada reinicio de contexto.

Moo Tasks resuelve esto proporcionando un motor SQLite local (modo WAL), una interfaz web enriquecida en tiempo real y un servidor del Model Context Protocol (MCP) que aplica invariantes empresariales estrictas en tiempo de ejecución.


Related MCP server: agentloop

✨ Capacidades clave y matriz de funciones

🎯 1. Control de objetivos y alcance

  • Indicaciones humanas textuales: Se sitúa por encima de las tareas, preservando la solicitud original exacta del usuario.

  • Cobertura de objetivos y cabos sueltos: Métricas en vivo sobre el porcentaje de finalización de tareas y tareas abiertas pendientes.

  • Detección de desviación del alcance: Identifica y marca automáticamente tareas huérfanas sin objetivo vinculado.

  • Límites de objetivos abiertos: Tope máximo de tareas abiertas por objetivo (predeterminado: 10), evitando que los agentes sobreplanifiquen.

  • Operaciones en cascada: Eliminar, matar o reabrir atómicamente todas las tareas bajo un objetivo con razones obligatorias.

📋 2. Ciclo de vida de tareas y dependencias DAG

  • Restricción de anidamiento de subtareas: Exactamente 1 nivel de subtareas bajo una tarea principal.

  • Máquina de estados finitos: todo, doing, blocked-on-dependency, waiting-on-human, done, dropped.

  • Grafo de dependencias DAG: Detección automática de ciclos y desbloqueo automático de tareas posteriores.

  • Protección de cierre de tareas principales: Evita cerrar tareas principales mientras quede alguna subtarea abierta.

  • Deshacer estado e historial: Revertir transiciones de estado accidentales utilizando el historial completo de auditoría de transiciones.

🛡️ 3. Finalización, verificación y prueba de trabajo

  • Criterios de aceptación: Criterios obligatorios escritos en Markdown antes de comenzar el trabajo.

  • Requisito de evidencia: Cerrar una tarea requiere una prueba verificable (comandos ejecutados, salida de stdout, pruebas de test).

  • Verificación en dos fases: Distingue agent_completed de verified_done humano.

  • Rechazo con motivo: Los humanos u otros agentes pueden rechazar trabajo completado con comentarios; la tarea vuelve a todo e incrementa el contador de reaperturas.

🙋 4. Colaboración humana y bloqueo

  • Cola de espera humana: Los agentes pausan los bloqueadores con preguntas adjuntas (clarification, approval, credential, decision).

  • Reanudación reactiva: Responder a una pregunta a través de la interfaz web o MCP transiciona automáticamente la tarea de vuelta a la cola de listas sin reiniciar agentes.

  • Bandeja de entrada humana dedicada: Cola en tiempo real de todo lo que necesita atención humana.

🔍 5. Trabajo descubierto

  • Captura de trabajo a mitad de tarea: Capturar nuevo trabajo encontrado en plena ejecución sin renunciar a la reclamación de la tarea actual.

  • Debe corregirse vs diferido: Marcar como must-fix-now (insertado como bloqueador) o deferred (pila de backlog).

🤖 6. Propiedad, concurrencia y concesiones

  • Reclamaciones exclusivas de tareas: Concesiones con tiempo de espera automático (predeterminado: 5 minutos) cuando los agentes quedan en silencio.

  • Mecanismo de heartbeat: Extender las concesiones durante tareas de larga duración.

  • Límites de concurrencia de agentes: Tope de tareas simultáneas por agente (predeterminado: 1).

  • Advertencias de conflicto de archivos: Los archivos declarados se comprueban para detectar solapamientos con otras reclamaciones activas.

🔄 7. Detección de estancamiento y thrashing

  • Contador de intentos: Se incrementa en cada reclamación/intento.

  • Autoescalado: Después de $N$ intentos (predeterminado: 3), pausa automáticamente la tarea a waiting-on-human en lugar de bucles infinitos.

  • Seguimiento del tiempo en estado: Audita el tiempo invertido en doing y detecta reaperturas repetidas.

🏛️ 8. Decisiones arquitectónicas establecidas (ADR)

  • Registro a nivel de proyecto: Preserva decisiones y justificaciones que sobreviven a las tareas.

  • Consulta previa a la planificación: Los agentes leen las decisiones establecidas antes de planificar.

  • Soporte de sustitución: Actualizar y vincular limpiamente las decisiones sustituidas con motivos obligatorios.


🚀 Inicio rápido e instalación

Opción A: Instalación global (recomendada para el comando moo)

Instala moo-tasks globalmente para acceder al comando corto moo desde cualquier lugar:

npm install -g moo-tasks
# or: pnpm add -g moo-tasks | bun add -g moo-tasks

Una vez instalado, puedes usar moo directamente:

moo init       # Initialize .moo workspace in current project
moo start      # Launch real-time Web UI (http://127.0.0.1:4242)
moo ws         # List registered global workspaces
moo status     # Show Where-Did-I-Leave-Off context
moo search     # Full-text SQLite search

💡 Nota sobre moo vs npx:

  • El comando moo <command> funciona cuando se instala globalmente mediante npm install -g moo-tasks.

  • Si se ejecuta sin instalación global, usa npx moo-tasks <command> (no uses npx moo, ya que moo en el registro npm es un paquete no relacionado).

  • Si aparece moo: command not found después de la instalación global, asegúrate de que el directorio bin global de npm esté en tu $PATH:

    export PATH="$(npm prefix -g)/bin:$PATH"

Opción B: Bajo demanda con npx moo-tasks

Ejecuta directamente sin instalación global:

1. Inicializar el espacio de trabajo y los protocolos del agente

Ejecuta en la raíz de tu proyecto:

npx moo-tasks init

Esto:

  • Inicializa la base de datos SQLite .moo/tasks.db con modo WAL.

  • Genera AGENTS.md, CLAUDE.md, .cursorrules y .windsurfrules.

2. Iniciar la interfaz web local

npx moo-tasks start

Abre http://127.0.0.1:4242 en tu navegador.

Para acceder a la interfaz web desde otro dispositivo o tableta en tu red local (LAN):

npx moo-tasks start --lan
# Automatically logs: http://192.168.x.x:4242/

🔌 Configuración del agente y MCP

Instalador multiagente de un comando

# Configure all detected agent IDEs at once:
npx moo-tasks install all

# Or configure specific clients:
npx moo-tasks install claude       # Updates ~/.claude.json
npx moo-tasks install cursor       # Generates .cursor/mcp.json
npx moo-tasks install windsurf     # Updates ~/.codeium/windsurf/mcp_config.json
npx moo-tasks install antigravity  # Generates .gemini/settings.json

Configuración manual

{
  "mcpServers": {
    "moo-tasks": {
      "command": "npx",
      "args": ["moo-tasks", "mcp"]
    }
  }
}

🤖 Protocolo obligatorio del agente

Se instruye a todos los agentes de codificación de IA a seguir este ciclo de vida de 6 pasos:

1. SESSION RESUME  → Call moo_session_resume() & moo_list_decisions()
2. ANCHOR GOAL     → Call moo_create_goal(title, verbatimPrompt)
3. PLAN & CRITERIA → Call moo_create_task() with markdown criteria BEFORE code
4. EXCLUSIVE CLAIM → Call moo_claim_task(taskId, agentId, sessionId)
5. IMPLEMENTATION  → If blocked, call moo_ask_human() or link blockers
6. VERIFIED PROOF  → Call moo_complete_task() with test proof & output snippet
7. ADR RECORD      → Call moo_record_decision() for architectural choices

🛠️ Referencia de herramientas MCP

Nombre de la herramienta

Propósito

moo_create_goal

Registrar el prompt textual del humano y establecer el límite de tareas abiertas

moo_list_goals

Listar los objetivos del proyecto y sus estados

moo_get_goal_status

Ver la cobertura del objetivo, abiertas vs límite y cabos sueltos

moo_kill_goal

Eliminar el objetivo y eliminar en cascada todas las tareas hijas con motivo

moo_reopen_goal

Reabrir el objetivo y sus tareas

moo_create_task

Crear tarea bajo el objetivo con criterios de aceptación y archivos declarados

moo_create_tasks_batch

Crear múltiples tareas en lote de forma atómica

moo_quick_start

⚡ Herramienta exprés de un solo paso: crea y reclama la tarea de forma atómica con arrendamiento y archivos declarados

moo_checkpoint

⚡ Punto de control rápido de progreso: añade nota de intento y extiende el latido

moo_get_compact_context

🧠 Bloque de contexto ultradenso optimizado en tokens (< 400 tokens) para inyección de prompts

moo_update_task

Actualizar título, criterios, prioridad, archivos declarados u objetivo

moo_link_dependencies

Vincular bloqueadores de requisitos previos con validación de ciclos

moo_unlink_dependencies

Desvincular bloqueador de requisitos previos

moo_get_next_task

Mostrar automáticamente la siguiente tarea desbloqueada de mayor prioridad

moo_get_task

Obtener detalles completos de la tarea, subtareas, notas y dependencias

moo_list_tasks

Filtrar tareas por objetivo, estado, prioridad, agente o diferidas

moo_claim_task

Reclamar tarea en exclusiva (aplica arrendamiento y comprobaciones de conflictos)

moo_heartbeat_task

Extender el arrendamiento activo durante tareas de larga duración

moo_release_task

Liberar voluntariamente la reclamación de vuelta a pendientes

moo_handoff_task

Transferir tarea en curso a otro agente con notas

moo_complete_task

Marcar tarea como completada con comandos/pruebas obligatorias

moo_verify_task

Verificar tarea completada (humano o agente de verificación)

moo_reject_task

Rechazar tarea completada con motivo obligatorio

moo_ask_human

Escalar pregunta al humano y pausar la tarea

moo_get_human_inbox

Listar todas las tareas en espera de orientación humana

moo_answer_human

Responder pregunta y reanudar tarea automáticamente

moo_capture_discovered_work

Añadir trabajo descubierto (de corrección obligatoria o diferido)

moo_add_task_note

Añadir nota de contexto/intento con marca de tiempo y atribución

moo_list_task_notes

Listar historial de contexto y registros de intentos

moo_drop_task

Eliminar tarea con motivo obligatorio

moo_reopen_task

Reabrir tarea sin perder el historial de auditoría

moo_undo_status_change

Deshacer la última transición de estado

moo_bulk_drop_tasks

Eliminar múltiples tareas en una sola operación

moo_bulk_reopen_tasks

Reabrir múltiples tareas en una sola operación

moo_record_decision

Registrar decisión arquitectónica a nivel de proyecto

moo_list_decisions

Listar decisiones tomadas antes de planificar

moo_supersede_decision

Sustituir decisión con nueva justificación

moo_merge_tasks

Fusionar tareas duplicadas

moo_session_resume

Resumen de sesión "¿Dónde me quedé?"

moo_export_project

Exportar proyecto a Markdown, JSON o texto plano

moo_archive_completed

Archivar tareas completadas/eliminadas fuera de la lista activa


🏛️ Arquitectura y Código Limpio

src/
├── domain/                    # Pure Enterprise Domain Rules & Invariants
│   ├── types.ts              # Domain interfaces & value types
│   ├── errors.ts             # Domain-specific typed error classes
│   ├── dependency.ts         # DAG cycle detector & unblocked evaluator
│   ├── conflict.ts           # File touch overlap conflict detector
│   └── similarity.ts         # Duplicate task similarity detector
│
├── infrastructure/            # Persistence & External Integrations
│   ├── db/database.ts        # SQLite manager (WAL mode, busy timeout)
│   ├── db/migrations.ts      # Schema DDL and versioning
│   ├── git/git-context.ts    # Git branch, commit, dirty status extractor
│   └── repositories/         # SQLite Repository Implementations
│
├── services/                  # Application Services (Use Cases)
│   ├── goal-service.ts        # Goal lifecycle & cap enforcement
│   ├── task-lifecycle-service.ts # State machine, ready queue, undo
│   ├── claim-service.ts       # Exclusive claims, leases, dead-agent timeout
│   ├── verification-service.ts# Proof of work & two-phase verification
│   ├── human-collab-service.ts# Human Q&A queue & reactive resume
│   ├── discovered-work-service.ts # Mid-flight discovered work
│   ├── decision-service.ts    # ADR logs & supersede linking
│   ├── duplicate-merge-service.ts # Idempotency & task merging
│   ├── session-service.ts     # Where-did-I-leave-off session resume
│   ├── housekeeping-service.ts# Archiving & multi-format export
│   └── index.ts               # Dependency Injection Container
│
├── mcp/                       # Model Context Protocol Stdio Server
├── server/                    # Fastify HTTP + Server-Sent Events (SSE) Engine
├── cli/                       # CLI Commands (start, init, install, mcp)
└── ui/                        # Vanilla JS + Tailwind + Lucide Icons Web UI

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Consulta CONTRIBUTING.md para la configuración de desarrollo, pruebas y pautas de PR.


📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Server-enforced workflow discipline for AI agents. An MCP server providing persistent work items, dependency graphs, quality gates, and actor attribution. Schemas define what agents must produce — the server blocks the call if they don't. Works with any MCP-compatible client.
    199
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that enables AI agents to run a deterministic orchestration loop with decomposition, subagent execution, and review feedback across multiple LLM backends.
    54
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for task management that enables AI agents to read, create, update tasks, and track work sessions, allowing agents and humans to collaborate on the same task board.
    2
    7
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.

  • MCP server for generating rough-draft project plans from natural-language prompts.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shekarsiri/moo-tasks'

If you have feedback or need assistance with the MCP directory API, please join our Discord server