{"_id":"@abhishekmcp/git","_rev":"2-aadae567ead3ff28eec428354b27772c","name":"@abhishekmcp/git","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@abhishekmcp/git","version":"0.1.0","keywords":["mcp","modelcontextprotocol","git","isomorphic-git","claude"],"author":{"url":"https://github.com/Abhishekkumar2021","name":"Abhishek"},"license":"MIT","_id":"@abhishekmcp/git@0.1.0","maintainers":[{"name":"abhishek.opensource","email":"abhishek.opensource.dev@gmail.com"}],"homepage":"https://github.com/Abhishekkumar2021/mcp-suite/tree/main/servers/git#readme","bugs":{"url":"https://github.com/Abhishekkumar2021/mcp-suite/issues"},"bin":{"mcp-git":"dist/index.js"},"dist":{"shasum":"d8f7f16c77b20664fbb5ded79b3c781801f44335","tarball":"https://registry.npmjs.org/@abhishekmcp/git/-/git-0.1.0.tgz","fileCount":14,"integrity":"sha512-ZJfppMiVWoec9Ia+r+F/By/nQy0k8jY6jYJMaAaGsl0dKGukFa6Os37eqon3dpP4/HR0bAPNtYv8HO/AZ0pqug==","signatures":[{"sig":"MEUCIQDkR9XXrqqqzWK+OAXUW6/U+IKHLhskev5MnMNT3fwwxwIgFgy/KmI2v5IMcG/SgFAHLuCMXzWQ//JIiO74Zb3m9Xs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50533},"type":"module","engines":{"node":">=18"},"gitHead":"f33655ca5bd2b8ef013698d2c47a8965ebddb88a","mcpName":"io.github.Abhishekkumar2021/git","scripts":{"dev":"tsc && node dist/index.js","test":"npm run build && node --test test/*.test.mjs","build":"tsc","start":"node dist/index.js","watch":"tsc --watch","prepublishOnly":"npm run build"},"_npmUser":{"name":"abhishek.opensource","email":"abhishek.opensource.dev@gmail.com"},"repository":{"url":"git+https://github.com/Abhishekkumar2021/mcp-suite.git","type":"git","directory":"servers/git"},"_npmVersion":"11.17.0","description":"MCP server for local Git repositories — status, log, diff, file history, branches, and gated stage/commit — pure-JS (isomorphic-git), no git binary, from any MCP client.","directories":{},"_nodeVersion":"24.13.0","dependencies":{"zod":"^3.23.8","diff":"^9.0.0","isomorphic-git":"^1.27.1","@modelcontextprotocol/sdk":"^1.29.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.6.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/git_0.1.0_1782664309451_0.851378646175343","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@abhishekmcp/git","version":"0.2.0","description":"MCP server for local Git repositories — status, log, diff, file history, branches, and gated stage/commit — pure-JS (isomorphic-git), no git binary, from any MCP client.","mcpName":"io.github.Abhishekkumar2021/git","type":"module","bin":{"mcp-git":"dist/index.js"},"publishConfig":{"access":"public","provenance":true},"scripts":{"build":"tsc","watch":"tsc --watch","start":"node dist/index.js","dev":"tsc && node dist/index.js","test":"npm run build && node --test test/*.test.mjs","prepublishOnly":"npm run build"},"keywords":["mcp","modelcontextprotocol","git","isomorphic-git","claude"],"author":{"name":"Abhishek","url":"https://github.com/Abhishekkumar2021"},"license":"MIT","homepage":"https://github.com/Abhishekkumar2021/mcp-suite/tree/main/servers/git#readme","repository":{"type":"git","url":"git+https://github.com/Abhishekkumar2021/mcp-suite.git","directory":"servers/git"},"bugs":{"url":"https://github.com/Abhishekkumar2021/mcp-suite/issues"},"engines":{"node":">=18"},"dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","diff":"^9.0.0","isomorphic-git":"^1.27.1","zod":"^3.23.8"},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.6.0"},"gitHead":"5dc7399257243d8701859adcfa281242f8470c51","_id":"@abhishekmcp/git@0.2.0","_nodeVersion":"22.23.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-tgm9G+BY2JiZYUHb8RDs3QYHWa61qHsMOa3D4yODBocy4E1ySUdSWKsnKnBeEm0SEl/fPE3OPFb5LP8ICBSgZQ==","shasum":"a2acf1f2feceb9c5645825966803315f0fe98ea3","tarball":"https://registry.npmjs.org/@abhishekmcp/git/-/git-0.2.0.tgz","fileCount":14,"unpackedSize":65067,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abhishekmcp%2fgit@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICAvJF9HX4vXHtNobwwqXlyU582ik6VMaHtarZ2kBsvyAiEAtviVKP023NC3ZV+OYAhPciGMcCELJe65XjOVqeY5nMM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:21a57d2c-efb7-49db-83a8-ddf6f65e0b42"}},"directories":{},"maintainers":[{"name":"abhishek.opensource","email":"abhishek.opensource.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/git_0.2.0_1782683433295_0.251872504426381"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-28T16:31:49.187Z","modified":"2026-06-28T21:50:33.784Z","0.1.0":"2026-06-28T16:31:49.605Z","0.2.0":"2026-06-28T21:50:33.442Z"},"bugs":{"url":"https://github.com/Abhishekkumar2021/mcp-suite/issues"},"author":{"name":"Abhishek","url":"https://github.com/Abhishekkumar2021"},"license":"MIT","homepage":"https://github.com/Abhishekkumar2021/mcp-suite/tree/main/servers/git#readme","keywords":["mcp","modelcontextprotocol","git","isomorphic-git","claude"],"repository":{"type":"git","url":"git+https://github.com/Abhishekkumar2021/mcp-suite.git","directory":"servers/git"},"description":"MCP server for local Git repositories — status, log, diff, file history, branches, and gated stage/commit — pure-JS (isomorphic-git), no git binary, from any MCP client.","maintainers":[{"name":"abhishek.opensource","email":"abhishek.opensource.dev@gmail.com"}],"readme":"# @abhishekmcp/git\n\nA local Git [MCP](https://modelcontextprotocol.io) server: inspect and (optionally) modify Git\nrepositories on your machine. Built on **isomorphic-git** — a pure-JavaScript git implementation, so\n**no `git` binary is required** and there are no native dependencies. Complements\n[`@abhishekmcp/files`](https://www.npmjs.com/package/@abhishekmcp/files).\n\n## Tools\n\n**Read (always):**\n- `git_status` — staged / unstaged / untracked + current branch\n- `git_log` — commit history (optional ref, limit, file-path filter)\n- `git_show` — a commit's metadata + changed files\n- `git_diff` — unified diff: working tree vs HEAD, a ref vs working tree, or refA vs refB (optional single file)\n- `git_file_history` — commits that touched a file\n- `read_file_at` — a file's contents at a ref/commit\n- `list_branches`, `list_tags`, `current_branch`, `search_log`\n\n- `list_remotes` — configured remotes (name + URL)\n\n**Write + remote (only when `GIT_WRITABLE=1`):**\n- Local: `git_stage`, `git_unstage`, `git_commit` (author from git config or args), `git_create_branch`, `git_checkout`\n- Remote (HTTPS): `git_clone`, `git_fetch`, `git_pull` (fast-forward), `git_push`\n\n> **Remotes are HTTPS-only** (isomorphic-git has no SSH). Public clone/fetch work anonymously; private\n> repos and push need a token (`GIT_TOKEN`). `git_pull` is fast-forward only. No blame. Diffs are computed\n> in pure JS (size-capped).\n\n## Configuration\n\n| Variable | Required | Effect |\n|----------|----------|--------|\n| `GIT_ROOTS` | **yes** | Allowed repo root directories (comma-separated). The server refuses to start without it. |\n| `GIT_WRITABLE` | no | `1`/`true` enables the write + remote tools. |\n| `GIT_TOKEN` / `GITHUB_TOKEN` | no | PAT for HTTPS remote auth (private clone/fetch/pull/push). |\n| `GIT_USERNAME` | no | Username for HTTPS basic auth (defaults to the token). |\n\nEvery `repo` argument is sandboxed to `GIT_ROOTS` (lexical + realpath containment; symlink escapes rejected).\n\n## Usage\n\n```bash\n# Claude Code (plugin):  /plugin marketplace add Abhishekkumar2021/mcp-suite  →  /plugin install git\n# Claude Code (manual):\nclaude mcp add git --env GIT_ROOTS=$HOME/code -- npx -y @abhishekmcp/git\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"git\": { \"command\": \"npx\", \"args\": [\"-y\", \"@abhishekmcp/git\"], \"env\": { \"GIT_ROOTS\": \"/path/to/code\" } }\n  }\n}\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}