Skip to main content
Glama

🐮 Moo Tasks

CI License: MIT Node: >=18.0.0 MCP Ready

Agentische Task-Orchestrierungs- und Verwaltungs-Engine für KI-Codierungsagenten (Claude Code, Cursor, Windsurf, Antigravity, Copilot) und Pair-Programming mit menschlicher Beteiligung.

Quick StartAgent-SetupAgent-ProtokollArchitekturMCP-Tools


🌟 Warum Moo Tasks?

Standard-KI-Codierungsagenten leiden oft unter:

  1. Scope-Drift: Abweichen von der ursprünglichen Benutzerabsicht hin zu endlosen, minderwertigen Refactorings.

  2. Überplanung: 40 oberflächliche Tasks erzeugen, ohne einen davon auszuführen.

  3. Schleifen / Thrashing: Wiederholt denselben fehlgeschlagenen Fix versuchen, ohne anzuhalten.

  4. Nicht verifizierbare Arbeit: Behaupten, Code sei fertig, ohne Tests auszuführen oder Nachweise zu erbringen.

  5. Erneutes Debattieren von Entscheidungen: Bereits geklärte Architekturentscheidungen bei jedem Kontext-Reset erneut diskutieren.

Moo Tasks löst dies durch eine lokale SQLite-Engine (WAL-Modus), eine umfangreiche Echtzeit-Web-UI und einen Model Context Protocol (MCP)-Server, der strenge Unternehmensinvarianten zur Laufzeit durchsetzt.


Related MCP server: agentloop

✨ Kernfunktionen & Feature-Matrix

🎯 1. Ziele & Scope-Kontrolle

  • Wörtliche menschliche Prompts: Liegt über den Tasks und bewahrt die exakte ursprüngliche Benutzeranfrage.

  • Zielabdeckung & lose Enden: Live-Kennzahlen zum Prozentsatz abgeschlossener Tasks und verbleibender offener Tasks.

  • Scope-Drift-Erkennung: Identifiziert und kennzeichnet automatisch verwaiste Tasks ohne verknüpftes Ziel.

  • Offene-Ziele-Obergrenze: Harte Obergrenze für maximal offene Tasks pro Ziel (Standard: 10), verhindert Überplanung durch Agenten.

  • Kaskadenoperationen: Atomares Löschen, Beenden oder Wiedereröffnen aller Tasks unter einem Ziel mit Pflichtbegründung.

📋 2. Task-Lebenszyklus & DAG-Abhängigkeiten

  • Subtask-Verschachtelungsbeschränkung: Genau 1 Ebene von Subtasks unter einem übergeordneten Task.

  • Endlicher Zustandsautomat: todo, doing, blocked-on-dependency, waiting-on-human, done, dropped.

  • DAG-Abhängigkeitsgraph: Automatische Zykluserkennung und automatisches Entsperren nachgelagerter Tasks.

  • Parent-Closure-Schutz: Verhindert das Schließen übergeordneter Tasks, solange Subtasks offen sind.

  • Status-Undo & Verlauf: Rückgängigmachen versehentlicher Zustandsübergänge mithilfe des vollständigen Übergangs-Auditverlaufs.

🛡️ 3. Abschluss, Verifizierung & Arbeitsnachweis

  • Abnahmekriterien: Pflichtkriterien, die vor Arbeitsbeginn in Markdown verfasst werden.

  • Nachweispflicht: Das Schließen eines Tasks erfordert verifizierbare Nachweise (ausgeführte Befehle, stdout-Ausgabe, Testnachweise).

  • Zweiphasen-Verifizierung: Unterscheidet agent_completed von menschlichem verified_done.

  • Ablehnung mit Begründung: Menschen oder Peer-Agenten können abgeschlossene Arbeit mit Feedback ablehnen; der Task kehrt zu todo zurück und der Wiedereröffnungszähler wird erhöht.

