batuta-mcp
This server facilitates parallel, conflict-free development by breaking a large task into isolated plans and preparing a separate Git environment for each.
Decompose a brain dump into parallel plans: Provide a free-form description of work, and the server splits it into 2–5 plans, each with a title, spec, branch slug, and disjoint
fileBoundaries. It auto-corrects overlapping boundaries once if needed, returning metadata likeoverlapsResolvedandattempts.Check for file boundary overlaps: Given a list of plans, validate that no two plans share the same files. Returns an
okboolean and details of any detected overlaps.Scaffold isolated git worktrees: For a given repository path and set of plans, create a separate
git worktreefor each plan. Includes pre-flight safety checks (valid git repo, no overlapping boundaries, no path traversal). Each result includes the worktree path, the git command used, and a ready-to-paste agent prompt. Supports adryRunmode to preview actions without modifying the disk.
Creates git worktrees for each plan, enabling isolated development environments with a suggested prompt for each worktree.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@batuta-mcpdecompose task: add user login module"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
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.
Related MCP server: mmm-team-orchestrator
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
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.tsConfiguration
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 |
|
|
|
|
|
|
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-checkBuilt test-first across 10 TDD tasks with per-task and whole-branch review.
License
MIT © 2026 Vorluno
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.
Available Tools
3 toolscheck_boundary_overlapsCheck boundary overlapsC
Pure check: do any plans share file boundaries? Returns overlaps and ok.
| Name | Required | Description | Default |
|---|---|---|---|
| plans | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| overlaps | Yes | |
| ok | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It says 'Pure check' indicating a safe, read-only operation, and 'Returns overlaps and ok' hints at output structure. However, it does not specify whether modifications occur (though it suggests none) or other behaviors like potential failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences with no filler. It front-loads the core purpose ('Pure check') and immediately defines the task. Every word is impactful with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides minimal context for a simple tool with one parameter and an output schema. It covers the core function and non-destructiveness but omits usage context, parameter details, and how to interpret results beyond 'overlaps and ok.' Given the output schema exists, return values are partially covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain parameters. It mentions 'plans' but does not describe the inner fields branchSlug or fileBoundaries, leaving the agent without needed context about what constitutes a plan or how boundaries are structured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'do any plans share file boundaries?' which clearly identifies the tool as an overlap checker. It uses the verb 'check' and resource 'plans' with 'file boundaries,' distinguishing it from sibling tools like decompose_into_plans and scaffold_worktrees that likely create or manage plans.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description says 'Pure check' implying it's non-destructive, but it does not explain context, prerequisites, or suggest when to use other tools. An agent would not know when to choose this over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decompose_into_plansDecompose into plansB
Split a brain dump into 2-5 plans with DISJOINT file boundaries (auto-corrects overlaps once). Returns plans, overlapsResolved, attempts.
| Name | Required | Description | Default |
|---|---|---|---|
| brainDump | Yes | ||
| projectHint | No | ||
| repoPath | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| plans | Yes | |
| overlapsResolved | Yes | |
| attempts | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses key behavior: 'auto-corrects overlaps once' and output fields ('Returns plans, overlapsResolved, attempts'). However, it omits side effects (e.g., does it create files?), permission needs, or idempotency, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys purpose, constraints (2-5 plans, disjoint boundaries), behavior (auto-corrects), and output structure. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters and an output schema, the description mentions the output fields but lacks parameter explanations and usage guidelines. It is adequate but leaves gaps for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, yet the description adds no explanation for the three parameters ('brainDump', 'projectHint', 'repoPath'). The minimal value is provided by the schema names and types, but the description fails to clarify meaning or usage beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Split a brain dump into 2-5 plans with DISJOINT file boundaries (auto-corrects overlaps once).' The verb 'split' and resource 'brain dump into plans' is specific. It distinguishes from siblings like 'check_boundary_overlaps' and 'scaffold_worktrees' by focusing on decomposition with boundary handling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide when to use this tool versus its siblings. It implicitly assumes the user wants decomposition, but no explicit guidance on context, prerequisites, or situations to avoid is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scaffold_worktreesScaffold git worktreesA
Validate (git repo, no overlaps, safe paths) then create a git worktree per plan and return a ready-to-paste prompt per plan. Set dryRun to preview without touching disk.
| Name | Required | Description | Default |
|---|---|---|---|
| repoPath | Yes | ||
| plans | Yes | ||
| dryRun | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses validation (git repo, no overlaps, safe paths) and creation, plus dry-run preview, but lacks details on error handling, state changes, or output specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the main actions. However, it could separate validation details for better structure; overall it efficiently conveys key points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (nested plans array, validation steps) and lack of parameter descriptions, the description is moderately complete. The presence of an output schema partially compensates, but details on validation criteria and parameter constraints are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'per plan' and 'dryRun', but does not explain the individual fields of the plans array (title, specMd, fileBoundaries, branchSlug), leaving parameter semantics incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates and creates worktrees per plan, returning a ready-to-paste prompt. This distinguishes it from sibling tools 'check_boundary_overlaps' and 'decompose_into_plans', which handle earlier steps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used after planning and overlap checking, but doesn't explicitly state when to use it or when not to, nor does it mention alternatives beyond the implied workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
- First observed
check_boundary_overlaps - First observed
decompose_into_plans - First observed
scaffold_worktrees
This server cannot be installed
TDQS
Each tool has a clear, distinct purpose: checking overlaps, decomposing input, and scaffolding worktrees. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern with snake_case, making them predictable and easy to understand.
Three tools is exactly right for the focused domain of plan decomposition and worktree setup. The scope is well-defined.
The tool set covers the full workflow: validation (check), creation (decompose), and execution (scaffold). There are no obvious gaps for its stated purpose.
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 Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
A MCP server built for developers enabling Git based project management with project and personal…
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMCP server for managing a project backlog as Markdown files in Git, enabling AI agents to read, create, and update tasks programmatically.2-
- FlicenseNot gradedqualityBmaintenanceA minimal MCP server for file-based task management and multi-agent team orchestration, enabling creation, completion, and reassignment of tasks across teams.-
- AlicenseAqualityDmaintenanceA filesystem-based MCP server for AI coding agents to coordinate work across git worktrees by claiming files, checking for conflicts, and logging progress without affecting the repository's git history.5MIT
- AlicenseAqualityAmaintenanceMCP server for Claude Code agents to manage persistent shared task boards with dependency graphs, atomic claims, and git-bound tasks.11MIT
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/vorluno/batuta-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server