batuta-mcp について
batuta-mcpは、コーディング作業をファイル境界が重ならない計画に分割し、各計画用のgit worktreeを作成するステートレスなMCPサーバーです。アーカイブ済みで読み取り専用であり、並行エージェント間のファイル競合を避ける目的で作られました。
主な機能
- 01ファイルが重ならない計画へのタスク分割
- 02境界の重複を解消する1回の再試行
- 03計画ごとの独立したgit worktree作成
- 04dryRunによるworktree作成のプレビュー
- 05計画間のファイル境界重複の確認
活用シーン
- 01コーディングタスクの並行エージェントへの分担
- 02計画内のファイル重複の確認
- 03計画ごとの個別worktreeの準備
- 04ディスクへの書き込み前のworktree設定プレビュー
MCP 対応
MCPクライアントに、タスク分割、境界重複チェック、git worktree作成のツールを提供します。計画の分割にはログイン済みのclaude CLIを使います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
batuta-mcp
タスクをファイル境界が重複しない計画に分割し、計画ごとに git worktree を用意します。これにより、並列エージェント同士が互いの作業を妨げません。
ブレインダンプを、競合のない並列作業に変換するステートレスな MCP サーバーです。
提供終了
Claude Code がこの機能を自ら実行できるようになりました。 並列エージェントが衝突しないよう、作業を分離された worktree に分ける機能が組み込まれています。これは本ツールが提供していた機能です。
リポジトリはアーカイブされ、読み取り専用です。引き続き動作します — npm から削除されておらず、最後に公開されたバージョンもインストールできます — ただし、今後メンテナンスされることはなく、その必要もありません。パッケージではなくアイデアを利用したい場合は、設計全体が
docs/にあり、ライセンスにより自由に活用できます。
理由
複数のコーディングエージェントを並列で実行すれば高速です — 2つのエージェントが同じファイルを編集し、互いの作業を気づかないうちに上書きするまでは。解決策はリアルタイムの調整ではなく、分離です。それぞれのエージェントに重複しないファイル群を割り当てれば、設計上、競合は起こりません。
batuta-mcp は、作業を分割する頭脳です。ブレインダンプを渡すと、ファイル境界が重複しない計画を返し、それぞれに分離された git worktree を用意します。
仕組み
これはステートレスな MCP サーバー(stdio)です。データベースもデーモンも Web UI もなく、組み合わせて使える3つのツールだけを備えています。
- ブレインダンプを、
fileBoundariesが重複しない2~5件の計画に分解します(重複がある場合は1回だけ自動修正します)。 - 境界が本当に重複していないことを確認します。
- 計画ごとに
git worktreeを用意し、それぞれにすぐ貼り付けられるプロンプトを返します。別々のターミナル/タブで開き、エージェントを1つずつ割り当てれば、競合なく作業できます。
「実働部分」(エージェントの実行やターミナルの操作)はエディターに任せます。batuta-mcp は計画を立てる頭脳にすぎません。
機能
- 🧠 重複のない分解 — 2つの計画に同じファイルが含まれないように計画を生成します。
- ♻️ 自動修正 — モデルが境界の重複を返した場合、分離するために1回再試行します。
- 🌳 worktree の用意 — 計画ごとに分離された
git worktreeを作成し、すぐに貼り付けられるプロンプトを用意します。 - 🔒 設計段階から安全 — ディスクに触れる前に、事前チェック(有効な git リポジトリ、重複の有無、パストラバーサルの有無)を実行します。
dryRunなら書き込みを行わずにプレビューできます。 - 🪶 ステートレス — データは永続化されません。ログイン済みの
claudeCLI を使用するため、API キーは不要です。
要件
- Bun 1.3+
git2.x(scaffold_worktrees用)- ログイン済みの
claudeCLI(decompose_into_plans用) - Claude Code または任意の MCP クライアント
インストール
npm から — クローンは不要です。
claude mcp add batuta -- bunx --bun @vorluno/batuta-mcp
ソースから — 変更する場合はこちらです。
git clone https://github.com/vorluno/batuta-mcp.git
cd batuta-mcp
bun install
claude mcp add batuta -- bun run /absolute/path/to/batuta-mcp/src/index.ts
設定
どの MCP クライアントでも使用できます。mcpServers エントリーは次のとおりです。
{
"mcpServers": {
"batuta": {
"command": "bun",
"args": ["run", "/absolute/path/to/batuta-mcp/src/index.ts"]
}
}
}
Claude Code では、claude mcp add(上記)を実行すると、この設定が自動で書き込まれます。Warp または Cursor では、このスニペットを MCP 設定に貼り付けてください。
ツール
| ツール | 説明 |
|---|---|
decompose_into_plans | { brainDump, projectHint?, repoPath? } → { plans, overlapsResolved, attempts }。作業を境界が重複しない計画に分割します(重複があれば一度自動修正します)。 |
check_boundary_overlaps | { plans } → { overlaps, ok }。純粋なチェックです。複数の計画で同じファイルを共有していないか確認します。 |
scaffold_worktrees | { repoPath, plans, dryRun? } → { results }。事前チェックを行い、計画ごとに git worktree add を実行して、すぐに貼り付けられるプロンプトを用意します。 |
典型的なフロー
decompose_into_plans→ 境界が重複しない計画を作成します。check_boundary_overlaps→ok: trueであることを確認します(または調整します)。scaffold_worktrees→ ワークツリーを作成します。それぞれを独立したターミナルまたはタブで開き、suggestedPromptを貼り付けます。
開発
bun test # full suite
bunx tsc --noEmit # type-check
10 件の TDD タスクを通じて、テストファーストで開発し、タスクごとおよびブランチ全体のレビューを実施しました。
貢献とセキュリティ
まず CONTRIBUTING.md をお読みください。最初の行に、プルリクエストが検討対象となるかどうかが記載されています。脆弱性は [email protected] に報告してください。イシューには絶対に報告しないでください。SECURITY.md をご覧ください。72 時間以内の受領確認が、対応時間としてお約束する唯一のものです。
ライセンス
Apache-2.0 © 2026 Vorluno。NOTICE をご覧ください。
0.1.0 までのリリースは MIT ライセンスでした。これらのリリースには引き続き MIT ライセンスが適用されます。いったん付与されたライセンスを撤回することはできません。0.2.0 以降は Apache-2.0 で、特許権が明示的に付与されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。