BarrHawk
OfficialClick 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., "@BarrHawktest the login flow on example.com"
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.
BARRHAWK: VERIFY YOUR VIBECODE
The Operating System for Agentic Verification & Orchestration
██████╗ █████╗ ██████╗ ██████╗ ██╗ ██╗ █████╗ ██╗ ██╗██╗ ██╗
██╔══██╗██╔══██╗██╔══██╗██╔══██╗██║ ██║██╔══██╗██║ ██║██║ ██╔╝
██████╔╝███████║██████╔╝██████╔╝███████║███████║██║ █╗ ██║█████╔╝
██╔══██╗██╔══██║██╔══██╗██╔══██╗██╔══██║██╔══██║██║███╗██║██╔═██╗
██████╔╝██║ ██║██║ ██║██║ ██║██║ ██║██║ ██║╚███╔███╔╝██║ ██╗
╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝ ╚═╝
v0.5.0 | TRIPARTITE RELEASE"If your Agent can't test itself, it's just a hallucination."
What's New in v0.5.0
Unified Stack - Single command
bun run barrhawkstarts everythingIntegrated Dashboard - Live monitoring at
http://localhost:7000/dashboardExperience System - Self-healing selectors that learn across sessions
Tool Injection - New tools broadcast to running Igors in real-time
Lightning Strike - Igor auto-escalates to Claude when stuck
Hub Mode - Multi-Igor test orchestration with
--hubflag
Related MCP server: chrometools-mcp
Quick Start
# 1. Clone and install
git clone git@github.com:barrhawk/barrhawk_premium_e2e_mcp.git
cd barrhawk_premium_e2e_mcp
bun install
# 2. Start the stack
bun run barrhawk
# 3. Submit a test
curl -X POST http://localhost:7001/plan \
-H "Content-Type: application/json" \
-d '{"intent":"take a screenshot of the homepage","url":"https://example.com"}'Stack Modes
bun run barrhawk # Full tripartite stack (Bridge, Doctor, Igor, Frank)
bun run barrhawk --minimal # Just Bridge + Igor (lightweight)
bun run barrhawk --hub # Full stack + Test Orchestration HubThe Tripartite Architecture
Four specialized servers communicating via WebSocket:
Component | Port | Role |
Bridge | 7000 | Message bus, circuit breakers, dashboard |
Doctor | 7001 | Planner, intent parser, experience engine |
Igor | 7002 | Executor, Lightning Strike dual-mode |
Frankenstein | 7003 | Browser control, dynamic tool forge |
How It Works
You send an intent to Doctor:
"test the login flow"Doctor consults experience, generates a plan, selects tools
Igor executes the plan step-by-step
Frankenstein controls the browser, takes screenshots
Experience records what worked for next time
Lightning Strike (Dual-Mode Igor)
Igor starts in "dumb mode" - fast, regex-based execution. When a step fails 3 times, Igor "strikes" - elevating to full Claude reasoning to solve the problem, then powers back down.
Endpoints
Doctor (Port 7001)
# Submit a plan
POST /plan
{"intent": "click the login button", "url": "https://example.com"}
# Check plan status
GET /plans
GET /plans/:idBridge (Port 7000)
# Health check
GET /health
# Live dashboard
GET /dashboardIgor (Port 7002)
# Status
GET /status
GET /health
# Current tool bag
GET /toolbagFrankenstein (Port 7003)
# Health and tools
GET /health
GET /toolsProject Structure
/
├── bin/barrhawk.ts # CLI entry point
├── tripartite/ # The Core Stack
│ ├── bridge/ # Message Bus + Dashboard (7000)
│ ├── doctor/ # Planner + Swarm Logic (7001)
│ ├── igor/ # Executor + Lightning (7002)
│ ├── frankenstein/ # Browser + Tool Forge (7003)
│ └── shared/ # Common utilities
│ ├── experience.ts # Learning system
│ ├── tool-registry.ts # 120+ tool definitions
│ └── types.ts # Shared types
├── hub/ # Test Orchestration (--hub mode)
│ ├── index.ts # Hub API (7010)
│ ├── coordinator.ts # Multi-Igor sync (7011)
│ └── igor-db.ts # Database watcher (7012)
├── packages/ # Feature modules
│ ├── golden/ # Visual regression
│ ├── self-heal/ # Selector strategies
│ └── ... # 30+ packages
└── docs/ # Documentation
└── specs/ # Component specificationsMCP Integration
BarrHawk exposes MCP tools for Claude Code, Cursor, and other AI assistants.
Configure Claude Code
./scripts/generate-mcp-configs.shKey Tools
// Natural language automation
frank_execute({ task: "Log into github.com", url: "https://github.com" })
// Parallel testing
frank_swarm_execute({ intent: "Test checkout flow", maxIgors: 4 })
// OS-level control (extensions, dialogs)
frank_os_mouse({ action: "click", x: 100, y: 200 })
frank_os_keyboard({ combo: "ctrl+shift+i" })
// Screenshots
frank_screenshot({ fullPage: true })Experience System
BarrHawk learns from every test run:
Selectors: Which CSS selectors work for which elements
Timings: How long actions typically take per site
Errors: Common error patterns and their fixes
Sites: Known site patterns with pre-mapped selectors
Data stored in experiencegained/experience.json (configurable via EXPERIENCE_DIR).
Development
# Run tests
bun test
# Type check
bun run typecheck
# View logs
tail -f /tmp/tripartite-*.logLicense
MIT
"Trust, but Verify." — BarrHawk
This server cannot be deployed
Maintenance
Related MCP Connectors
Browser-based QA for AI-built software. Test pages with real browsers via agents.
- AIVAOAuthworks.aiva
No-code, AI-assisted UI testing: record new tests, run existing ones, and monitor the results.
AI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.
Agents that test your web and mobile app like real users, on every pull request.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables automated end-to-end testing powered by Playwright where test cases are defined in natural language and executed by AI. Uses lightweight snapshot analysis with vision mode fallback for sophisticated testing scenarios.3Apache 2.0
- AlicenseBqualityDmaintenanceEnables AI-powered Chrome automation through natural language, providing 56+ specialized tools for browser interaction, page analysis, scenario recording, and visual testing.5963 npm9ISC
- FlicenseNot gradedqualityDmaintenanceEnables AI-powered web test automation with self-healing locators and automatic GitHub checkin.-
- AlicenseBqualityBmaintenanceEnables AI agents to control a browser with self-healing locators that automatically recover when selectors change, allowing reliable web automation through natural language.7MIT