init
Initialize a new Git repository
Drive the everyday Git operations against a repository path — stage, commit, branch, tag, stash, push and pull — and put a whole sequence of them into a single call.
LABSCO SUMMARY
The flags that actually decide what happens are exposed as parameters rather than buried in a command string: force and noVerify on push, track and setUpstream on branch_create, annotated and sign on tag_create, includeUntracked and keepIndex on stash_save. Reading history is not part of this surface — there is no log, diff or blame tool in the list — so it is a writing tool, not an archaeology tool. bulk_action is what keeps a multi-step change from costing a round trip per step.
A Git front end over 21 operations against a repository path on disk, from init and clone through commits, branches, tags, remotes and stashes.
A repository path on the host — every tool takes one — and a remote url for clone, remote_add, push and pull.
Build from source — git clone https://github.com/Sheshiyer/git-mcp-v2.git
USE CASES
Create the repository in place, stage what belongs in it, and take the first commit while checking the working tree between steps.
Cut the branch with its upstream set, switch to it, commit the work, and push it with the flags the remote's hooks require.
Stash what is in progress including the untracked files, switch away to fix the urgent thing, and bring the work back afterwards.
Create the annotated or signed tag on the commit that ships, confirm it is there, and push it up with the tags flag set.
Look at what remotes are configured, add the new one with its url, drop the stale one, and pull from where the work now lives.
Put the whole sequence — stage, commit, branch, push — into a single call instead of paying a turn for each operation.
Listed in project docs. Your client may show a different list.
initInitialize a new Git repository
cloneClone a repository
statusGet repository status
addStage files
commitCreate a commit
pushPush commits to remote
pullPull changes from remote
branch_listList all branches
branch_createCreate a new branch
branch_deleteDelete a branch
checkoutSwitch branches or restore working tree files
tag_listList tags
tag_createCreate a tag
tag_deleteDelete a tag
remote_listList remotes
remote_addAdd a remote
remote_removeRemove a remote
stash_listList stashes
stash_saveSave changes to stash
stash_popApply and remove a stash
bulk_actionExecute multiple Git operations in sequence. This is the preferred way to execute multiple operations.
BEFORE YOU INSTALL
21 tools named in the project's documentation. npx git-mcp-server installs tusharsoni's npm package, not this repository's code, which can only be built from source. Both list the same 21 tools, so they likely share a lineage.
Node.js and npm, to build and run it
The documented client runs the server on your machine.
CONTEXT COST
21 tool definitions ride along on every turn
INSTALLATION
You clone and build this one yourself, so change the path in the block to wherever your copy ended up, and put your own values in place of the placeholders.
git clone https://github.com/Sheshiyer/git-mcp-v2.git
cd git-mcp-v2
npm install
npm run build{
"mcpServers": {
"git-v2": {
"command": "node",
"args": [
"path/to/git-mcp-v2/build/index.js"
],
"env": {
"GIT_DEFAULT_PATH": "/path/to/default/git/directory",
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-github-pat"
}
}
}
}Both env values are optional: GIT_DEFAULT_PATH sets a default path for Git operations, and GITHUB_PERSONAL_ACCESS_TOKEN is needed only for GitHub operations. Replace path/to/git-mcp-v2 with the full path to your clone.