Skip to main content
Glama

🐮 Moo Tasks

CI License: MIT Node: >=18.0.0 MCP Ready

Агентный движок оркестрации и управления задачами, созданный для ИИ-агентов, которые пишут код (Claude Code, Cursor, Windsurf, Antigravity, Copilot), и для парного программирования с человеком в контуре (human-in-the-loop).

[Быстрый старт](#- quick-start) • [Настройка агента и MCP](#- agent--mcp-setup) • АрхитектураMCP-инструменты


🌟 Почему Moo Tasks?

Стандартные ИИ-агенты часто страдают от следующих проблем:

  1. Расползание объёма: уход от исходного намерения пользователя в бесконечные малозначимые рефакторинги.

  2. Перепланирование: создание 40 поверхностных задач без выполнения хотя бы одной из них.

  3. Зацикливание / топтание на месте:повторение одной и той же неудачной попытки исправления по кругу без остановки.

  4. Непроверяемая работа: заявление о завершённости кода без запуска тестов и без предоставления доказательств.

  5. Повторное оспаривание решений: переобсуждение уже принятых архитектурных решений при каждом сбросе контекста.

Moo Tasks решает эту проблему, предоставляя локальный SQLite-движок (режим WAL), полнофункциональный веб-интерфейс в реальном времени и сервер Model Context Protocol (MCP), который обеспечивает соблюдение строгих корпоративных инвариантов в рантайме.


Related MCP server: agentloop

✨ Ключевые возможности и функциональная матрица

🎯 1. Цели и контроль объёма

  • Дословные промпты человека: находятся над задачами и сохраняют точный исходный запрос пользователя.

  • Покрытие цели и незакрытые задачи: живые метрики по проценту выполнения задач и по зависшим открытым задачам.

  • Обнаружение расползания объёма: автоматически находит и помечает задачи-сироты, не привязанные ни к одной цели.

  • Лимит открытых задач на цель: жёсткий предел максимального количества открытых задач на одну цель (по умолчанию: 10), который не даёт агентам перепланировать.

  • Каскадные операции: атомарно отменяет, останавливает или переоткрывает все задачи в рамках цели с обязательным указанием причин.

📋 2. Жизненный цикл задач и DAG-зависимости

  • Ограничение вложенности подзадач: ровно один уровень подзадач внутри родительской задачи.

  • Конечный автомат: todo, doing, blocked-on-dependency, waiting-on-human, done, dropped.

  • Граф зависимостей DAG: автоматическое обнаружение циклов и автоматическая разблокировка последующих задач.

  • Защита закрытия родителя: предотвращает закрытие родительской задачи, пока любая подзадача остаётся открытой.

  • Отмена и история статусов: откат случайных переходов состояния с помощью полной истории изменений.

🛡️ 3. Завершение, верификация и подтверждение работы

  • Критерии приёмки: обязательные критерии записываются в Markdown до начала работы.

  • Требование доказательств: закрытие задачи требует подтверждаемых доказательств (выполненные команды, вывод stdout, результаты тестов).

  • Двухфазная верификация: различает agent_completed и подтверждение человека verified_done.

  • Отклонение с причиной: люди или другие агенты могут отклонить выполненную работу с обратной связью; задача возвращается в todo, а счётчик переоткрытий увеличивается.

🙋 4. Взаимодействие с человеком и блокировки

  • Очередь ожидания человека: агенты ставят блокирующие задачи на паузу с прикреплёнными вопросами (clarification, approval, credential, decision).

  • Реактивное возобновление: ответ на вопрос через Web UI или MCP автоматически возвращает задачу в очередь готовности без перезапуска агента.

  • Отдельный инбокс человека: очередь в реальном времени для всего, что требует внимания человека.

🔍 5. Обнаруженная работа

  • Захват работы в середине задачи: фиксирует новую работу, обнаруженную на середине выполнения, не снимая захвата текущей задачи.

  • Обязательное исправление vs отложенное: помечается как must-fix-now (вставляется как блокер) или deferred (в бэклог).

🤖 6. Владение, конкурентность и аренды

  • Эксклюзивный захват задач: аренда с автоматическим таймаутом (по умолчанию 5 минут), если агент замолчал.

  • Heartbeat-механизм: продление аренды на время выполнения долгих задач.

  • Лимит конкурентности агента: максимальное количество параллельных задач на одного агента (по умолчанию: 1).

  • Предупреждения о конфликтах файлов: заявленные файлы проверяются на пересечения с другими активными арендами.

🔄 7. Обнаружение застреваний и повторных циклов

  • Счётчик попыток: увеличивается при каждом захвате/попытке.

  • Автоматическая эскалация: после $N$ попыток (по умолчанию: 3) задача автоматически переводится в waiting-on-human вместо бесконечного цикла.

  • Контроль времени в состоянии: аудит времени, проведённого в doing, и обнаружение повторных переоткрытий.

🏛️ 8. Принятые архитектурные решения (ADR)

  • Запись уровня проекта: сохраняет решения и их обоснования, которые продолжают жить после завершения задач.

  • Консультация перед планированием: агенты читают принятые решения перед началом планирования.

  • Поддержка замены: обновляет и связывает заменённые решения с обязательным указанием причины.


🚀 Быстрый старт и установка

Вариант A: глобальная установка (рекомендуется для команды moo)

Установите moo-tasks глобально, чтобы получить доступ к короткой команде moo где угодно:

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

После установки вы можете использовать moo напрямую:

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

💡 Примечание о moo и npx:

  • Команда moo <command> работает при глобальной установке через npm install -g moo-tasks.

  • Если глобальной установки нет, используйте npx moo-tasks <command>не используйте npx moo, потому что moo в npm-реестре — это другой пакет).

  • Если после глобальной установки появляется ошибка moo: command not found, убедитесь, что каталог глобальных бинарников npm находится в $PATH:

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

