WTP - Worktree Plus
Let agents manage Git worktrees via the wtp CLI.
wtp-mcp-rs
A Model Context Protocol (MCP) server for wtp (Worktree Plus), written in Rust. It lets AI assistants manage Git worktrees via the wtp CLI.
For:
- Rust users who want
cargo installand a native CLI. - npm users who want
npm install -gwith prebuilt platform binaries. - Git users who want safe, scriptable worktree automation.
Works in any Git repo. The wtp binary is required and must be on PATH (or set via --wtp-path / config).
Highlights
- Safety defaults: Hooks and branch deletion are disabled by default and must be explicitly enabled.
- Rich resources: Query worktree lists, resolved paths, grouped views, and repo overview.
Installation
Cargo (crates.io)
cargo install wtp-mcp-rs
Homebrew
brew install bnomei/wtp-mcp/wtp-mcp-rs
GitHub Releases
Download a prebuilt archive from the GitHub Releases page, extract it, and place wtp-mcp-rs on your PATH.
From source
git clone https://github.com/bnomei/wtp-mcp.git
cd wtp-mcp
cargo build --release
Quick Start
- Add this MCP configuration. Examples for common MCP clients (pick one):
# Claude Code
claude mcp add --transport stdio --scope project wtp -- wtp-mcp-rs
# Codex CLI
codex mcp add wtp -- wtp-mcp-rs
# OpenCode (interactive)
opencode mcp add
# Amp (workspace)
amp mcp add --workspace wtp -- wtp-mcp-rs
{
"mcpServers": {
"wtp": {
"command": "wtp-mcp-rs"
}
}
}
- Run the MCP client from your repo root (or pass
--repo-root/--configif you want to pin a different path). For Codex CLI, MCP config is global; usecodex --cd /path/to/repoif you want to set the working root without changing directories. - Ensure
wtpis installed and onPATH(or set--wtp-path/ config). - Optional: run
init-configonce to generate.wtp.yml, then editdefaults.base_dirand hooks before usingadd-worktree.
Usage
MCP Configuration
Add the Quick Start snippet to your MCP client configuration. Example below includes all supported args (remove the ones you don't need):
{
"mcpServers": {
"wtp": {
"command": "wtp-mcp-rs",
"args": [
"--wtp-path",
"/usr/local/bin/wtp",
"--config",
"/path/to/config.toml"
]
}
}
}
If your MCP client launches servers from the repository root (project/workspace scope), you can omit --repo-root because wtp-mcp-rs defaults to the current working directory.
CLI Options
| Option | Description | Default |
|---|---|---|
--repo-root <path> | Repository root directory | Current working directory |
--wtp-path <path> | Override path to wtp binary | Auto-detect |
--config <path> | Path to TOML configuration file | None |
Worktree Configuration (.wtp.yml)
wtp controls worktree layout and hooks via .wtp.yml in the repo root.
init-configrunswtp initto generate.wtp.yml. The default template usually setsdefaults.base_dirto../worktreesand includes example hooks.- Edit the file to choose your worktree base directory (e.g.,
.worktreesfor in-repo worktrees). - Hooks are optional post-create/remove actions (copy files, symlink dirs, run setup commands). They are blocked by default in this server unless
security.allow_hooks = true. - If
.wtp.ymlis missing,add-worktreecreates a minimal config withdefaults.base_dir = .worktreesand no hooks.
Minimal example:
version: "1.0"
defaults:
base_dir: .worktrees
Merging changes from worktrees
Typical flow:
- Each worktree is a branch checkout in its own directory.
- Commit in that worktree.
- Merge into your target branch from any worktree (usually the "main" one):
git merge feature/x- or open a PR and merge on GitHub.
Sample Configuration (config.toml)
# Repository root (optional, defaults to cwd)
repo_root = "/path/to/repo"
[wtp]
# Path to wtp binary (optional, auto-detected from PATH)
path = "/usr/local/bin/wtp"
[security]
# Allow execution of wtp hooks (default: false)
allow_hooks = false
# Allow branch deletion with worktree removal (default: false)
allow_branch_delete = false
Security defaults (why destructive actions are blocked)
By default, potentially destructive operations are disabled:
- Hook execution: Disabled by default. Hooks can execute arbitrary code.
- Branch deletion: Disabled by default. The
--with-branchand--force-branchflags onremove-worktreerequire explicit enablement.
To enable these features, add to your configuration file:
[security]
allow_hooks = true
allow_branch_delete = true
Tools
- list-worktrees - List all worktrees in the repository
- add-worktree - Create a new worktree for an existing or new branch
- remove-worktree - Remove a worktree (optionally with its branch)
- merge-worktree - Return a git merge command for a worktree branch
- init-config - Initialize wtp configuration in the repository
- get-worktree-path - Get the absolute path to a worktree
- shell-hook - Get shell hook script (bash/zsh/fish)
- shell-init - Get shell initialization script (bash/zsh/fish)
Resources
The server exposes the following MCP resources:
| URI | Description |
|---|---|
wtp://worktrees | List of all worktrees (raw) |
wtp://worktrees/resolved | List of worktrees with resolved absolute paths |
wtp://worktree/{name} | Details for a specific worktree |
wtp://overview | Repository overview with worktrees and security settings |
wtp://worktrees/by-branch-prefix | Worktrees grouped by branch prefix (feature/, bugfix/, etc.) |
Skill
skills/git-worktree-plus-with-mcp/SKILL.md: Use this skill when the user wants to manage Git worktrees through the wtp MCP server (list, create, remove, resolve paths, init .wtp.yml, or prepare merge commands), especially when safety defaults around hooks and branch deletion matter.
Development
Running Tests
Unit tests (no wtp required):
cargo test --lib
Integration tests (requires wtp installed; tests skip if missing):
cargo test --test integration
License
MIT License - see LICENSE for details.
Server Terkait
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Packmind
Access and manage your team's coding best practices and knowledge base from Packmind.
QA Sphere
Integration with QA Sphere test management system, enabling LLMs to discover, summarize, and interact with test cases directly from AI-powered IDEs
Reloaderoo
A local MCP server for developers that mirrors your in-development MCP server, allowing seamless restarts and tool updates so you can build, test, and iterate on your MCP server within the same AI session without interruption.
Togello MCP Server
An MCP server for managing application context using the Togello API.
MCP Server Template
A template for creating MCP servers using Python.
Local Context MCP
A collection of reference implementations for the Model Context Protocol (MCP), giving LLMs secure access to tools and data.
Lerian MCP Server
Provides educational content, model information, and read-only API interactions for Lerian developers.
Srclight
Deep code indexing for AI agents — 25 MCP tools: hybrid FTS5 + embedding search, call graphs, git blame/hotspots, build system analysis. Multi-repo workspaces, GPU-accelerated semantic search, 10 languages. Fully local, zero cloud dependencies.
Figma MCP Server
Connects to the Figma API, allowing AI tools to access and interact with your Figma designs.
Agent Evals by Galileo
Bring agent evaluations, observability, and synthetic test set generation directly into your IDE for free with Galileo's new MCP server