BugScout MCP Server
Enables autonomous web QA by exposing Playwright browser control as MCP tools for navigation, accessibility snapshotting, interaction, and bug detection.
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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。