Вариант B: по запросу через npx moo-tasks

Запуск без глобальной установки:

1. Инициализация рабочего пространства и протоколов агента

Выполните в корне проекта:

npx moo-tasks init

Это:

  • инициализирует базу данных SQLite .moo/tasks.db в режиме WAL.

  • генерирует AGENTS.md, CLAUDE.md, .cursorrules и .windsurfrules.

2. Запуск локального веб-интерфейса

npx moo-tasks start

Откройте http://127.0.0.1:4242 в своём браузере.

Для доступа к веб-интерфейсу с другого устройства или планшета в локальной сети (LAN):

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

🔌 Настройка агентов и MCP

Установка для нескольких агентов одной командой

# 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

Ручная настройка

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

🤖 Обязательный протокол агента

Все ИИ-агенты, пишущие код, обязаны следовать этому жизненному циклу из 6 шагов:

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-инструментов

Имя инструмента

Назначение

moo_create_goal

Записать дословный запрос человека и установить лимит открытых задач

moo_list_goals

Список целей проекта и их статусов

moo_get_goal_status

Просмотр покрытия целей, открытых/лимитных задач и хвостов

moo_kill_goal

Удалить цель и каскадно удалить все дочерние задачи с указанием причины

moo_reopen_goal

Переоткрыть цель и её задачи

moo_create_task

Создать задачу в рамках цели с критериями приёмки и заявленными файлами

moo_create_tasks_batch

Массовое атомарное создание нескольких задач

moo_quick_start

⚡ Экспресс-инструмент за 1 вызов: атомарно создаёт и закрепляет задачу с арендой и заявленными файлами

moo_checkpoint

⚡ Быстрая контрольная точка прогресса: добавляет заметку о попытке и продлевает heartbeat

moo_get_compact_context

🧠 Сверхплотный оптимизированный по токенам блок контекста (< 400 токенов) для инъекции в промпт

moo_update_task

Обновить название, критерии, приоритет, заявленные файлы или цель

moo_link_dependencies

Связать блокирующие зависимости с проверкой циклов

moo_unlink_dependencies

Отвязать блокирующую зависимость

moo_get_next_task

Автоматически показать следующую разблокированную задачу с наивысшим приоритетом

moo_get_task

Получить полные сведения о задаче, подзадачах, заметках, зависимостях

moo_list_tasks

Фильтровать задачи по цели, статусу, приоритету, агенту, отложенным

moo_claim_task

Эксклюзивно закрепить задачу (с проверкой аренды и конфликтов)

moo_heartbeat_task

Продлить активную аренду при длительных задачах

moo_release_task

Добровольно вернуть закреплённую задачу в очередь

moo_handoff_task

Передать выполняемую задачу другому агенту с заметками

moo_complete_task

Отметить задачу выполненной с обязательными командами/доказательствами

moo_verify_task

Проверить выполнение задачи (человеком или агентом верификации)

moo_reject_task

Отклонить выполненную задачу с обязательным указанием причины

moo_ask_human

Эскалировать вопрос человеку и поставить задачу на паузу

moo_get_human_inbox

Список всех задач, ожидающих указаний человека

moo_answer_human

Ответить на вопрос и автоматически возобновить задачу

moo_capture_discovered_work

Добавить обнаруженную работу (обязательную к исправлению или отложенную)

moo_add_task_note

Добавить заметку с контекстом/попыткой с отметкой времени и автором

moo_list_task_notes

Список истории контекста и журналов попыток

moo_drop_task

Удалить задачу с обязательным указанием причины

moo_reopen_task

Переоткрыть задачу без потери истории аудита

moo_undo_status_change

Отменить последнее изменение статуса

moo_bulk_drop_tasks

Удалить несколько задач одной операцией

moo_bulk_reopen_tasks

Переоткрыть несколько задач одной операцией

moo_record_decision

Зафиксировать архитектурное решение уровня проекта

moo_list_decisions

Список принятых решений перед планированием

moo_supersede_decision

Заменить решение новым обоснованием

moo_merge_tasks

Объединить дублирующиеся задачи

moo_session_resume

Сводка сессии «На чём я остановился?»

moo_export_project

Экспортировать проект в Markdown, JSON или обычный текст

moo_archive_completed

Архивировать выполненные/удалённые задачи из активного списка


🏛️ Архитектура и чистый код

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

🤝 Вклад в проект

Вклад приветствуется! Пожалуйста, ознакомьтесь с CONTRIBUTING.md для получения информации о настройке окружения, тестировании и правилах оформления PR.


📄 Лицензия

Этот проект распространяется под лицензией 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