@selfagency/git-mcp

MCPattested
v0.4.2Daniel SieradskiMITUpdated 2d agonpmGitHub

A Git MCP server that doesn't suck

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
27Downloads/wk
2d agoLast update
Reads these credentials
  • GIT_SIGNING_KEYAPI keyoptional

    Default signing key: a GPG key ID, an SSH public key path, or empty to use git's configured user.signingkey. Used when GIT_AUTO_SIGN_COMMITS or GIT_AUTO_SIGN_TAGS is enabled.

Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Package
AuthorDaniel Sieradski
LicenseMIT
Version0.4.2
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
✓Listed in Forge index+10/10
✓Identity verified · attested build+20/20
—Ed25519 publish signature+0/5
→ Included automatically when the publisher runs `forge publish`
—Domain verification+0/5
→ Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
✓npm Trusted Publishing (Sigstore)+5/5
—npm maintainer match+0/5
→ Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
✓CVE scan · clean+30/30
✓Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain—
Provenance✓ Sigstore-verified · 564fce2
Dependencies60 resolved · 2 with advisories
Tool surface27 tools · none privileged
Security scan⚠ Warnings (4)v0.4.2 · todayHow well does this scan work?
EvalsNone
IndexedOct 15, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

27 tools · none privileged
Statically extracted from the published packagev0.4.2 · 19h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

git_docsSearch and browse official Git documentation from git-scm.com. Use action="search" to find relevant commands and concepts by keyword. Use action="man" to fetch the full man page for a specific git command (e.g. query="commit" fetches the git-commit man page). Useful for answering questions about ho…

Search and browse official Git documentation from git-scm.com. Use action="search" to find relevant commands and concepts by keyword. Use action="man" to fetch the full man page for a specific git command (e.g. query="commit" fetches the git-commit man page). Useful for answering questions about ho…

No input schema was published for this tool.

git_analyticsRead-only repository analytics computed from local git history. Use action=contributors|churn|activity|summary|file-stats.

Read-only repository analytics computed from local git history. Use action=contributors|churn|activity|summary|file-stats.

No input schema was published for this tool.

git_but_checkDetects whether the GitButler `but` CLI is available and returns guidance on whether to prefer `but mcp` / `but` commands over git-mcp tools. When `but` is present, agents should prefer GitButler for version control and run `but teardown` before using git-mcp tools on a GitButler-managed repository.

Detects whether the GitButler `but` CLI is available and returns guidance on whether to prefer `but mcp` / `but` commands over git-mcp tools. When `but` is present, agents should prefer GitButler for version control and run `but teardown` before using git-mcp tools on a GitButler-managed repository.

No input schema was published for this tool.

git_jj_checkDetect whether the Jujutsu `jj` CLI is available and whether the repository is jj-managed (has a .jj/ directory). When jj-managed, agents should prefer the `jj` CLI for all version control operations, since git-mcp tools operate on the underlying .git and will not reflect jj's change model.

Detect whether the Jujutsu `jj` CLI is available and whether the repository is jj-managed (has a .jj/ directory). When jj-managed, agents should prefer the `jj` CLI for all version control operations, since git-mcp tools operate on the underlying .git and will not reflect jj's change model.

No input schema was published for this tool.

git_tangled_checkDetect whether the repository origin remote points at a Tangled host (tangled.org or a self-hosted knot). Tangled is a decentralized Git host on the AT Protocol — git transport works normally via git-mcp tools, but there is no PR/MR surface.

Detect whether the repository origin remote points at a Tangled host (tangled.org or a self-hosted knot). Tangled is a decentralized Git host on the AT Protocol — git transport works normally via git-mcp tools, but there is no PR/MR surface.

No input schema was published for this tool.

git_entire_checkDetect whether the Entire CLI is available and whether the repository is Entire-managed (has a .entire/ directory). When managed, agents should use the `entire` CLI for session, checkpoint, and attribution queries; git-mcp tools do not expose Entire's context layer.

Detect whether the Entire CLI is available and whether the repository is Entire-managed (has a .entire/ directory). When managed, agents should use the `entire` CLI for session, checkpoint, and attribution queries; git-mcp tools do not expose Entire's context layer.

No input schema was published for this tool.

git_prCreate, list, or merge pull requests / merge requests on the detected forge provider (GitHub, GitLab, Forgejo, Gitea, Bitbucket). Uses the provider CLI (gh/glab/tea) when installed, otherwise the provider REST API with a *_TOKEN env var.

Create, list, or merge pull requests / merge requests on the detected forge provider (GitHub, GitLab, Forgejo, Gitea, Bitbucket). Uses the provider CLI (gh/glab/tea) when installed, otherwise the provider REST API with a *_TOKEN env var.

No input schema was published for this tool.

git_flowDrives the git-flow-next CLI. The CLI owns the workflow semantics — the finish state machine, conflict recovery, and worktree lifecycle — so it must be installed and on PATH; this tool only builds argv. Prefer operation=config/topic/control with subactions; the legacy action aliases remain for comp…

