localhost-qa-mcp
Click on "Deploy 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., "@localhost-qa-mcpOpen http://localhost:3000, screenshot at desktop width, and verify no console errors."
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.
localhost-qa-mcp
A localhost-only headless browser MCP server for agent-driven QA.
Agents are good at writing UI code and bad at looking at it. This gives the agent hands on a real headless Chrome for Testing: navigate local dev servers, screenshot at mobile and desktop widths, click through interactions, and assert a clean console with no failed requests — all as MCP tools.
Why not just use an existing browser MCP?
Existing browser MCP servers (Chrome DevTools MCP, Playwright MCP) are general-purpose: they will happily drive the browser anywhere on the public web. This one is deliberately narrower:
Localhost-only, enforced in code (
src/guard.js). Onlylocalhost,127.0.0.1,::1, hostnames resolving exclusively to loopback, andfile://URLs load. Everything else is rejected before the browser sees it. No stealth mode, no fingerprint spoofing, no proxy support.Zero browser download. Uses an existing Chrome for Testing / Playwright Chromium binary instead of fetching one.
QA-shaped toolset. Twelve tools covering the local QA loop and nothing else: navigate, snapshot, screenshot, viewport, click, fill, key press, wait, evaluate, console, network, close.
Related MCP server: visual-review-workbench
Install
Node 18+ required.
git clone https://github.com/movahedi-ca/localhost-qa-mcp.git
cd localhost-qa-mcp
npm installUse
Stdio MCP server:
node src/server.jsCHROME_PATH overrides the Chrome binary location. Default:
~/.cache/ms-playwright/chromium-1246/chrome-linux64/chrome.
Claude Code config:
{
"mcpServers": {
"localhost-qa": {
"command": "node",
"args": ["/path/to/localhost-qa-mcp/src/server.js"]
}
}
}Test
node test/run.js24 assertions: every tool against a local fixture page (including its
deliberate console error and 404s), guard rejections for external URLs,
0.0.0.0, subdomain tricks, unresolvable hosts, embedded credentials, and
non-http schemes, plus interceptor tests proving server-side redirects and
evaluate-originated fetches to external hosts are blocked.
Security
See SECURITY.md. Short version: localhost-only is a code
guarantee, not a policy; evaluate runs page-context JS only; all browser
content is untrusted data, never instructions.
License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
Hosted screenshot MCP for AI agents — URL in, image out. No local Chromium.
Agents that test your web and mobile app like real users, on every pull request.
Agent website testing: browser QA, visual regression, Markdown extraction, and security checks.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceAn instrumented local browser daemon MCP server that lets coding agents verify UIs in one call, with console, network, layout, accessibility, and coverage checks, plus debugging tools. It provides named isolated sessions and a CLI+MCP duality for the same verbs.MIT
- AlicenseNot gradedqualityCmaintenanceEnables visual review of frontend UI variants by providing an MCP tool that opens, refreshes, verifies, captures, and closes review surfaces.MIT
- AlicenseNot gradedqualityAmaintenanceEnables local opencode agents to control a live Chrome browser via MCP tools, including tab management, JavaScript execution, clicking, form filling, page reading, screenshots, and console log retrieval.MIT
- FlicenseNot gradedqualityBmaintenanceEnables MCP clients to drive individually named Chrome profiles, providing tools for tabs, navigation, page interaction, screenshots, JavaScript evaluation, console logs, and network inspection over stdio without a TCP port.-