git-daily-review
Allows automated AI code review of any Git repository, analyzing daily commits, and producing structured reports.
Click on "Install 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-daily-reviewrun today's review"
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.
π Git Daily Review
Automated daily AI code review for any Git repository β usable as a CLI, a scheduled routine, or an MCP server for AI agents.
Git Daily Review analyzes your daily commits across multiple repositories, checks them against your project's conventions and quality gates, and produces a structured Markdown report. It ships with an MCP (Model Context Protocol) server, so agents like Claude Code and Claude Desktop can run reviews, read reports, and curate the project knowledge base conversationally.
License: AGPL-3.0-only Β· Python 3.10+ core Β· TypeScript MCP server
Highlights
Any repo, any language β the AI adapts to your stack (TypeScript, Python, Java, Go, Rust, C#, β¦)
Multi-repo β monitor as many repositories as you need in a single run
MCP server β expose reviews, reports, and knowledge-base curation as agent tools
Multi-provider AI β Anthropic Claude, OpenAI, Google Gemini, or any local model via Ollama (fully offline)
Self-improving knowledge base β 7-layer project context that learns from each review, with a code-enforced auto-merge policy and human approval for high-impact changes
RAG-ready β optional integration with an external RAG service for semantic context
Cross-platform scheduling β macOS (launchd), Linux (cron), Windows (Task Scheduler); secrets stay in
.env, never in the scheduler filesSetup wizard β web-based configuration, no manual YAML editing required
Quick start (CLI)
git clone https://github.com/YOUR_USER/git-daily-review.git
cd git-daily-review
# 1. Configure (opens the wizard in your browser)
python3 setup.py
# 2. Secrets (cloud providers only β Ollama needs none)
cp .env.example .env # then add e.g. ANTHROPIC_API_KEY=...
chmod 600 .env
# 3. First review
python3 scripts/daily_review.py
# 4. Schedule daily runs
python3 scripts/scheduler.py --installCLI reference:
python3 scripts/daily_review.py # review today
python3 scripts/daily_review.py --date 2026-05-12 # specific date
python3 scripts/daily_review.py --days 5 # last N days
python3 scripts/daily_review.py --collect-only # git data only, no AI
python3 scripts/daily_review.py --history # report history index
python3 scripts/kb_manager.py --review # interactive KB curation
python3 scripts/kb_manager.py --approve <ID> # non-interactive approve
python3 scripts/kb_manager.py --reject <ID> # non-interactive reject
python3 scripts/kb_manager.py --statsMCP server (use it as an agent)
The mcp/ directory contains a TypeScript MCP server that wraps the review engine.
cd mcp
npm install
npm run buildRegister it with Claude Code:
claude mcp add git-daily-review -- node /absolute/path/to/git-daily-review/mcp/dist/index.jsOr add it to Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"git-daily-review": {
"command": "node",
"args": ["/absolute/path/to/git-daily-review/mcp/dist/index.js"]
}
}
}Exposed tools:
Tool | What it does |
| Run the review for today, a date, or the last N days |
| Read the full Markdown report for a date |
| List available reports + history index |
| List KB suggestions (filter by status) |
| Approve/reject a pending suggestion by ID |
| Knowledge-base statistics |
Then just ask your agent things like βrun today's review and summarize the critical issuesβ or βshow me pending KB suggestions and approve the ones about naming conventionsβ.
Environment overrides: GDR_ROOT (project root, default: repo root), GDR_PYTHON (Python executable, default: python3).
AI providers
Provider | Models | API key env var | Notes |
Anthropic | Claude Haiku, Sonnet, Opus |
| |
OpenAI | GPT-4o-mini, GPT-4o, o1-mini |
| |
Google Gemini | Gemini 2.0 Flash, 1.5 Flash/Pro |
| |
Ollama (local) | any pulled model | (none) | fully offline; set |
Secrets live in a .env file at the project root (see .env.example), loaded automatically at startup. They are never written into launchd plists, crontabs, or batch files.
Knowledge base (7 layers)
config/knowledge-base.yaml gives the reviewer structured project context:
L0 Identity Β· L1 Architecture Β· L2 Conventions Β· L3 Quality Gates
L4 Domain Β· L5 Integrations Β· L6 ReleaseAfter each run the system extracts new knowledge surfaced by the review and stores it as suggestions in config/kb_suggestions/. The auto-merge policy is enforced by code (not by the model): only new conventions and info/warning gates with confidence β₯ 0.85 can auto-merge, capped at 2 per run. Critical gates, domain rules, and integrations always require human approval β interactively (kb_manager.py --review), via CLI flags, or through the MCP decide_kb_suggestion tool.
Disable learning entirely with kb_learning: false in the ai: section of config.yaml.
Project structure
git-daily-review/
βββ setup.py β setup wizard entry point
βββ requirements.txt
βββ .env.example β secrets template (never commit .env)
βββ config/
β βββ config.example.yaml
β βββ knowledge-base.example.yaml
βββ scripts/ β Python core
β βββ daily_review.py β orchestrator (loads .env at startup)
β βββ git_collector.py β fetch, commits, diffs
β βββ ai_reviewer.py β review pipeline
β βββ ai_provider.py β Anthropic/OpenAI/Ollama/Gemini abstraction
β βββ kb_updater.py β KB learning + code-enforced auto-merge policy
β βββ kb_manager.py β KB curation CLI (interactive + --approve/--reject)
β βββ rag_client.py β optional RAG client
β βββ report_generator.py β Markdown reports + history index
β βββ scheduler.py β launchd / cron / schtasks (no secrets on disk)
β βββ wizard_app.py β wizard HTTP backend
βββ mcp/ β MCP server (TypeScript)
β βββ src/index.ts
βββ templates/wizard.html
βββ reports/ β generated daily reports (git-ignored)Roadmap
Slack/email notifications for the daily report
--cimode: non-zero exit on critical findings (PR gating)Full TypeScript port of the core
Remote repository support (review without a local clone)
Contributions welcome β open an issue or a PR.
License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-only). If you run a modified version as a network service, you must offer its source to the users of that service. See LICENSE.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mrosano1987/git-daily-review'
If you have feedback or need assistance with the MCP directory API, please join our Discord server