BugScout MCP Server
Integrates with GitHub Actions to run bug scans on PR preview deployments and comment findings directly on PRs.
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., "@BugScout MCP Serverscan example.com for bugs"
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.
š BugScout ā Autonomous Web QA Agent
Point it at a URL. It finds your bugs. It writes the regression tests.
BugScout is an AI-powered web QA agent that autonomously explores any web application, maps its user flows, detects bugs (console errors, broken links, a11y violations, layout issues, dead buttons), and generates production-ready Playwright regression suites ā all from a single command.
Why BugScout?
One command ā point it at a URL and get a markdown report with screenshots
Finds real bugs ā console errors, 4xx/5xx, broken links, a11y violations, dead buttons, layout overflow
Generates Playwright tests ā deterministic, self-validating specs from discovered user flows
Plays well with CI ā GitHub Action for PR previews, regression diffing
MCP-native ā browser control exposed as MCP tools (works with Claude, Cursor, any MCP client)
Accessibility-first ā snapshot via accessibility tree, not raw DOM (cheaper + more robust)
Related MCP server: MCP Playwright Server
Quick Start
git clone https://github.com/mhmdtaha091/bugscout.git
cd bugscout
npm install
npx playwright install chromium
# Scan a site
npm run dev -- https://example.com
# With options
npm run dev -- https://example.com \
--output ./qa-results \
--max-pages 30 \
--agentic \
--generate-testsNot on npm yet ā the
bugscoutname on the registry belongs to an unrelated package, so this will ship under a scoped name. Until then, clone and run.
How It Works
Target URL
ā
ā¼
Explorer agent āāāā Playwright (CDP) ā crawls same-origin pages
ā accessibility-tree-first, screenshot on ambiguity
ā¼
Flow map āāā pages, interactive elements, forms, links
ā
āāāāŗ Bug detector ā console errors, 4xx/5xx, broken links,
ā a11y violations, dead buttons, layout overflow
ā
āāāāŗ Test generator ā deterministic Playwright specs per flow
ā (role/label > testid > CSS selector strategy)
ā
āāāāŗ Reporter ā markdown report + screenshotsCLI Options
Flag | Description | Default |
| Output directory |
|
| Max pages to crawl | 50 |
| Max crawl depth | 5 |
| Show browser window |
|
| Page timeout in seconds | 30 |
| LLM-driven agentic exploration (v1) |
|
| Generate Playwright specs (requires |
|
| LLM provider: |
|
| LLM model |
|
| API base URL for openai-compatible providers | ā |
| API key (or | env var |
Architecture
src/
āāā cli.ts ā CLI entry point (commander)
āāā explorer.ts ā Playwright crawler + flow map builder
āāā bug-detector.ts ā Cheap bug detectors (no LLM required)
āāā reporter.ts ā Markdown report + console summary
āāā agent.ts ā LLM-driven agentic exploration (v1)
āāā mcp-server.ts ā MCP server: browser as tools
āāā test-generator.ts ā Deterministic Playwright spec generation
āāā ci.ts ā GitHub Action + regression diff + security stub
āāā types.ts ā Shared TypeScript typesMCP Server
BugScout exposes a Playwright browser as MCP tools:
npx tsx src/mcp-server.tsTools: navigate, snapshot (a11y tree + screenshot), click, fill, evaluate, console_logs, network_errors, close
Use it directly with Claude Code or any MCP-compatible client.
CI Integration
# Generate a GitHub Actions workflow
npx bugscout ci --init
# Compare two scan results for regressions
npx bugscout diff baseline.json current.jsonThe generated workflow runs on PR preview deployments, comments findings directly on the PR.
Roadmap
Version | What | Status |
v0 | Explorer + cheap bug detection + markdown reports | ā Done |
v1 | Agentic exploration + Playwright test generation | ā Done |
v2 | Real-world OSS testing + repro GIFs + upstream bugs | š Pending |
v3 | CI mode + regression diffing + security extension | ā Done |
Real-World Scans
BugScout has been tested against real, high-traffic production sites:
Site | Pages | Bugs Found | High | Medium | Low | Duration |
Hacker News (news.ycombinator.com) | 10 | 194 | 13 | 174 | 7 | 57s |
Reddit (old.reddit.com) | 20 | 445 | 40 | 405 | ā | 214s |
Bugs detected include: missing accessible labels (a11y), layout overflow on narrow viewports, broken intra-site links, and console errors.
Run the agentic mode (
--agentic) to enable LLM-driven exploration and automatic Playwright test generation from discovered flows.
Metrics
All numbers published are real and verifiable:
639 total bugs found across 2 production sites (30 pages, 3,600+ links)
Pages crawled per scan, cost + wall-clock time, and bug severity breakdown
Upcoming: bugs filed ā confirmed by upstream maintainers; test flake rate
Tech Stack
TypeScript end-to-end
Playwright for browser automation (Chromium via CDP)
MCP SDK (
@modelcontextprotocol/sdk) for tool exposureMulti-provider LLM layer for agentic exploration + test generation (v1+) ā Anthropic, OpenAI, Gemini, or any OpenAI-compatible endpoint (DeepSeek, Ollama)
axe-core for accessibility violation detection
Responsible Use
Only scan sites you own or have explicit authorization to test. The default
crawl is navigation-only ā it stays same-origin, maps forms without submitting
them, and clicks nothing. Agentic mode (--agentic) does interact with pages,
so reserve it for targets you control. Crawling still generates real traffic;
the public-site scans above were navigation-only crawls of publicly served
pages.
License
MIT ā Muhammad Taha Khan
639 bugs found across 2 production sites. Real numbers, real scans.
This server cannot be deployed
Maintenance
Related MCP Connectors
- mcpOAuthcom.screenshotink
Screenshot, diff, audit and sitemap-capture any web page ā 5 MCP tools for AI agents.
Scrape, crawl and search the web for AI agents via MCP.
Live browser debugging for AI assistants ā DOM, console, network via MCP.
Browser-based QA for AI-built software. Test pages with real browsers via agents.
Related MCP Servers
- FlicenseBqualityDmaintenancePlaywright wrapper for MCP that enables LLM-powered clients to control a browser for automation tasks.101-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to control web browsers through Playwright automation, providing 50+ tools for navigation, interaction, testing, accessibility audits, and visual testing across Chromium, Firefox, and WebKit.6 npmMIT
- FlicenseNot gradedqualityDmaintenanceExposes Playwright browser automation as MCP tools, enabling AI assistants to control a real browser tab-by-tab for form filling, navigation, and more, while preserving the user's active session.-
- AlicenseAqualityBmaintenanceEnables MCP clients to automate a real Chrome browser via Playwright, supporting session sharing and tools for navigation, clicking, typing, and more.112MIT