BugScout MCP Server

BugScout MCP Server

Enables autonomous web QA by exposing Playwright browser control as MCP tools for navigation, accessibility snapshotting, interaction, and bug detection.

Category
Visit Server

README

šŸ› 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?

  • Zero setup — npx bugscout <url> and you get a 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)

Quick Start

# Install
npm install -g bugscout

# Or run directly
npx bugscout https://example.com

# With options
npx bugscout https://example.com \
  --output ./qa-results \
  --max-pages 30 \
  --agentic \
  --generate-tests

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 + screenshots

CLI Options

Flag Description Default
--output <dir> Output directory ./bugscout-output
--max-pages <n> Max pages to crawl 50
--max-depth <n> Max crawl depth 5
--no-headless Show browser window true (headless)
--timeout <s> Page timeout in seconds 30
--agentic LLM-driven agentic exploration (v1) false
--generate-tests Generate Playwright specs (v1) false

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 types

MCP Server

BugScout exposes a Playwright browser as MCP tools:

npx tsx src/mcp-server.ts

Tools: 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.json

The 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 exposure
  • Claude API for agentic exploration + test generation (v1+)
  • axe-core for accessibility violation detection

License

MIT — Muhammad Taha Khan


639 bugs found across 2 production sites. Real numbers, real scans.

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
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
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
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
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
Qdrant Server

Qdrant Server

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

Official
Featured