Drives the git-flow-next CLI. The CLI owns the workflow semantics — the finish state machine, conflict recovery, and worktree lifecycle — so it must be installed and on PATH; this tool only builds argv. Prefer operation=config/topic/control with subactions; the legacy action aliases remain for comp…

No input schema was published for this tool.

git_statusStatus and diff tool. Use action=status|diff|diff_main to inspect working tree and branch deltas.

Status and diff tool. Use action=status|diff|diff_main to inspect working tree and branch deltas.

No input schema was published for this tool.

git_historyHistory tool. Use action=log|show|reflog|blame|lg|who to inspect commits, refs, and contributors.

History tool. Use action=log|show|reflog|blame|lg|who to inspect commits, refs, and contributors.

No input schema was published for this tool.

git_commitsCommit-area tool. Use action=add|restore|commit|reset|revert|undo|nuke|wip|unstage|amend.

Commit-area tool. Use action=add|restore|commit|reset|revert|undo|nuke|wip|unstage|amend.

No input schema was published for this tool.

git_branchesBranch tool. Use action=list|create|delete|rename|checkout|set_upstream|recent for branch workflows.

Branch tool. Use action=list|create|delete|rename|checkout|set_upstream|recent for branch workflows.

No input schema was published for this tool.

git_remotesRemote tool. Use action=list|manage|fetch|pull|push for network/transport operations.

Remote tool. Use action=list|manage|fetch|pull|push for network/transport operations.

No input schema was published for this tool.

git_workspaceWorkspace tool for stash/rebase/cherry-pick/merge/bisect/tag/worktree/submodule actions plus stash_all shortcut.

Workspace tool for stash/rebase/cherry-pick/merge/bisect/tag/worktree/submodule actions plus stash_all shortcut.

No input schema was published for this tool.

git_contextContext/config tool. Use action=summary|search|get_config|set_config|aliases for repo context operations.

Context/config tool. Use action=summary|search|get_config|set_config|aliases for repo context operations.

No input schema was published for this tool.

git_lfsManage Git Large File Storage (LFS). Supports tracking/untracking file patterns, listing LFS-tracked files and status, pulling/pushing LFS objects, installing LFS hooks for the repository, and migrating existing files into or out of LFS storage.

Manage Git Large File Storage (LFS). Supports tracking/untracking file patterns, listing LFS-tracked files and status, pulling/pushing LFS objects, installing LFS hooks for the repository, and migrating existing files into or out of LFS storage.

No input schema was published for this tool.

git_rewriteRewrite commit history. Use action=reword|squash|rewrite-messages|backup|restore. History rewriting changes commit hashes and requires force-push; create a backup first.

Rewrite commit history. Use action=reword|squash|rewrite-messages|backup|restore. History rewriting changes commit hashes and requires force-push; create a backup first.

No input schema was published for this tool.

git_workflowRun named multi-step Git workflows with resumable lifecycle controls. Use action=start|status|continue|abort|list with workflow families such as snapshot, replay, branch_surgery, and publish.

Run named multi-step Git workflows with resumable lifecycle controls. Use action=start|status|continue|abort|list with workflow families such as snapshot, replay, branch_surgery, and publish.

No input schema was published for this tool.

git_stashStash, list, apply, pop, or drop stashes.

Stash, list, apply, pop, or drop stashes.

No input schema was published for this tool.

git_rebaseRebase: start, continue, abort, or skip.

Rebase: start, continue, abort, or skip.

No input schema was published for this tool.

git_cherry_pickCherry-pick: start, continue, or abort.

Cherry-pick: start, continue, or abort.

No input schema was published for this tool.

git_mergeMerge: start, continue, or abort.

Merge: start, continue, or abort.

No input schema was published for this tool.

git_bisectBisect: start, good, bad, skip, run, or reset.

Bisect: start, good, bad, skip, run, or reset.

No input schema was published for this tool.

git_tagTag: list, create, or delete.

Tag: list, create, or delete.

No input schema was published for this tool.

git_worktreeWorktrees, two ways. Path-addressed (add, remove, lock, unlock, prune, repair) drives plain git worktree and needs nothing but git. Branch-addressed (flow_add, flow_remove, flow_list, flow_path) drives git flow worktree: it addresses worktrees by branch name, computes paths from the gitflow.worktre…

Worktrees, two ways. Path-addressed (add, remove, lock, unlock, prune, repair) drives plain git worktree and needs nothing but git. Branch-addressed (flow_add, flow_remove, flow_list, flow_path) drives git flow worktree: it addresses worktrees by branch name, computes paths from the gitflow.worktre…

No input schema was published for this tool.

git_submoduleSubmodule: add, list, update, sync, or set_branch.

Submodule: add, list, update, sync, or set_branch.

No input schema was published for this tool.

git_pingReturns a simple response to verify the server is running.

Returns a simple response to verify the server is running.

No input schema was published for this tool.

27 of 27 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

A Git MCP server that doesn't suck

Keywords
gitmcpmodel context protocolserver
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-10-16 — observed resolution, not a publisher declaration.

60 packages resolved · 3 direct · 2 carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

61 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+49 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.

Topics

Related in git & code hosting