moo-tasks
🐮 Moo Tasks
Agentische Task-Orchestrierungs- und Verwaltungs-Engine für KI-Codierungsagenten (Claude Code, Cursor, Windsurf, Antigravity, Copilot) und Pair-Programming mit menschlicher Beteiligung.
Quick Start • Agent-Setup • Agent-Protokoll • Architektur • MCP-Tools
🌟 Warum Moo Tasks?
Standard-KI-Codierungsagenten leiden oft unter:
Scope-Drift: Abweichen von der ursprünglichen Benutzerabsicht hin zu endlosen, minderwertigen Refactorings.
Überplanung: 40 oberflächliche Tasks erzeugen, ohne einen davon auszuführen.
Schleifen / Thrashing: Wiederholt denselben fehlgeschlagenen Fix versuchen, ohne anzuhalten.
Nicht verifizierbare Arbeit: Behaupten, Code sei fertig, ohne Tests auszuführen oder Nachweise zu erbringen.
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_completedvon menschlichemverified_done.Ablehnung mit Begründung: Menschen oder Peer-Agenten können abgeschlossene Arbeit mit Feedback ablehnen; der Task kehrt zu
todozurü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) oderdeferred(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-humanpausiert, statt endlos zu schleifen.Zeit-im-Zustand-Verfolgung: Prüft die Zeit im Zustand
doingund 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 initDies:
Initialisiert die SQLite-Datenbank
.moo/tasks.dbim WAL-Modus.Generiert
AGENTS.md,CLAUDE.md,.cursorrulesund.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.jsonManuelle 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 |
| Wörtlichen menschlichen Prompt aufzeichnen und Obergrenze für offene Tasks festlegen |
| Projektziele und Status auflisten |
| Zielabdeckung, offene vs. Obergrenze und lose Enden anzeigen |
| Ziel verwerfen und alle untergeordneten Tasks mit Begründung kaskadenartig löschen |
| Ziel und seine Tasks wiedereröffnen |
| Task unter Ziel mit Abnahmekriterien und deklarierten Dateien erstellen |
| Mehrere Tasks atomar in Stapeln erstellen |
| ⚡ 1-Aufruf-Express-Vibe-Tool: Erstellt und beansprucht Task atomar mit Lease und deklarierten Dateien |
| ⚡ Schneller Fortschritts-Checkpoint: Hängt Versuchsnotiz an und verlängert Heartbeat |
| 🧠 Ultra-dichter, tokenoptimierter Kontextblock (< 400 Tokens) für Prompt-Injection |
| Titel, Kriterien, Priorität, deklarierte Dateien oder Ziel aktualisieren |
| Voraussetzungs-Blocker mit Zyklusvalidierung verknüpfen |
| Voraussetzungs-Blocker entkoppeln |
| Nächsten entsperrten Task mit höchster Priorität automatisch anzeigen |
| Vollständige Task-Details, Subtasks, Notizen und Abhängigkeiten abrufen |
| Tasks nach Ziel, Status, Priorität, Agent, aufgeschoben filtern |
| Task exklusiv beanspruchen (erzwingt Lease- & Konfliktprüfungen) |
| Aktive Lease während langlaufender Tasks verlängern |
| Anspruch freiwillig zurück zu |
| Laufenden Task mit Notizen an anderen Agenten übergeben |
| Task mit Pflichtbefehlen/Nachweisen als erledigt markieren |
| Task als erledigt verifizieren (Mensch oder Verifizierungsagent) |
| Abgeschlossenen Task mit Pflichtbegründung ablehnen |
| Frage an Menschen eskalieren und Task pausieren |
| Alle Tasks auflisten, die auf menschliche Anleitung warten |
| Frage beantworten und Task automatisch fortsetzen |
| Entdeckte Arbeit hinzufügen (muss-behoben oder aufgeschoben) |
| Zeitgestempelte, zugeordnete Kontext-/Versuchsnotiz anhängen |
| Kontextverlauf und Versuchsprotokolle auflisten |
| Task mit Pflichtbegründung verwerfen |
| Task ohne Verlust des Auditverlaufs wiedereröffnen |
| Letzten Statusübergang rückgängig machen |
| Mehrere Tasks in einem einzigen Vorgang verwerfen |
| Mehrere Tasks in einem einzigen Vorgang wiedereröffnen |
| Architekturentscheidung auf Projektebene aufzeichnen |
| Festgelegte Entscheidungen vor der Planung auflisten |
| Entscheidung mit neuer Begründung ersetzen |
| Doppelte Tasks zusammenführen |
| „Wo bin ich stehen geblieben?" – Sitzungszusammenfassung |
| Projekt nach Markdown, JSON oder Plain Text exportieren |
| 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.
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityAmaintenanceServer-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.199MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that enables AI agents to run a deterministic orchestration loop with decomposition, subagent execution, and review feedback across multiple LLM backends.54MIT
- AlicenseNot gradedqualityCmaintenanceMCP 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.27MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage hierarchical tasks, track progress, handle dependencies, and coordinate work through an MCP server.5715GPL 3.0
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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