Last month I shipped an MCP server that reviews code locally — no SaaS, no uploads. Two pieces of feedback kept coming up on Product Hunt:
- "Can my whole team sync the same review rules?"
- "Can each repo have its own rule set?"
So I built exactly that. aicraft-code-review now reads a config file from your repo.
One config file per repo
Drop a .mcp-code-review.yaml in your project root:
disabled_checks:
- todo_comment
severity_overrides:
hardcoded_secret: critical
min_severity: medium
custom_rules:
- name: no-console-log
pattern: 'console\.log\('
severity: high
issue: Console logging left in production code
fix: Use a structured logger instead
That gives you:
- Custom regex rules with their own severity, message, and suggested fix
-
disabled_checksto silence noise -
severity_overridesto make your team's blockers actually block -
min_severityto keep junior devs from drowning in info-level findings
Config is auto-discovered from the reviewed file's directory upward — one file per repo works automatically.
YAML tip: put regex patterns in single quotes. Double-quoted patterns like
"console\.log\("can trigger YAML escape errors — single quotes keep the backslashes literal.
Team-wide profiles
For a single shared profile, point every teammate at the same file:
{
"mcpServers": {
"code-review": {
"command": "uvx",
"args": ["aicraft-code-review"],
"env": {
"MCP_CODE_REVIEW_CONFIG": "/path/to/team-repo/.mcp-code-review.yaml"
}
}
}
}
Commit the YAML to your repo and every machine gives identical feedback.
Try it
uvx aicraft-code-review
JSON configs work with zero extra dependencies; YAML needs pip install "aicraft-code-review[yaml]".
The server is MIT-licensed and reviews code snippets, git diffs, and local files with OWASP security checks, N+1 detection, and style/quality passes.
- GitHub: https://github.com/GoodJobwilliam/aicraft
- PyPI: https://pypi.org/project/aicraft-code-review/
Happy reviewing!
Top comments (0)