build-quality-mcp

build-quality-mcp

Enables Claude-powered pre-push code review, blocking bad commits by analyzing diffs with Anthropic's models.

Category
Visit Server

README

build-quality-agent

English | 中文

Claude-powered git pre-push reviewer for indie OSS projects. Stops the bad commit before it costs you a Vercel build minute.

License PyPI Python Model Tests

Built by Alex Ji — solo founder shipping VibeXForge and Orallexa. Born from this thought:

I just spent $131.92 in Vercel build minutes this month because I keep pushing commits with type errors and missing imports.

What it does

Before every git push, it runs Claude over the diff and decides:

  • PASS — push proceeds
  • BLOCK — push is aborted, you fix the issue locally

That's the whole pitch. No CI loop. No remote build that fails 6 minutes in. Catches the obvious stuff (type errors, removed imports, hardcoded secrets, reverted auth checks) before your laptop fan even spins up.

--build flag (v0.3+) — also run the actual build

--build runs the project's local build before review (auto-detects: npm/pnpm/bun/yarn run build for JS, python -m build, cargo check, go build). If the build fails, the build log is appended to the Claude prompt for a unified explanation, and the push is always BLOCKed.

build-quality-agent --build              # one-off
BUILD_AGENT_BUILD=1 git push              # default for this push

The 4-minute build cap is generous; most local builds for indie projects are 30-90s. Combined cost of --build + diff review: ~$0.0006 + ~30-60s of laptop time, vs ~$0.12/min × 6min = $0.72 saved per build that would have failed remotely.

Install

# 1. Clone
git clone https://github.com/alex-jb/build-quality-agent.git
cd build-quality-agent
pip install -e .

# 2. Set your Anthropic key (graceful no-op without it)
export ANTHROPIC_API_KEY=sk-ant-...

# 3. Wire into a target repo
cd ~/path/to/your/repo
bash ~/Desktop/build-quality-agent/scripts/install-hook.sh

That's it. Next git push will trigger a review.

Bypass

If the agent is wrong (it sometimes is — Claude reviews a diff, not a full repo, so context-free changes occasionally trip it):

BUILD_AGENT_SKIP=1 git push

This is the explicit, loud bypass. --no-verify also works but is silent. We prefer loud.

Usage examples

# Manual run on the most recent commit
python3 -m build_quality_agent --diff-range HEAD~1..HEAD

# Review without blocking (advisory mode)
python3 -m build_quality_agent --no-block

# Quiet unless something's wrong
python3 -m build_quality_agent --quiet

# Force a specific model
BUILD_AGENT_MODEL=claude-sonnet-4-6 python3 -m build_quality_agent

# Token + cost report (aggregates ~/.build-quality-agent/usage.jsonl)
python3 -m build_quality_agent --usage

Design choices

  • Default Haiku 4.5, not Sonnet. Diff review is a fast cheap task — Haiku gets ~10s response and pennies per push. Sonnet only kicks in if you set BUILD_AGENT_MODEL.
  • PASS by default on any internal failure. Network down, key missing, Claude flake — the agent prints a warning and lets the push through. Better unverified push than blocking real work.
  • 50kB diff cap, junk paths excluded. Lockfiles (package-lock.json, bun.lock, etc.), generated types (next-env.d.ts), build output (.next/, dist/), and binary assets (images, fonts, MP4s) are stripped before review so the budget gets spent on real source.
  • Vercel-aware prompt. The agent specifically looks for the patterns that crash Next.js / Vercel builds: missing default export on page.tsx / layout.tsx, client hooks without "use client", server-only imports leaking into client components, undefined symbols, hardcoded secrets.
  • Reads git's pre-push stdin. When invoked as a hook, the agent parses the <local_ref> <local_oid> <remote_ref> <remote_oid> lines git passes in. That makes the review range exactly match what's being pushed — including new branches without upstream tracking.
  • No build runner inside the hook. Running npm run build in pre-push would add 5-6 min to every push. Out of scope here. This agent reviews intent + obvious bugs; a separate CI build still catches everything.

Cost tracking

Every review writes a row to ~/.build-quality-agent/usage.jsonl. Run python3 -m build_quality_agent --usage to see total runs, pass/block split, token counts, and an estimated dollar cost (Haiku 4.5: $1/MTok in, $5/MTok out).

Roadmap

  • [x] v0.1 — Pre-push hook · Claude diff review · graceful degradation
  • [x] v0.2pip install -e . portability · git stdin parsing · junk-path filter · Vercel-aware prompt · pytest suite · --usage cost report
  • [ ] v0.3 — Project-specific rule files (.build-quality-agent.toml)
  • [ ] v0.4--build flag for projects that want the slow runtime build
  • [ ] v0.5 — Auto-suggested fix (Claude proposes the smallest patch that would PASS)

MCP server (Claude Desktop / Cursor / Zed)

Review a diff inline from your AI assistant.

pip install 'build-quality-agent[mcp]'

Then in ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "build-quality": {
      "command": "build-quality-mcp",
      "env": { "ANTHROPIC_API_KEY": "..." }
    }
  }
}

Tools: review_diff(diff) · review_range(diff_range) · usage_summary()

License

MIT.

🧩 Part of the Solo Founder OS stack

A growing collection of MIT-licensed agents that share solo-founder-os as their base — cron, eval, reflexion, AnthropicClient, HITL queue, notifiers. Each agent is independently useful; together they cover the full one-person company workflow.

🌐 The whole stack is live in production at vibexforge.com.

Agent What it does
solo-founder-os The shared base lib (cron · eval · reflexion · skill library · DGM-lite). Every other agent depends on it.
customer-discovery-agent Reddit pain-point scraper + Claude clustering for product validation.
funnel-analytics-agent Daily founder brief + real-time PH-day alerts across 9 sources.
orallexa-marketing-agent AI marketing agent — submit project once, get platform-native posts for X / Reddit / HN / Dev.to / 小红书 + 7 more. Powers vibexforge.com.
vc-outreach-agent Cold email drafter — investors (vc mode) or paying customers (customer mode, merged from customer-outreach in v0.9.0). HITL queue + SMTP sender.
cost-audit-agent Monthly bill audit across 6 providers (Vercel / Anthropic / OpenPanel / HyperDX / Supabase / GitHub Actions) with dollar-tagged waste findings.
bilingual-content-sync-agent EN ⇄ 中文 i18n diff + Claude translate + HITL apply. Batch API path @ 50% off.
customer-support-agent Triage user messages → auto-draft replies → HITL queue. Closes the L5 customer-support layer.
payments-agent Overdue-invoice reminder drafter. Stripe-shaped types + MockProvider fallback + hard money-safety prompt rules.

Each agent's own row is omitted from its README. Install whichever solve real problems for you — pip install <agent-name>.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured