moo-tasks
🐮 Moo Tasks
AIエージェント向けタスクオーケストレーション&管理エンジン。AIコーディングエージェント(Claude Code、Cursor、Windsurf、Antigravity、Copilot)と人間参加型ペアプログラミングのために構築されました。
クイックスタート • エージェント設定 • エージェントプロトコル • アーキテクチャ • MCPツール
🌟 Moo Tasks が選ばれる理由
標準的なAIコーディングエージェントには、以下のような問題がよくあります。
スコープ逸脱: 元のユーザーの意図から離れ、価値の低いリファクタリングを延々と繰り返す。
過剰な計画: 40個の浅いタスクを生成するだけで、どれも実行しない。
ループ/スラッシング: 失敗した修正を止めずに何度も繰り返す。
検証不可能な作業: テストを実行したり証拠を出したりせずに、コードが完成したと主張する。
決定の再議論: コンテキストがリセットされるたびに、確定済みのアーキテクチャ上の選択を再び議論する。
Moo Tasks は、ローカルSQLiteエンジン(WALモード)、リッチなリアルタイムWeb UI、そして実行時に厳格なエンタープライズ不変条件を強制するModel Context Protocol(MCP)サーバーを提供することで、この問題を解決します。
Related MCP server: agentloop
✨ 主要機能と機能マトリックス
🎯 1. 目標とスコープの制御
逐語的な人間のプロンプト: タスクの上位に位置し、元のユーザーリクエストを正確に保持します。
目標カバレッジと未完了事項: タスク完了率と残存するオープンタスクのライブメトリクス。
スコープ逸脱検出: リンクされた目標のない孤立タスクを自動的に特定してフラグを立てます。
目標オープン上限: 目標ごとの最大オープンタスク数のハードキャップ(デフォルト: 10)。エージェントの過剰な計画を防ぎます。
カスケード操作: 目標配下の全タスクを、必須の理由付きでアトミックにドロップ、キル、または再オープンします。
📋 2. タスクライフサイクルとDAG依存関係
サブタスクネスト制約: 親タスク配下のサブタスクは正確に1レベル。
有限状態マシン:
todo、doing、blocked-on-dependency、waiting-on-human、done、dropped。DAG依存関係グラフ: 自動的な循環検出と、下流タスクの自動的なブロック解除。
親クロージャーガード: サブタスクがオープンなまま親タスクを閉じることを防ぎます。
ステータス取り消しと履歴: 完全な遷移監査履歴を使用して、誤った状態遷移をロールバックします。
🛡️ 3. 完了、検証、作業の証明
受け入れ基準: 作業開始前にMarkdownで必須の基準を記述します。
証拠要件: タスクを閉じるには検証可能な証明(実行したコマンド、標準出力、テストの証明)が必要です。
2段階検証:
agent_completedと人間によるverified_doneを区別します。理由付き拒否: 人間またはピアエージェントは、フィードバック付きで完了した作業を拒否できます。タスクは
todoに戻り、再オープンカウンターが増加します。
🙋 4. 人間とのコラボレーションとブロッキング
人間待ちキュー: エージェントは、添付された質問(
clarification、approval、credential、decision)とともにブロッカーを一時停止します。リアクティブ再開: Web UIまたはMCPを介して質問に回答すると、エージェントを再起動することなく、タスクは自動的に準備完了キューに戻ります。
専用の人間用インボックス: 人間の注意を必要とするすべてのものをリアルタイムでキュー表示します。
🔍 5. 発見された作業
タスク途中の作業キャプチャ: 現在のタスクのクレームを放棄せずに、途中で見つかった新しい作業をキャプチャします。
必須修正と延期:
must-fix-now(ブロッカーとして挿入)またはdeferred(バックログの山)としてマークします。
🤖 6. 所有権、並行性、リース
排他的タスククレーム: エージェントが沈黙した場合に自動タイムアウト(デフォルト5分)付きのリース。
ハートビートメカニズム: 長時間実行タスク中にリースを延長します。
エージェント並行性制限: エージェントごとに同時に保持できるタスク数の上限(デフォルト: 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は使用しないでください。npmレジストリのmooは無関係なパッケージです)。グローバルインストール後に
moo: command not foundが表示される場合は、npmのグローバルbinディレクトリが$PATHに含まれていることを確認してください。export PATH="$(npm prefix -g)/bin:$PATH"
オプションB: npx moo-tasks によるオンデマンド実行
グローバルインストールなしで直接実行します。
1. ワークスペースとエージェントプロトコルの初期化
プロジェクトルートで実行します。
npx moo-tasks initこれにより:
.moo/tasks.dbSQLiteデータベースがWALモードで初期化されます。AGENTS.md、CLAUDE.md、.cursorrules、.windsurfrulesが生成されます。
2. ローカルWeb UIの起動
npx moo-tasks startブラウザで http://127.0.0.1:4242 を開きます。
ローカルネットワーク(LAN)上の別のデバイスやタブレットからWeb UIにアクセスするには:
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"]
}
}
}🤖 必須エージェントプロトコル
すべてのAIコーディングエージェントは、この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ツールリファレンス
ツール名 | 目的 |
| 人間の逐語的なプロンプトを記録し、未完了タスクの上限を設定する |
| プロジェクトの目標とステータスを一覧表示する |
| 目標の達成状況、未完了数と上限、未処理事項を表示する |
| 目標を破棄し、理由付きで子タスクをすべて連鎖的に破棄する |
| 目標とそのタスクを再開する |
| 目標の下に、受け入れ基準と宣言ファイル付きでタスクを作成する |
| 複数のタスクを原子的に一括作成する |
| ⚡ 1回の呼び出しで完了する高速ツール: リースと宣言ファイル付きでタスクを原子的に作成し、クレームする |
| ⚡ 高速な進捗チェックポイント: 試行メモを追記し、ハートビートを延長する |
| 🧠 プロンプト注入用の超高密度トークン最適化コンテキストブロック(400トークン未満) |
| タイトル、基準、優先度、宣言ファイル、または目標を更新する |
| サイクル検証付きで前提ブロッカーをリンクする |
| 前提ブロッカーのリンクを解除する |
| 次にブロックされていない最優先タスクを自動的に表示する |
| タスクの詳細、サブタスク、メモ、依存関係を取得する |
| 目標、ステータス、優先度、エージェント、延期状況でタスクをフィルタリングする |
| タスクを排他的にクレームする(リースと競合チェックを強制) |
| 長時間実行タスク中にアクティブなリースを延長する |
| クレームを自発的にTODOに戻す |
| 進行中のタスクをメモ付きで別のエージェントに引き継ぐ |
| 必須のコマンド/証拠付きでタスクを完了とマークする |
| タスクの完了を検証する(人間または検証エージェント) |
| 必須の理由付きで完了タスクを却下する |
| 質問を人間にエスカレーションし、タスクを一時停止する |
| 人間の指示を待っているすべてのタスクを一覧表示する |
| 質問に回答し、タスクを自動再開する |
| 発見された作業を追加する(必須修正または延期) |
| タイムスタンプ付きで帰属情報を含むコンテキスト/試行メモを追記する |
| コンテキスト履歴と試行ログを一覧表示する |
| 必須の理由付きでタスクを破棄する |
| 監査履歴を失わずにタスクを再開する |
| 最後のステータス遷移を元に戻す |
| 単一の操作で複数のタスクを破棄する |
| 単一の操作で複数のタスクを再開する |
| プロジェクトレベルのアーキテクチャ上の決定を記録する |
| 計画前に確定した決定を一覧表示する |
| 新しい根拠で決定を置き換える |
| 重複タスクをマージする |
| 「どこまで進めた?」セッションサマリー |
| プロジェクトをMarkdown、JSON、またはプレーンテキストにエクスポートする |
| 完了/破棄されたタスクをアクティブリストからアーカイブする |
🏛️ アーキテクチャとクリーンコード
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🤝 コントリビューション
コントリビューションを歓迎します!開発環境のセットアップ、テスト、PRガイドラインについてはCONTRIBUTING.mdをご確認ください。
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。
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