🙋 4. Menschliche Zusammenarbeit & Blockierung

  • Wartet-auf-Mensch-Warteschlange: Agenten pausieren Blocker mit angehängten Fragen (clarification, approval, credential, decision).

  • Reaktive Fortsetzung: Die Beantwortung einer Frage über Web-UI oder MCP überführt den Task automatisch zurück in die Bereit-Warteschlange, ohne dass Agenten neu gestartet werden müssen.

  • Dedizierter menschlicher Posteingang: Echtzeit-Warteschlange für alles, was menschliche Aufmerksamkeit erfordert.

🔍 5. Entdeckte Arbeit

  • Erfassung von Arbeit während Tasks: Neue Arbeit, die während der Ausführung entdeckt wird, erfassen, ohne den aktuellen Task-Anspruch aufzugeben.

  • Muss-behoben vs. aufgeschoben: Als must-fix-now (als Blocker eingefügt) oder deferred (Backlog-Stapel) markieren.

🤖 6. Eigentum, Nebenläufigkeit & Leases

  • Exklusive Task-Ansprüche: Leases mit automatischem Timeout (Standard: 5 Minuten), wenn Agenten verstummen.

  • Heartbeat-Mechanismus: Verlängert Leases während langlaufender Tasks.

  • Agenten-Nebenläufigkeitslimits: Obergrenze für gleichzeitig gehaltene Tasks pro Agent (Standard: 1).

  • Dateikonflikt-Warnungen: Deklarierte Dateien werden auf Überschneidungen mit anderen aktiven Ansprüchen geprüft.

🔄 7. Stillstands- & Thrash-Erkennung

  • Versuchszähler: Wird bei jedem Anspruch/Versuch erhöht.

  • Automatische Eskalation: Nach $N$ Versuchen (Standard: 3) wird der Task automatisch auf waiting-on-human pausiert, statt endlos zu schleifen.

  • Zeit-im-Zustand-Verfolgung: Prüft die Zeit im Zustand doing und erkennt wiederholte Wiedereröffnungen.

🏛️ 8. Festgelegte Architekturentscheidungen (ADR)

  • Projektebene-Aufzeichnung: Bewahrt Entscheidungen und Begründungen, die Tasks überdauern.

  • Konsultation vor der Planung: Agenten lesen festgelegte Entscheidungen, bevor sie planen.

  • Ersetzungsunterstützung: Sauberes Aktualisieren und Verknüpfen ersetzter Entscheidungen mit Pflichtbegründung.


🚀 Quick Start

1. Workspace & Agent-Protokolle initialisieren

Führen Sie in Ihrem Projektstammverzeichnis aus:

npx moo-tasks init

Dies:

  • Initialisiert die SQLite-Datenbank .moo/tasks.db im WAL-Modus.

  • Generiert AGENTS.md, CLAUDE.md, .cursorrules und .windsurfrules.

2. Lokale Web-UI starten

npx moo-tasks start

Öffnen Sie http://127.0.0.1:4242 in Ihrem Browser.

Für den Zugriff auf die Web-UI von einem anderen Gerät oder Tablet in Ihrem lokalen Netzwerk (LAN):

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

🔌 Agent- & MCP-Setup

Multi-Agent-Installer mit einem Befehl

# 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

Manuelle Konfiguration

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

🤖 Verbindliches Agent-Protokoll

Alle KI-Codierungsagenten werden angewiesen, diesen 6-Schritte-Lebenszyklus zu befolgen:

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

🛠️ MCP-Tool-Referenz

Tool-Name

Zweck

moo_create_goal

Wörtlichen menschlichen Prompt aufzeichnen und Obergrenze für offene Tasks festlegen

moo_list_goals

Projektziele und Status auflisten

moo_get_goal_status

Zielabdeckung, offene vs. Obergrenze und lose Enden anzeigen

moo_kill_goal

