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.
Installation
Using uv
uvx mcp-git-training-wheels
From source
git clone https://github.com/lava/mcp-git-training-wheels
cd mcp-git-training-wheels
uv pip install -e .
Usage
Add the following
Depending on your agent of choice, run something like the following
claude mcp add git-commit -- uvx mcp-git-training-wheels
or 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"]
}
}
Metadata
Release files for mcp-git-training-wheels 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcp_git_training_wheels-0.1.2.tar.gz | 5.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_git_training_wheels-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.1 kB
Release files / mcp_git_training_wheels-0.1.2.tar.gz
| Download URL | mcp_git_training_wheels-0.1.2.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9e25fb668668fa066ff2a9efd37e1491a634f1de9d023e5ad2b3bb706c4225d5
|
|
BLAKE2b-256 checksum How to use checksums |
a9587454a7b41242197c1e7ac6b64b8e4706d329ea715844c13ac9876453aa03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / mcp_git_training_wheels-0.1.2-py3-none-any.whl
| Download URL | mcp_git_training_wheels-0.1.2-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
31134d8ca58d1507d12f543736f589c51c7a8dffa230a655a424ef7f9547f52d
|
|
BLAKE2b-256 checksum How to use checksums |
2ba545f6fa839f6e2e9633e35fd7136ffaa43dbb8a60d35dcaa6ab2704530b12
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Security for mcp-git-training-wheels 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.