INTEGRATION · GEMINI CLI
Add one MCP server to settings.json and Gemini CLI gets a QA engineer it can call. The agent drives a real browser; plain code grades the evidence. Free first audit, no card.
Free audit — no signup, no card. The same run Gemini CLI triggers through MCP.
We pointed this audit at 49 Show HN launches: 78% had a critical bug on day one.
Gemini CLI can write the feature, but it can't tell you whether the deployed page actually works. Out of the box it has no way to load your site in a browser, watch the network, and check that the analytics fired or the form submitted. You're left running the smoke test by hand — or wiring Gemini CLI up with Playwright MCP and then writing and grading the tests yourself.
Prufa ships an
MCP server
that hands Gemini CLI a finished QA tool, not raw browser primitives. When
the agent calls prufa_run_audit({url}), a managed agent
loop opens a real browser, navigates the public pages, and records
everything over CDP — every analytics beacon, console error, cookie,
response code, and a DOM snapshot. Then deterministic code grades the
captured evidence against declarative specs. The LLM navigates; it never
decides whether a beacon is correct or a link is broken — captured traffic
is asserted against a spec, so the same input gives the same verdict. That
separation is what makes a verdict Gemini CLI can act on. See
how Prufa verifies a flow without letting the model grade the result.
Three steps: install and register the server, ask the agent to test a URL, then read back a graded verdict. Evidence — not the model — keeps the score.
Install it (pip install prufa-mcp, or pipx install prufa-mcp), then add a prufa entry under mcpServers in ~/.gemini/settings.json (global) or .gemini/settings.json (project) with command prufa-mcp (no args), or run gemini mcp add prufa prufa-mcp. No key needed for the free audit.
In the agent, say "audit https://yourapp.com with Prufa." It calls prufa_run_audit, which blocks (wait=true, up to ~90s) while a real browser loads the pages and captures network traffic, console output, cookies, and response codes.
The tool returns the JSON report and a share_token. Six sections graded A–F — Works, Fast, Found, Measured, Accessible, Compliant — plus an ungraded Flows section. Counts and grades come from VERIFIED findings only; ADVISORY (LLM-judged) observations are labeled and excluded. There is no composite 0–100 score — we don't fake precision.
Real and copy-pasteable. Install first with pip install prufa-mcp,
then add this stdio entry under the top-level mcpServers key in
~/.gemini/settings.json (global) or .gemini/settings.json
(project). The env / API-key line is optional — the free audit needs none.
{
"mcpServers": {
"prufa": {
"command": "prufa-mcp",
"env": { "PRUFA_API_TOKEN": "$PRUFA_API_TOKEN" }
}
}
} Official Gemini CLI MCP docs
Or add it from the command line (gemini mcp add <name> <command>,
stdio is the default transport):
gemini mcp add prufa prufa-mcp
Remote (HTTP) — note the httpUrl key. When a hosted Prufa MCP
endpoint is the path you want, Gemini CLI uses httpUrl,
not url (a plain url key is treated as SSE):
{
"mcpServers": {
"prufa": {
"httpUrl": "https://mcp.prufa.dev/mcp",
"headers": { "Authorization": "Bearer $PRUFA_API_TOKEN" },
"timeout": 5000
}
}
} Verified and advisory findings ship in separate tiers, never interleaved. Counts and grades come from the verified tier only; advisory is a labeled opinion that counts toward nothing.
The build ships blind — no events fired across the public pages (the most common critical in our 49-launch audit, 38 of 49).
Search engines are told the real page lives somewhere else.
Nothing constrains where scripts can load from — a missing XSS backstop (11 of 14 sites in our r/SideProject audit shipped without one).
A user (or your agent's next step) hits a dead end.
A judgment call, not a verified fact — excluded from every count and grade.
Where this is and isn't the right tool — including where the alternative wins.
Different jobs. Playwright MCP gives Gemini CLI raw browser primitives — click, type, navigate — and you still author and judge the test. Prufa returns a verdict: the agent loop drives the browser, then deterministic code grades the captured evidence and labels each finding VERIFIED or ADVISORY. If you want fine-grained browser control, Playwright MCP wins. If you want a trustworthy pass/fail without writing assertions, use Prufa. Many people run both. More: agentic testing vs scripted testing.
The agent loop only navigates and drives the browser. Grades and severity counts are computed by deterministic code from captured evidence — the LLM never judges whether a finding is real, so the verdict is reproducible (regression-tested against a golden fixture site). LLM-judged observations ship as a separate, labeled ADVISORY tier and count toward nothing. There is no composite 0–100 score; we don't fake precision.
Honest limits: the free audit walks public pages, not authenticated flows — login/checkout flows use prufa_create_flow / prufa_run_flow and need a card-first paid workspace. Prufa does not scan for exposed secrets. Full-auto discovery is gated, not a one-call feature. The evidence-gated AI-VERIFIED path currently lives in the Gremlin chaos modality, not the standard audit — in a standard audit the lone LLM check stays advisory. MCP isn't the only entry point: the same audit is callable straight from your own code over the HTTP API.
The questions developers ask before they wire a QA MCP server into Gemini CLI.
It is a Model Context Protocol server that gives Gemini CLI a QA tool it can call mid-task. Prufa's MCP server (prufa-mcp) exposes tools like prufa_run_audit and prufa_get_report. Once added to settings.json, Gemini CLI can point a real browser at a URL, capture network traffic, console errors and cookies, and read back a graded verdict — without you leaving the agent or writing a test.
Install prufa-mcp (pip install prufa-mcp, or pipx), then edit ~/.gemini/settings.json (global) or .gemini/settings.json (project) and add a prufa entry under mcpServers with command prufa-mcp, or run gemini mcp add prufa prufa-mcp. prufa-mcp is open source (Apache-2.0, GitHub prufa-dev/prufa-mcp) and the free audit needs no key. PRUFA_API_TOKEN is optional and only for persistent tiers (saved flows, deploy monitors) — the agent can self-provision a free, no-card trial token via prufa_setup_workspace with the human's email, or a human mints one in the dashboard for a paid workspace. Env values are referenced as $VAR.
Playwright MCP gives Gemini CLI browser primitives — click, type, navigate — and you (or the agent) still author and judge the test. Prufa's QA MCP server returns a graded verdict: the agent loop drives a real browser, then deterministic code grades the captured evidence against specs and labels each finding VERIFIED or ADVISORY. Playwright MCP wins when you want raw browser control; Prufa wins when you want a pass/fail you can trust.
Yes, within honest limits. Through prufa_run_audit Gemini CLI runs a real-browser audit of public pages and reads six graded sections plus findings as JSON. Authenticated flows (login, checkout) use prufa_create_flow and prufa_run_flow and require a card-first paid workspace. The free audit walks public pages only; it does not scan for exposed secrets, and full-auto discovery is gated, not a one-call feature.
Try the free 60-second audit from the browser first — the same run Gemini CLI triggers
through MCP, no card. Then add the server to settings.json and
let the agent verify what it just built. Saved flows and deploy monitoring
start on the paid tiers; see
pricing.
Browse every Prufa tool on the
MCP server page.