Batuta Mcp

io.github.vorluno由 GitHub 账号 vorluno 发布v0.1.0更新于 Oct 24, 2026

Split a task into plans with disjoint file boundaries; scaffold a git worktree per plan.

已验证STDIO仅桌面效率与工作流开发者工具

概览

AI 生成的概览

一个无状态的本地 MCP 服务器,把任务拆成文件边界互不重叠的计划,并为每个计划搭建一个 git worktree。

可以做什么
把一段粗略的任务描述拆成 2–5 个文件边界互不重叠的计划,若边界重叠会自动重试一次,依赖已登录的 claude CLI。检查一组计划之间是否共享文件。为每个计划搭建独立的 git worktree 并附上可直接粘贴的提示词,可选择只预览不写盘的 dry run。
适用场景
当你想在同一个代码仓库上并行运行多个编码代理,并希望每个代理只处理各自的一组文件、互不覆盖时使用。注意该项目已退役并归档:Claude Code 现已内置此能力,但已发布的包仍可安装。
运行要求
通过 npm 包 @vorluno/batuta-mcp 以 stdio 在本地运行。需要 Bun 1.3+、用于 worktree 搭建的 git 2.x,以及已登录的 claude CLI 用于拆分计划。未声明 API 密钥或环境变量;支持任意 MCP 客户端。
安装前请注意
仓库已归档且为只读,不会再维护。scaffold_worktrees 会在指定仓库的磁盘上创建 git worktree,建议先用 dryRun 预览。拆分计划依赖你已登录的 claude CLI 会话。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Batuta Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[batuta-mcp — disjoint plans and git worktrees for parallel agents]

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: Apache 2.0] [Bun] [Model Context Protocol] [Built with Claude Code]


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:

  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

From npm — nothing to clone:

bash
claude mcp add batuta -- bunx --bun @vorluno/batuta-mcp

From source — if you want to change it:

bash
git clone https://github.com/vorluno/batuta-mcp.gitcd batuta-mcpbun installclaude mcp add batuta -- bun run /absolute/path/to/batuta-mcp/src/index.ts

Configuration

Any MCP client works. The mcpServers entry:

json
{  "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

ToolDescription
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

bash
bun test          # full suitebunx 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 [email protected], 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.

来源:README.md,提交 c41087d

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分