Ziel verwerfen und alle untergeordneten Tasks mit Begründung kaskadenartig löschen

moo_reopen_goal

Ziel und seine Tasks wiedereröffnen

moo_create_task

Task unter Ziel mit Abnahmekriterien und deklarierten Dateien erstellen

moo_create_tasks_batch

Mehrere Tasks atomar in Stapeln erstellen

moo_quick_start

⚡ 1-Aufruf-Express-Vibe-Tool: Erstellt und beansprucht Task atomar mit Lease und deklarierten Dateien

moo_checkpoint

⚡ Schneller Fortschritts-Checkpoint: Hängt Versuchsnotiz an und verlängert Heartbeat

moo_get_compact_context

🧠 Ultra-dichter, tokenoptimierter Kontextblock (< 400 Tokens) für Prompt-Injection

moo_update_task

Titel, Kriterien, Priorität, deklarierte Dateien oder Ziel aktualisieren

moo_link_dependencies

Voraussetzungs-Blocker mit Zyklusvalidierung verknüpfen

moo_unlink_dependencies

Voraussetzungs-Blocker entkoppeln

moo_get_next_task

Nächsten entsperrten Task mit höchster Priorität automatisch anzeigen

moo_get_task

Vollständige Task-Details, Subtasks, Notizen und Abhängigkeiten abrufen

moo_list_tasks

Tasks nach Ziel, Status, Priorität, Agent, aufgeschoben filtern

moo_claim_task

Task exklusiv beanspruchen (erzwingt Lease- & Konfliktprüfungen)

moo_heartbeat_task

Aktive Lease während langlaufender Tasks verlängern

moo_release_task

Anspruch freiwillig zurück zu todo freigeben

moo_handoff_task

Laufenden Task mit Notizen an anderen Agenten übergeben

moo_complete_task

Task mit Pflichtbefehlen/Nachweisen als erledigt markieren

moo_verify_task

Task als erledigt verifizieren (Mensch oder Verifizierungsagent)

moo_reject_task

Abgeschlossenen Task mit Pflichtbegründung ablehnen

moo_ask_human

Frage an Menschen eskalieren und Task pausieren

moo_get_human_inbox

Alle Tasks auflisten, die auf menschliche Anleitung warten

moo_answer_human

Frage beantworten und Task automatisch fortsetzen

moo_capture_discovered_work

Entdeckte Arbeit hinzufügen (muss-behoben oder aufgeschoben)

moo_add_task_note

Zeitgestempelte, zugeordnete Kontext-/Versuchsnotiz anhängen

moo_list_task_notes

Kontextverlauf und Versuchsprotokolle auflisten

moo_drop_task

Task mit Pflichtbegründung verwerfen

moo_reopen_task

Task ohne Verlust des Auditverlaufs wiedereröffnen

moo_undo_status_change

Letzten Statusübergang rückgängig machen

moo_bulk_drop_tasks

Mehrere Tasks in einem einzigen Vorgang verwerfen

moo_bulk_reopen_tasks

Mehrere Tasks in einem einzigen Vorgang wiedereröffnen

moo_record_decision

Architekturentscheidung auf Projektebene aufzeichnen

moo_list_decisions

Festgelegte Entscheidungen vor der Planung auflisten

moo_supersede_decision

Entscheidung mit neuer Begründung ersetzen

moo_merge_tasks

Doppelte Tasks zusammenführen

moo_session_resume

„Wo bin ich stehen geblieben?" – Sitzungszusammenfassung

moo_export_project

Projekt nach Markdown, JSON oder Plain Text exportieren

moo_archive_completed

Erledigte/verworfene Tasks aus der aktiven Liste archivieren


🏛️ Architektur & Sauberer Code

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

🤝 Mitwirken

Beiträge sind willkommen! Bitte lesen Sie CONTRIBUTING.md für Entwicklungseinrichtung, Tests und PR-Richtlinien.


📄 Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.

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