git-courer

mcp
Security Audit
Fail
Health Pass
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 16 GitHub stars
Code Fail
  • rm -rf — Recursive force deletion command in scripts/install.sh
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This tool is an MCP server that intercepts routine git operations (like generating commit messages, diffs, and changelogs) and processes them locally via Ollama. It is designed to save developers money by preventing AI assistants from burning expensive cloud API tokens on basic version control tasks.

Security Assessment
The server requires access to your local file system to read repository data and interact with Git. It executes shell commands to perform its core version control functions and interfaces directly with a local Ollama instance, meaning it does not make external network requests to third-party cloud APIs. No hardcoded secrets or dangerous permission requests were found. However, the automated rule-based scan flagged a recursive force deletion command (`rm -rf`) inside the `scripts/install.sh` file. While common in setup scripts for cleaning up temporary files, any `rm -rf` command warrants a quick manual review to ensure it doesn't accidentally target unintended directories. Overall risk is rated as Low to Medium.

Quality Assessment
The project is actively maintained, with its most recent push occurring today. It uses the standard, highly permissive MIT license, and has garnered 16 GitHub stars, indicating a small but present level of community trust. The repository is well-documented, featuring clear configuration instructions, architecture guidelines, and supported client lists.

Verdict
Use with caution — the tool is actively maintained and generally safe, but developers should quickly inspect the `install.sh` script before running it to verify the `rm -rf` deletion paths.
SUMMARY

MCP server for Git with local Ollama — zero tokens for git operations

README.md
Gemini_Generated_Image_g9lcw7g9lc

Release Build MIT License

Issues & Bugs: @Alejandro-M-P/git-courer/issues · Discussions: @Alejandro-M-P/git-courer/discussions


Quick Links

Doc Description
Architecture Codebase structure, patterns, and how to add features
Troubleshooting Fix: Ollama not running, MCP not detected, permission errors
MCP Clients All 10 supported clients, config formats, manual setup
Config Options All .gcourer/config.yaml settings and examples
Models Guide Tested models, token usage, and which one to pick
Contributing Setup, running tests, and how to collaborate

Demo

https://github.com/user-attachments/assets/cb6f11a7-2972-469a-8bf0-f3d0c0ac1f90


Stop Burning Money on Git Operations

Every time your AI assistant reads a diff, writes a commit, or creates a branch, it burns thousands of tokens — and it does this automatically, without you asking.

Operation Tokens wasted Cost (Claude/OpenAI)
Read diff ~1,000 $0.03
Write commit ~3,000 $0.09
Create branch + PR ~5,000 $0.15
Release (read history + changelog) ~20,000+ $0.60+
Per hour of coding ~25,000+ $0.75+
Per day (8h session) ~200,000+ $6.00+

That's $120–200/month just for git operations — the stuff your AI shouldn't be doing.

Releases are the worst: Your AI reads ALL commits to generate a changelog. That's 20,000–50,000 tokens ($0.60–1.50) per release. Do a release per week? That's $6–8/month just for versioning.

git-courer intercepts those operations and runs them locally, for free, using Ollama. Same result, zero tokens.

Real numbers: A heavy session with Cursor/Claude Code burns ~50,000 tokens/hour on git ops. At $3 per million tokens, that's $1.50/hour — or $200+/month if you code daily. git-courer drops that to $0.

How it works

You: "commit my changes"
        ↓
AI delegates to git-courer (via MCP)
        ↓
git-courer: reads diff → checks for secrets → asks Ollama → commits
        ↓
"✓ feat: add user authentication"

Every commit runs through 5 security layers that catch API keys, passwords, and tokens before they're staged.

Releases combine two things: Go calculates the version from your commit types (feat: → minor, feat!: → major), and Ollama writes a human-readable changelog from those commits.

Install

curl -fsSL https://raw.githubusercontent.com/Alejandro-M-P/git-courer/main/scripts/install.sh | sh

That's it. It installs the binary and auto-configures every AI tool it detects on your machine.

Requirements: Git · Ollama (optional, for AI commit messages)

Manual install:

