git-training-wheels
Provides safe git commit and fixup capabilities, ensuring only specified files can be committed and allowing fixes to earlier commits.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@git-training-wheels commit src/main.py and tests/test_main.py with message 'Add main functionality'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Git Training Wheels
LLMs try to please, but as the context window gets larger and larger, errors
start to happen. In particular, current models have a tendency to just
git add -a the whole source tree, accidentally adding lots of random stuff
to their commits.
These issues become especially noticable when multiple agents are working on a codebase in parallel, or if you're doing quick fixes while an agent is working. And no current model has the ability to un-fuck a git history.
This MCP server gives the agent some training wheels for using git safely,. It
ensures that only a specific named set of files can be committed, and also
provides a convenient way to fixup earlier commits. For best results, use
permissions to automatically deny the use of Bash(git commit:*) or equivalent.
It's still using the regular git commit command under the hood, so global
and global git settings like username, email, and commit signing all apply
as usual.
Installation
Using uv
uvx mcp-git-training-wheelsFrom source
git clone https://github.com/lava/mcp-git-training-wheels
cd mcp-git-training-wheels
uv pip install -e .Related MCP server: git-mcp-server
Usage
Add the following
Depending on your agent of choice, run something like the following
claude mcp add git-commit -- uvx mcp-git-training-wheelsor drop the following JSON into .mcp.json or any other location of your
choice.
{
"mcpServers": {
"gtw": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-git-training-wheels"
],
"env": {}
}
}
}The specific command may change depending on your installation method.
Available Tools
git_commit
Commits specified files with a message and saves the commit information for later use.
Parameters:
files: List of file paths to commitmessage: Commit message
Example:
{
"tool": "git_commit",
"parameters": {
"files": ["src/main.py", "tests/test_main.py"],
"message": "Add main functionality and tests"
}
}fixup_commit
Adds files to a previously created commit. If the commit is still HEAD, it
uses git commit --amend. Otherwise, it uses the gitrevise module to edit
the commit in history.
Parameters:
files: List of file paths to add to the commit
Example:
{
"tool": "fixup_commit",
"parameters": {
"files": ["src/utils.py"]
}
}Available Tools
2 toolsgit_commitB
Commit specified files to git with the given commit message.
Inputs: files (required), message (required). Returns: result
git_commit_amendA
Amend files to the last commit created by git_commit. If the commit is still HEAD, uses git commit --amend. Otherwise, uses git commit --fixup to create a fixup commit.
Inputs: files (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
git_commit creates a new commit, while git_commit_amend modifies an existing commit (via amend or fixup). The purposes are clearly distinct and the descriptions explicitly define the boundary. No ambiguity exists between the two tools.
Both tools follow the same `git_` prefix plus a verb (`commit`, `commit_amend`), creating a clear and predictable pattern. The naming is consistent and immediately conveys the action.
With only two tools, the surface feels thin, even for a focused 'training wheels' server. While the tools are well-chosen for basic commit workflows, a couple more (e.g., log, status) would round out the set. It is borderline but not critically under-scoped.
The domain appears to be basic git commit operations, and the two tools cover creating and amending/fixing up commits. However, there are notable gaps such as inspecting commit history, checking repository status, or reverting changes, which an agent would likely need for a complete workflow.
Maintenance
Related MCP Connectors
One MCP server for all your MCP servers: code mode, per-tool permissions, approvals and audit.
A MCP server built for developers enabling Git based project management with project and personal…
Zero-log MCP server with 42 tools for AI guardrails, secret scanning, MCP linting & EU compliance.
1
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Git-enforced filesystem MCP server that integrates git with filesystem operations, enforcing commits on writes, providing reads with history, and supporting staged branching.MIT
- AlicenseNot gradedqualityDmaintenanceA secure, git-aware MCP server for working with local repositories, enabling file management, shell commands, and full git operations within allowed directories.138 npm1GPL 3.0
- FlicenseNot gradedqualityDmaintenanceMCP server providing commit rules with SemVer and conventional commits format for development teams.-
- AlicenseAqualityDmaintenanceA local MCP server that provides a safe, explicit set of Git operations for version control tasks like status, diff, branching, staging, committing, fetching, merging, and pushing.138 npmMIT