
Security News
arXiv Is Rate Limiting Authors Following a Flood of AI Slop Submissions
arXiv now limits authors to two submissions a month as AI slop overwhelms moderators, delays good papers, and sparks debate over applying the limit to everyone.
mcp-git-commit-generator
Advanced tools
Generate conventional commit messages from your staged git changes using Model Context Protocol (MCP).
Generate Conventional Commit messages from staged Git changes through the Model Context Protocol (MCP).
This release uses the official Python MCP SDK v2 and targets the MCP 2026-07-28 specification.
The SDK can serve both protocol eras:
server/discover flow.initialize handshake.stdio is the default local transport.streamable-http is the recommended network transport. Its default endpoint is /mcp.sse remains available only for legacy integrations.This server configures Streamable HTTP as stateless JSON because its tools do not need a server-to-client back-channel.
commit_type and scope before they enter a model prompt.uvx mcp-git-commit-generator
pip install mcp-git-commit-generator
Mount only the repository that the server must inspect. A read-only mount is enough because the tools do not create commits or edit files.
docker run -i --rm \
--read-only \
--cap-drop=ALL \
--security-opt=no-new-privileges:true \
--mount type=bind,src="$PWD",dst="$PWD",readonly \
ghcr.io/theoklitosbam7/mcp-git-commit-generator:latest
generate_commit_messageBuild a strict prompt for a Conventional Commit message from staged changes.
Parameters:
repo_path: optional repository path. A path inside a worktree is accepted.commit_type: optional Conventional Commit type: feat, fix, docs, style, refactor, perf, build, ci, test, chore, or revert.scope: optional 1-50 character scope. It can contain letters, numbers, ., _, /, and -.check_git_statusReport the current branch plus staged, unstaged, and untracked files.
Parameter:
repo_path: optional repository path. A path inside a worktree is accepted.Common MCP client format:
{
"mcpServers": {
"mcp-git-commit-generator": {
"command": "uvx",
"args": ["mcp-git-commit-generator"]
}
}
}
VS Code uses a top-level servers object:
{
"servers": {
"mcp-git-commit-generator": {
"command": "uvx",
"args": ["mcp-git-commit-generator"]
}
}
}
Start the local server:
uv run mcp-git-commit-generator \
--transport streamable-http \
--host 127.0.0.1 \
--port 3001
Connect the client to:
http://127.0.0.1:3001/mcp
The HTTP mode has no application authentication. The default bind address is loopback for this reason. If you need remote access, put the server behind an authenticated TLS reverse proxy and restrict network access.
Older clients can still use SSE:
uv run mcp-git-commit-generator \
--transport sse \
--host 127.0.0.1 \
--port 3001
New integrations should use stdio or Streamable HTTP.
Install the locked environment:
uv sync --all-groups
Run the checks:
uv run python -m compileall -q src tests
uv run pytest
uv run pip-audit --local
uv build
Start the MCP server in one terminal from the repository root:
uv run mcp-git-commit-generator \
--transport streamable-http \
--host 127.0.0.1 \
--port 3001
In another terminal, start Inspector with the local server configured:
cd inspector
npm ci
npm run dev:inspector -- \
--transport http \
--server-url http://127.0.0.1:3001/mcp \
--protocol-era modern
Open the Inspector URL printed in the terminal, normally at http://127.0.0.1:6274. If the local server's connection switch is off, turn it on. Inspector calls the transport http; the Python server calls it streamable-http.
The /mcp URL is a protocol endpoint, not a web interface. Do not open it directly in the browser to use Inspector.
For VS Code debugging, select the project's .venv Python interpreter, install the Inspector dependencies with npm ci in inspector, and run Debug in Inspector (Chrome) or Debug in Inspector (Edge). These configurations start both processes and open Inspector on port 5173.
The repository uses these controls:
uv.lock and audited with pip-audit.package-lock.json and checked with npm audit.Repository names, paths, file contents, and diffs are attacker-controlled input. The server serializes repository context as JSON and tells the downstream model to use those values only as evidence about the change. It does not treat instructions hidden inside a staged diff as trusted instructions.
Git is executed as an argument list with shell=False behavior. The server disables external diffs, interactive prompts, and pagers for tool operations. It also applies a command timeout.
For Docker, prefer a narrow read-only repository mount instead of mounting the whole home directory.
version in pyproject.toml.v3.0.0.Tag pushes build and publish the Python package and container image. PyPI uses trusted publishing.
MIT © 2025-2026 Theoklitos Bampouris
FAQs
Generate conventional commit messages from your staged git changes using Model Context Protocol (MCP).
The pypi package mcp-git-commit-generator receives a total of 22 weekly downloads. As such, mcp-git-commit-generator popularity was classified as not popular.
We found that mcp-git-commit-generator demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
arXiv now limits authors to two submissions a month as AI slop overwhelms moderators, delays good papers, and sparks debate over applying the limit to everyone.

Research
/Security News
A new GhostAction wave hits hundreds of GitHub repos, expanding CI/CD secret theft to cloud and AI credentials in source code and git history.

Research
/Security News
Tensorlake npm SDK version 0.5.144 was compromised in a ChainDrop / Shai-Hulud attack, delivering credential-stealing malware.