# macOS / Linux
curl -fsSL https://github.com/Alejandro-M-P/git-courer/releases/latest/download/git-courer_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m).tar.gz | tar -xz -C /usr/local/bin git-courer
chmod +x /usr/local/bin/git-courer
git-courer setup

# Windows (PowerShell)
irm https://github.com/Alejandro-M-P/git-courer/releases/latest/download/git-courer_windows_amd64.tar.gz | tar -xz -o git-courer.exe
.\git-courer.exe setup

# Or with Go
go install github.com/Alejandro-M-P/git-courer@latest

Supported Tools

Tool Auto-configured Config Guide
Claude Code @Alejandro-M-P/git-courer/issues
Cursor docs/mcp-clients.md
Windsurf docs/mcp-clients.md
OpenCode docs/mcp-clients.md
Cline docs/mcp-clients.md
VS Code docs/mcp-clients.md
Claude Desktop ✓ macOS/Win only docs/mcp-clients.md
Continue docs/mcp-clients.md
Zed docs/mcp-clients.md
Gemini CLI docs/mcp-clients.md

Run git-courer setup to configure all detected tools at once, or git-courer mcp <client> for a specific one.

Commands

git-courer is not a CLI tool — it runs as an MCP server invoked automatically by your AI assistant. These are the management commands for installation and maintenance:

Command Description
git-courer setup Set up git-courer in the current project
git-courer remove Remove git-courer from the current project
git-courer uninstall Uninstall the binary globally
git-courer update Update to the latest version
git-courer mcp setup Configure all detected AI tools
git-courer mcp setup <client> Configure a specific tool (e.g. cursor)
git-courer version Show current version

Configuration

Run git-courer setup in your project — it creates .gcourer/config.yaml with sensible defaults.

All options: docs/config.md

Troubleshooting

Having issues? Check docs/troubleshooting.md for:

  • Ollama not running / generic commit messages
  • MCP not detected by your AI tool
  • Permission errors during install
  • Secrets detected in commits (false positives)

MCP config file locations: docs/mcp-clients.md

Known Limitations

Breaking change detection in commits requires a larger model (13b+). Small models (under ~7b) may write chore: remove X when feat!: remove X is correct. If your change is breaking, say it explicitly:

"commit this — it removes the /api/v1 endpoint, it's a breaking change"

Model comparison: docs/models.md


Contributing

Want to collaborate? Here's everything you need:

Architecture & Codebase

Read docs/architecture.md for:

  • Directory structure and tech stack
  • Hexagonal architecture patterns
  • Key packages and their responsibilities
  • How to add a new feature
  • Testing approach

Reporting Bugs

Found a bug? Open an issue: @Alejandro-M-P/git-courer/issues

Include:

  • Your OS and git-courer version (git-courer version)
  • AI tool you're using (Claude Code, Cursor, etc.)
  • Steps to reproduce
  • Relevant logs or error messages

How to Collaborate

  1. Read the docs: Start with docs/architecture.md and CONTRIBUTING.md
  2. Pick an issue: Check @Alejandro-M-P/git-courer/issues for good first issue labels
  3. Discuss: Use @Alejandro-M-P/git-courer/discussions for questions or feature ideas
  4. Submit PR: Follow conventional commits (feat:, fix:, chore:)

Adding a New MCP Client

If your AI tool supports MCP but isn't listed, adding it is usually 5 lines of code in internal/installer/mcp_config.go. See docs/mcp-clients.md for the format.


FAQ

Do I need Ollama?
No. git-courer works without it — commit messages will be generic. Install Ollama if you want AI-generated ones.

Is my code sent anywhere?
No. Everything runs on your machine — git-courer, Ollama, your data.

Who decides the version number in a release?
Go, not Ollama. Version is calculated from commit types (feat: → minor, feat!: → major). Ollama only writes the human changelog.

My tool isn't listed.
Open an issue: @Alejandro-M-P/git-courer/issues. If it supports MCP, adding it is usually a few lines.

How do I mark a breaking change?
Use ! after the commit type (feat!:) or include BREAKING CHANGE: in the body. git-courer picks this up automatically for version bumping and changelog generation.

Reviews (0)

No results found