Skip to main content
Glama
vorluno
by vorluno

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.

License: MIT Bun Model Context Protocol Built with Claude Code


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:

  1. Decompose a brain dump into 2–5 plans whose fileBoundaries don't overlap (auto-corrects once if they do).

  2. Check that the boundaries are truly disjoint.

  3. Scaffold a git worktree per 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 worktree per plan, with a ready-to-paste prompt.

  • 🔒 Safe by design — pre-flight checks (valid git repo, no overlaps, no path traversal) before touching disk; dryRun previews without writing.

  • 🪶 Stateless — nothing persisted; uses your logged-in claude CLI (no API key needed).

Requirements

  • Bun 1.3+

  • git 2.x (for scaffold_worktrees)

  • The claude CLI, logged in (for decompose_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.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

  1. decompose_into_plans → plans with disjoint boundaries.

  2. check_boundary_overlaps → confirm ok: true (or adjust).

  3. scaffold_worktrees → creates the worktrees; open each in its own terminal/tab and paste its suggestedPrompt.

Development

bun test          # full suite
bunx tsc --noEmit # type-check

Built 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 tools
check_boundary_overlapsCheck boundary overlapsC

Pure check: do any plans share file boundaries? Returns overlaps and ok.

ParametersJSON Schema
NameRequiredDescriptionDefault
plansYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
overlapsYes
okYes

TDQS

C2.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
brainDumpYes
projectHintNo
repoPathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
plansYes
overlapsResolvedYes
attemptsYes

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoPathYes
plansYes
dryRunNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultsYes

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

  1. 3 tool updates
    • First observedcheck_boundary_overlaps
    • First observeddecompose_into_plans
    • First observedscaffold_worktrees

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose: checking overlaps, decomposing input, and scaffolding worktrees. No overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case, making them predictable and easy to understand.

Tool Count5/5

Three tools is exactly right for the focused domain of plan decomposition and worktree setup. The scope is well-defined.

Completeness5/5

The tool set covers the full workflow: validation (check), creation (decompose), and execution (scaffold). There are no obvious gaps for its stated purpose.

Maintenance

ActivityStale
ResponsivenessNo issues

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

Related MCP Servers

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/vorluno/batuta-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server