io.github.vorluno/batuta-mcp
Split a task into plans with disjoint file boundaries; scaffold a git worktree per plan.
ماذا يمكنك أن تفعل مع io.github.vorluno/batuta-mcp؟
- 🧠 Disjoint decomposition — plans are generated so no file appears in two plans.
- ♻️ Auto-correction — if the model returns overlapping boundaries, it retries once to separate them.
- 🌳 Worktree scaffolding — one isolated
git worktreeper plan, with a ready-to-paste prompt. - 🔒 Safe by design — pre-flight checks (valid git repo, no overlaps, no path traversal) before touching disk;
dryRunpreviews without writing. - 🪶 Stateless — nothing persisted; uses your logged-in
claudeCLI (no API key needed).
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
@vorluno/batuta-mcpclaude mcp add batuta-mcp -- npx -y @vorluno/batuta-mcp@0.1.0
{
"mcpServers": {
"batuta-mcp": {
"command": "npx",
"args": [
"-y",
"@vorluno/batuta-mcp@0.1.0"
]
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
batuta-mcp
Split a task into plans with disjoint file boundaries, then scaffold a git worktree per plan — so parallel agents never step on each other.
A stateless MCP server that turns a brain dump into conflict-free parallel work.
Retired
Claude Code now does this itself. Splitting work across isolated worktrees so parallel agents do not collide is built in, which is what this existed to provide.
The repository is archived and read-only. It still works — nothing was removed from npm, and the last published version keeps installing — but it will not be maintained, and it does not need to be. If you want the idea rather than the package, the whole design is in
docs/and the licence lets you take it.
Why
Running several coding agents in parallel is fast — until two of them edit the same file and silently clobber each other's work. The fix isn't live coordination; it's separation: give each agent a set of files that don't overlap, and the conflict can't happen by design.
batuta-mcp is the brain that does that split. You hand it a brain dump; it returns plans with disjoint file boundaries, and scaffolds an isolated git worktree for each one.
How it works
It's a stateless MCP server (stdio). No database, no daemon, no web UI — just three tools that compose:
- Decompose a brain dump into 2–5 plans whose
fileBoundariesdon't overlap (auto-corrects once if they do). - Check that the boundaries are truly disjoint.
- Scaffold a
git worktreeper plan, returning a ready-to-paste prompt for each — open them in separate terminals/tabs and let one agent work each, conflict-free.
The "muscle" (running the agents, the terminals) stays in your editor; batuta-mcp is just the planning brain.
Features
- 🧠 Disjoint decomposition — plans are generated so no file appears in two plans.
- ♻️ Auto-correction — if the model returns overlapping boundaries, it retries once to separate them.
- 🌳 Worktree scaffolding — one isolated
git worktreeper plan, with a ready-to-paste prompt. - 🔒 Safe by design — pre-flight checks (valid git repo, no overlaps, no path traversal) before touching disk;
dryRunpreviews without writing. - 🪶 Stateless — nothing persisted; uses your logged-in
claudeCLI (no API key needed).
Requirements
- Bun 1.3+
git2.x (forscaffold_worktrees)- The
claudeCLI, logged in (fordecompose_into_plans) - Claude Code or any MCP client
Installation
From npm — nothing to clone:
claude mcp add batuta -- bunx --bun @vorluno/batuta-mcp
From source — if you want to change it:
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
Configuration
Any MCP client works. The mcpServers entry:
{
"mcpServers": {
"batuta": {
"command": "bun",
"args": ["run", "/absolute/path/to/batuta-mcp/src/index.ts"]
}
}
}
For Claude Code, claude mcp add (above) writes this for you. For Warp or Cursor, paste the snippet into their MCP settings.
Tools
| Tool | Description |
|---|---|
decompose_into_plans | { brainDump, projectHint?, repoPath? } → { plans, overlapsResolved, attempts }. Splits the work into plans with disjoint boundaries (auto-corrects overlaps once). |
check_boundary_overlaps | { plans } → { overlaps, ok }. Pure check: do any plans share files? |
scaffold_worktrees | { repoPath, plans, dryRun? } → { results }. Pre-flight, then git worktree add per plan + a ready-to-paste prompt. |
Typical flow
decompose_into_plans→ plans with disjoint boundaries.check_boundary_overlaps→ confirmok: true(or adjust).scaffold_worktrees→ creates the worktrees; open each in its own terminal/tab and paste itssuggestedPrompt.
Development
bun test # full suite
bunx tsc --noEmit # type-check
Built test-first across 10 TDD tasks with per-task and whole-branch review.
Contributing and security
Read CONTRIBUTING.md first — its first line tells you whether your pull request will be considered. Vulnerabilities go to security@vorluno.dev, never to an issue: see SECURITY.md, where the 72-hour acknowledgement is the one response time we commit to.
License
Apache-2.0 © 2026 Vorluno. See NOTICE.
Up to and including 0.1.0 this was MIT. Those releases stay MIT — a licence already granted cannot be withdrawn. From 0.2.0 on it is Apache-2.0, which grants patent rights explicitly.
Built by Vorluno — a software studio from Panamá 🇵🇦
Part of the mcp-s family of MCP servers.
Looking for live coordination between sessions instead of separation? See agora.
الأسئلة الشائعة
ما هو io.github.vorluno/batuta-mcp؟
Split a task into plans with disjoint file boundaries; scaffold a git worktree per plan.
كيف أثبّت io.github.vorluno/batuta-mcp؟
يعمل على جهازك. في Claude Code: claude mcp add batuta-mcp -- npx -y @vorluno/batuta-mcp@0.1.0. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج io.github.vorluno/batuta-mcp إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل io.github.vorluno/batuta-mcp مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص Apache-2.0.
من يصون io.github.vorluno/batuta-mcp؟
ينشره vorluno. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.