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.
AI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.
Run multi-step tasks in a real Chrome browser: persistent environments, live view, human takeover.
AI QA that runs your app in a browser on every pull request: projects, test targets, test cases.
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
- AlicenseBqualityCmaintenanceEnables AI-powered Chrome automation through natural language, providing 56+ specialized tools for browser interaction, page analysis, scenario recording, and visual testing.5911 npm9ISC
- FlicenseNot gradedqualityDmaintenanceEnables AI-powered web test automation with self-healing locators and automatic GitHub checkin.-
- AlicenseBqualityCmaintenanceEnables AI agents to control a browser with self-healing locators that automatically recover when selectors change, allowing reliable web automation through natural language.7MIT