GitHub
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
Description from the maker (original English)
Safety-first Git MCP server: rich read tools plus human-approved FluxGit operation proposals.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
The maker has not listed install details in the registry. See the maker’s README below.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account fluxgit-hq, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.2.1) reached the registry 40 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Rust on your computer.
In the same category: GitHub, Desktop Commander, Cloudflare MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
mcp-name: io.github.fluxgit-hq/fluxgit-mcp-server
Safety-first Model Context Protocol (MCP) server for Git.
AI agents inspect. FluxGit keeps control.
A Rust MCP server with 38 contracts for AI code agents: 25 read-only tools and 13 human-gated operation tools (12 proposals plus cancellation of a pending proposal). The sidecar never executes a Git write; it bridges approved proposals to the FluxGit desktop application.
For context-budget comparisons, see the public Git context token benchmark. It publishes the fixture, raw outputs, scripts and checksums, including both the broad CLI sweep and a smaller hand-tuned counterexample.
AI coding agents are increasingly asked to navigate real repositories: explain branch state, summarize diffs, find lost commits, recommend safe next steps. To do this well, an agent needs Git context that is richer than git status and structured enough to reason over. To do this safely, an agent must never be able to silently mutate refs, force-push, discard work, or apply patches without a human approving the consequence.
Other MCP Git servers face a choice: stay strictly read-only (limited utility) or expose write tools directly (dangerous — agents hallucinate, prompts can be poisoned, mistakes are destructive). This sidecar chooses neither. Inspection is schema-validated and bounded; operations go through a write-with-UI-handshake: the agent proposes, FluxGit shows the preview, the user approves in the app, and FluxGit executes through its safety pipeline with restore points and audit.
| Tool | Purpose |
|---|---|
repo.brief | One-call situational awareness — branch, ahead/behind, in-progress operation, working-tree summary, stashes, aggregated submodule drift, recent commits, detected conventions and next-step hints. The recommended first call of an agent session; replaces 6-10 raw git calls and is token-budgeted by design |
repo.scope | Monorepo scoping — one subtree's working-tree changes, recent commits, churn (commits + authors over a window) and CODEOWNERS owners in a single call |
repo.status | Working tree, current branch, dirty paths |
repo.refs | Branches, tags, remotes, stashes |
repo.branchStack | Current branch vs upstream / base / related |
repo.history | Paginated commit history |
repo.reflog | Movement timeline with recovery hints |
repo.conflictPreflight | Predict merge/rebase outcome before running |
conflict.read | Active conflict as structured data — in-progress operation, ours/theirs producing commits, per-file stage classification, base/ours/theirs contents (size-capped, binary-flagged) and marker region line ranges. No more parsing <<<<<<< soup |
commit.details | Single commit metadata + changed files |
worktree.changes | Per-path working tree change summary |
worktree.list | All worktrees (main + linked) with branch/detached, HEAD SHA and locked/prunable flags — the read-only base for parallel agent worktrees |
submodule.status | Submodule list and state |
diff.text | Standard text patch (git diff compatible) |
diff.semantic | Capability-negotiated semantic explanation |
diff.semanticFallbacks | Paths that fell back from semantic to text |
fleet.radar | Multi-repo attention queue |
fleet.digest | What changed across the fleet since a time — HEAD and local-branch reflog moves of many repositories, newest first, bounded by maxEvents (default 200, max 1000). repoPaths, or FluxGit's registered repositories inside the allowed roots when omitted. identity is exactly what Git recorded (the configured identity, not proof of a person or an agent); rewrote flags moves that dropped the previous tip (reset, amend, rebase, forced moves). Reads reflog files only; nothing is fetched or written |
agents.presence | Which other coding agents are working in this repository — from local sources only (running agent processes and their children, the agents' own session stores, files they keep in the repository, editors with built-in agents, and FluxGit MCP presence records). Per agent: state (working/open/recent), sources, branch, last tool and repository-relative files when known. Names are what each tool or MCP client declares about itself. Your own MCP record is excluded; findings that are probably your own session are marked likelyCaller. Never returns prompts, messages or file contents |
safety.timeline | Synthesized safety events from restore points + reflog |
safety.eventDetails | Drill-down into one timeline event |
flux.latestRestorePoint | Newest FluxGit restore point |
flux.restorePoints | List of restore points |
flux.restorePointDetails | One restore point with before/after refs |
operation.status | Authoritative asynchronous status by previewId; poll after a preview returns accepted: true and do not report a Git outcome before it becomes terminal |
All 12 operation.preview.* proposals dispatch through the FluxGit gateway when configured. The sidecar POSTs the proposal, performs one bounded status read, and normally returns immediately with accepted: true, the canonical previewId, current status and nextAction.tool: "operation.status". The FluxGit app renders a “Requested by AI agent” approval card while human review continues asynchronously. Code 10003 is reserved for a bridge that is absent, invalid or unreachable; it is not a human-approval timeout.
All 12 preview schemas accept an optional bounded idempotencyKey. Reuse it only when retrying the same logical intent; the sidecar scopes it to the operation type so that retry resolves to the existing gateway proposal. Omit it for a new intent—even when the other arguments match—and the sidecar sends a fresh UUID-backed key. Preview tools therefore continue to advertise idempotentHint: false.
| Tool | Purpose | Gateway dispatch |
|---|---|---|
operation.preview.merge | Propose a merge for human review | POST /v1/mcp/operation/preview/merge → approval card in FluxGit |
operation.preview.rebase | Propose a non-interactive rebase | interactive: true fails schema validation before POST/card creation; accepted requests POST /v1/mcp/operation/preview/rebase and open a rewrites-history warning card |
operation.preview.discard | Propose discarding working-tree changes | POST /v1/mcp/operation/preview/discard → path-specific warning; FluxGit requires a safety stash before it discards matching changes |
operation.preview.reset | Propose soft / mixed / hard reset | POST /v1/mcp/operation/preview/reset → mode-aware card (hard mode forces strong confirmation) |
operation.preview.patch | Propose applying an agent-generated patch | POST /v1/mcp/operation/preview/patch → monospace patch preview + applyToIndex toggle |
operation.preview.plan | Propose a 1-10 step sequence using the five supported plan-step types (merge, rebase, discard, reset, patch) | POST /v1/mcp/operation/preview/plan → numbered step card; destructive steps require an explicit checkbox. A rebase step with interactive: true is rejected by schema validation before dispatch; execution stops at the first failure. Its pre-plan checkpoint anchors only the branch commit: guarded recovery restores HEAD/tracked files, while the original index, working tree and untracked files require the separate step snapshots/Safety Timeline recovery surfaces |
operation.preview.worktree | Propose creating an isolated worktree for a parallel task (non-destructive; never touches history) | POST /v1/mcp/operation/preview/worktree → approval card with branch + target path + reason; runs through the same worktree-create action a manual click uses |
operation.preview.commit | Propose staging + committing with a message (non-destructive; amend not supported) | POST /v1/mcp/operation/preview/commit → approval card lists the exact files that will be staged and committed; runs through the normal commit pipeline (hooks, signing, policy); completion returns the new SHA |
operation.preview.push | Propose pushing a branch to a remote (optional set-upstream; force-with-lease shows a HIGH-risk warning) | POST /v1/mcp/operation/preview/push → approval card with remote + branch + force warning when applicable; runs the guarded push flow |
operation.preview.branch | Propose creating (and optionally checking out) a branch from a start point | POST /v1/mcp/operation/preview/branch → approval card with name + start point + checkout choice |
operation.preview.branchDelete | Propose deleting merged local branches in one or more repositories (targets, up to 20 repositories × 20 branches, 100 in total). The agent names branches; FluxGit decides which are deletable. Remote branches are never touched | POST /v1/mcp/operation/preview/branchDelete → the card inspects every branch natively and keeps any branch with commits not in HEAD or its upstream, checked out anywhere, or whose tip moved; each deleted tip is journaled in the Fleet branch-deletion history, where Restore recreates it. Completion returns per-branch deleted/failed/skipped results |
operation.preview.submodulePointer | Propose recording (record, requires message) or returning to (return) one submodule pointer at any depth (parentPath + relativePath). Optional expectedRecordedOid / expectedCheckedOutOid pins, as read from submodule.status | POST /v1/mcp/operation/preview/submodulePointer → record commits only the gitlink in the parent through Git's own commit (hooks and signing apply; nothing is pushed); return checks out the recorded commit detached, journaling the previous checkout as a restore point. The submodule must be initialized, clean and differ from its recorded pointer |
operation.cancel | Cancel the agent's own still-pending proposal by previewId | POST cancel; the card disappears from the user's queue like an expired proposal |
All write proposals require a free-text reason so the user sees the agent's justification in the approval modal. All reuse the same durable gateway lifecycle (pending → approved → executing → completed|failed, with rejection/cancellation/expiry branches) and the same Tauri bridge in the UI. Six shims cover pending, recoverable, approve, claim, reject and complete. After restart, Approved proposals may resume only after repo/ref revalidation and claim; Executing proposals are shown for explicit reconciliation and are never blindly re-executed. When an approved operation captures a restore point, the completion result exposes that recovery metadata so the agent can report it without guessing.
The boundary is deliberately fail-closed at approval time. FluxGit resolves the proposal's repoPath to its canonical open-repository id and requires it to match the repository the human is reviewing; an unresolved path, mismatch, or repository switch blocks execution. Tool arguments are validated before dispatch and again by the gateway. An optional declarative agent policy can deny proposals before a card opens. Its rules match the agentId the sidecar forwards (the sanitized, self-declared clientInfo.name, such as claude-code) a
Only the beginning is shown; read the rest in the repo