{"name":"io.github.selfagency/git-mcp","slug":"selfagency-git-mcp","title":null,"description":"A Git MCP server that doesn't suck","url":"https://mcp.market/server/selfagency-git-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"devtools","tags":["devtools"],"presence":{"score":22,"stars":0,"forks":0,"downloads_week":27,"last_push_at":"2026-10-14T14:17:43.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/selfagency/git-mcp","website":null,"version":"0.4.2","remotes":[],"packages":[{"registryType":"npm","identifier":"@selfagency/git-mcp","version":"0.4.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Default repository path for all tool requests. Can also be set via the --repo / --repo-path CLI argument. If omitted, each tool call must supply repo_path explicitly.","format":"string","name":"GIT_REPO_PATH"},{"description":"Set to 'true' to expose a no_verify parameter on commit and push tools, passing --no-verify to Git and bypassing pre-commit / pre-push hooks.","format":"string","name":"GIT_ALLOW_NO_VERIFY"},{"description":"Set to 'true' to expose a force parameter on push tools. Remote branch protection rules (GitHub/GitLab) are still enforced server-side regardless.","format":"string","name":"GIT_ALLOW_FORCE_PUSH"},{"description":"Set to 'true' to allow git_flow to execute git-flow-next-compatible hook and filter programs discovered from git config or repository hook locations.","format":"string","name":"GIT_ALLOW_FLOW_HOOKS"},{"description":"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.","format":"string","isSecret":true,"name":"GIT_SIGNING_KEY"},{"description":"Signing format for commits and tags. Accepted values: openpgp, ssh, x509.","format":"string","name":"GIT_SIGNING_FORMAT"},{"description":"Set to 'true' to automatically sign all commits produced by this server.","format":"string","name":"GIT_AUTO_SIGN_COMMITS"},{"description":"Set to 'true' to automatically sign all tags produced by this server.","format":"string","name":"GIT_AUTO_SIGN_TAGS"}]}],"tools":[{"name":"git_analytics","description":"Read-only repository analytics computed from local git history. Use action=contributors|churn|activity|summary|file-stats.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_bisect","description":"Bisect: start, good, bad, skip, run, or reset.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_branches","description":"Branch tool. Use action=list|create|delete|rename|checkout|set_upstream|recent for branch workflows.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_cherry_pick","description":"Cherry-pick: start, continue, or abort.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_commits","description":"Commit-area tool. Use action=add|restore|commit|reset|revert|undo|nuke|wip|unstage|amend.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_context","description":"Context/config tool. Use action=summary|search|get_config|set_config|aliases for repo context operations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_docs","description":"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 how to use git commands, understanding options, and discovering the right git command for a task.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_flow","description":"Drives the git-flow-next CLI. The CLI owns the workflow semantics \\u2014 the finish state machine, conflict recovery, and worktree lifecycle \\u2014 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 compatibility.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_history","description":"History tool. Use action=log|show|reflog|blame|lg|who to inspect commits, refs, and contributors.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_lfs","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_merge","description":"Merge: start, continue, or abort.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_ping","description":"Returns a simple response to verify the server is running.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_pr","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"git_rebase","description":"Rebase: start, continue, abort, or skip.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_remotes","description":"Remote tool. Use action=list|manage|fetch|pull|push for network/transport operations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_rewrite","description":"Rewrite commit history. Use action=reword|squash|rewrite-messages|backup|restore. History rewriting changes commit hashes and requires force-push; create a backup first.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_stash","description":"Stash, list, apply, pop, or drop stashes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_status","description":"Status and diff tool. Use action=status|diff|diff_main to inspect working tree and branch deltas.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_submodule","description":"Submodule: add, list, update, sync, or set_branch.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_tag","description":"Tag: list, create, or delete.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_workflow","description":"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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"git_workspace","description":"Workspace tool for stash/rebase/cherry-pick/merge/bisect/tag/worktree/submodule actions plus stash_all shortcut.","write_action":false,"price_micros":0,"input_schema":null},{"name":"git_worktree","description":"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.worktreePath template, and tags provenance so cleanup can tell a git-flow-created worktree (removed) from a ","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-10-14T17:39:49.545Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-14T17:39:49.469Z","components":{"code":{"score":25,"max":25,"notes":["6 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@selfagency/git-mcp","version":"0.4.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":3,"publishedAt":"2026-10-14T14:21:15.264Z","repositoryUrl":"git+https://github.com/selfagency/git-mcp.git","weeklyDownloads":27}],"repo":{"found":true,"owner":"selfagency","repo":"git-mcp","archived":false,"pushedAt":"2026-10-14T14:17:43Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/2541728?v=4","ownerCreatedAt":"2012-10-12T03:16:31Z"},"icon":{"url":"https://avatars.githubusercontent.com/u/2541728?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":27,"license":"MIT","lastPushAt":"2026-10-14T14:17:43.000Z","score":22}}}},"grade_history":[],"reviews":[]}