
Gitcleanplan
io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026
Plan stale and merged branch cleanup: keep / review / delete per branch, with reasons.
Overview
Gitcleanplan's local MCP server; no sign-in required; STDIO.
No AI overview yet: these facts come from the registry entry and the server itself.
Installation
In SourceWeft
- Open Gitcleanplan in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
gitcleanplan
Branch lists grow quietly. A feature lands, its branch stays; an experiment is abandoned, its branch stays too; the upstream disappears and the local copy lingers. Deleting branches on a hunch is how work gets lost, so gitcleanplan takes the middle road: you hand it the branch data, and it hands back a plan — lists first, deletes nothing.
For every branch you supply, the plan gives one of three decisions, each with the reason that produced it:
- keep — the default branch, a protected branch, the branch currently checked out, or a branch that is simply still active.
- review — merged but recently active, upstream gone but not merged, or stale but not merged: promising cleanup candidates that deserve a human look before anything else.
- delete — merged and either its upstream is gone or
it has been stale for at least
stale_days. Only merged branches can ever land here.
Decisions follow a fixed rule order, so the reason is never
ambiguous: the default branch wins over protection,
protection wins over a merged-and-gone branch, being checked
out wins over being merged, and "merged and upstream is
gone" wins over "merged and stale". Staleness is inclusive —
a branch whose last commit was exactly stale_days ago
counts as stale.
Alongside the per-branch decisions, the result groups the
branch names under each action, counts them, and lists one
safe-delete command (git branch -d <name>) per branch
planned for deletion, in name order. Those commands are
listed, never run: gitcleanplan does not invoke git,
open a repository, or delete anything. You read the plan,
and you decide what to execute yourself.
Malformed input — a missing or empty branch list, a missing,
empty, or duplicated branch name, a missing, negative, or
non-integer last_commit_days_ago, a wrongly typed flag, a
bad stale_days or default_branch — is a validation error
naming the offending path (for example
branches[1].last_commit_days_ago must be an integer >= 0),
and no partial plan is produced. The computation is pure and
local: no network, no configuration, no files read beyond
the input you pass in.
CLI
args.json contains the full arguments object:
merged, upstream_gone, protected, and current
default to false per branch; stale_days defaults to
90; default_branch defaults to "main". The plan is
printed as JSON:
Exit codes: 0 on success, 1 on a runtime error (including
an unreadable or invalid input file, or invalid input), 2
on a usage error.
MCP server
MCP client config:
Tools
-
plan_branch_cleanup— Plan stale and merged branch cleanup.branches(array, required, at least one) — branches as{name, last_commit_days_ago, merged?, upstream_gone?, protected?, current?}objects;nameis unique across the set andlast_commit_days_agois a whole-day count of at least 0stale_days(integer, optional, default 90, at least 1) — a branch is stale at this many days since its last commitdefault_branch(string, optional, default"main") — the default branch name; it is never planned for deletion
Returns
{branches, plan, counts, commands}.
Docker
Development
License
MIT — Copyright (c) 2026 Rene Turcios
Source: README.md at commit e6aea49
Tools
0Version history
1- v0.1.0LatestNov 3, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts