GitHub

MCP Server

The [mcp] extra ships a FastMCP 3.x server named repo-release-tools that exposes version management, changelog, health / drift / tree / artifact lock inspection, branch and commit validation, config introspection, and interactive dashboards as MCP tools, resources, and Prefab UI apps.

Install

# Add the [mcp] extra to your project
uv add "repo-release-tools[mcp]"

# Verify the entry point works
uv run rrt-mcp --help

Connect

Claude Code — local (per-repo)

Create or update .mcp.json at the repository root:

{
  "mcpServers": {
    "rrt": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "rrt-mcp"]
    }
  }
}

Claude Code picks this up automatically on next start.

Claude Code — global

claude mcp add rrt -- uv run --with "repo-release-tools[mcp]" rrt-mcp

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "rrt": {
      "type": "stdio",
      "command": "uvx",
      "args": ["--from", "repo-release-tools[mcp]", "rrt-mcp"]
    }
  }
}

HTTP transport

uv run rrt-mcp --transport http --port 8000

Tools

Read-only inspection tools

Tool Tags Description
rrt_config config, inspection Resolved rrt config as JSON
rrt_doctor config, inspection Pre-commit / lefthook / husky / workflow checks
rrt_health locks, inspection .rrt/health.lock.toml contents
rrt_drift locks, inspection .rrt/drift.lock.toml contents
rrt_tree locks, inspection .rrt/tree.lock.toml contents
rrt_artifacts locks, inspection .rrt/artifacts.lock.toml contents
rrt_version versioning Current version per configured group
rrt_validate_branch validation Conventional branch naming check
rrt_validate_commit validation Conventional commit subject check
rrt_changelog changelog Unreleased entries or full content

Mutating tools (default dry_run=True)

Tool Tags Description
rrt_bump versioning Semver bump — preview or apply
rrt_branch_new git Create conventionally-named branch
rrt_init_run init, config Run rrt init with selected target

App Dashboards

Interactive Prefab UI apps rendered in MCP-capable clients (Claude Code, Claude Desktop). All are read-only.

App tool Description
rrt_health_dashboard Health overview: Metric summary row, health Ring, per-lock status BarChart, check status Cards, full detail DataTable
rrt_version_overview Version target map: all configured files, kinds, and current version values
rrt_doctor_dashboard Doctor checks: pass-rate Ring, per-check Metric cards, status Cards, detail DataTable
rrt_tree_dashboard File tree: Metric summary (total files, directories, snapshot), per-directory BarChart, clean DataTable
rrt_init Init form: pick target format (rrt-toml / pyproject / cargo / node / go), dry_run, force — submits to rrt_init_run
rrt_locks_overview All-locks overview: status donut PieChart, Carousel of per-lock summary cards, full detail DataTable

Generative UI

The server registers FastMCP’s GenerativeUI provider, which adds generate_prefab_ui and search_prefab_components tools. This lets the LLM write custom Prefab Python code executed in a Pyodide sandbox — the LLM can build any visualization it chooses from data exposed by rrt://locks/{name} or other resources.


Resources

URI MIME Description
rrt://version text/plain Installed package version string
rrt://config application/json Fully resolved rrt config
rrt://schema/config application/json JSON Schema for [tool.rrt]
rrt://changelog text/plain Full CHANGELOG.md content
rrt://locks/{name} application/json Lock file by name: drift / health / tree / artifacts

Prompt templates

Seven reusable prompts guide AI-assisted workflows:

Prompt Parameters Description
release_workflow version_level, repo_name Step-by-step release guide
version_strategy change_summary Semver bump recommendation
branch_strategy task_description, context_hint Conventional branch selector
commit_message_guide staged_summary, branch_name Conventional Commits format
changelog_entry commit_summary, section_hint Keep-a-Changelog bullet
config_setup project_type Starter config per language
release_readiness version, target_env Pre-release checklist

Example session

# From inside Claude Code with rrt MCP connected:

"Show me the health dashboard"
→ calls rrt_health_dashboard — renders Metric cards, Ring, BarChart

"What version is the project at?"
→ calls rrt_version or rrt_version_overview

"Bump the patch version (dry run)"
→ calls rrt_bump with dry_run=True, shows preview

"Open the init form"
→ calls rrt_init — renders target/dry_run/force form

"Give me a custom chart of the lock file data"
→ LLM uses generate_prefab_ui + rrt://locks/{name} resources