Skip to main content

Agent QA Console

The visual browser QA console for AI coding agents

Let Claude Code, Cursor, Codex, Pi, or any MCP-aware agent open your app in a real browser, select UI elements visually, map them back to source files, fix code, and verify the result, while you watch.

PyPI Python 3.10+ MCP compatible Playwright License: MIT

Watch the agent. Pick any element. Map it to code. Fix it. Verify it.

Built by BrainboxAI: AI agent tooling, browser QA automation, and Hebrew/RTL-first product engineering.


Why developers star this

AI coding agents can generate code fast. The hard part is knowing whether the feature actually works in the browser.

Agent QA Console gives your agent a real browser and gives you a clean live view:

  • 🖱️ Live agent browser: watch exactly what the agent sees.
  • Animated assistant cursor: agent actions are visible, not mysterious.
  • 🎯 Visual element selection: click any visible element and send it to the agent.
  • 🧭 Source mapping: selected DOM element to its likely source file.
  • 🧪 QA audits: RTL/Hebrew, a11y, perf, SEO, links, assets, forms, logs.
  • 🔁 Test, fix, verify loop: the agent edits code with its normal tools, then retests.
  • 🛡️ Human approval gates: pause before risky actions.
  • 🧾 Clear logs and evidence: screenshots, browser logs, findings, and commands.

It is not another static report. It is a control plane for browser QA by AI agents.


60-second quickstart

Option A - install from PyPI (recommended)

pipx install agent-qa-console
agent-qa-console init

PyPI: https://pypi.org/project/agent-qa-console/

Option B - install from GitHub

pipx install git+https://github.com/Brainboxai-IL/agent-qa-console.git
agent-qa-console init

Option C - install from a local checkout

git clone https://github.com/Brainboxai-IL/agent-qa-console
cd agent-qa-console
pipx install .
agent-qa-console init --pi-source .

The init wizard installs the browser runtime and registers Agent QA Console with supported local agents: Claude Code, Codex, Gemini CLI, OpenCode, Cursor, and Pi when they are installed.

For non-interactive setup/CI, use:

agent-qa-console setup all

You can also target one agent:

agent-qa-console setup claude-code
agent-qa-console setup codex
agent-qa-console setup gemini
agent-qa-console setup opencode
agent-qa-console setup cursor
agent-qa-console setup pi

For an editable local development install that uses the legacy command name:

agent-qa-console setup all --command qa-mcp --pi-source .

Manual MCP registration

If you prefer to register manually:

claude mcp add qa agent-qa-console
codex mcp add qa -- agent-qa-console
gemini mcp add qa agent-qa-console

Cursor uses ~/.cursor/mcp.json; OpenCode uses ~/.config/opencode/opencode.json; Pi uses pi install with the companion Pi package.

Claude Desktop

{
  "mcpServers": {
    "qa": { "command": "agent-qa-console" }
  }
}

Cursor / Codex / Gemini / Pi

Use command:

agent-qa-console

Then ask your agent:

Open Agent QA Console for http://localhost:3000.
Test the page, let me select elements visually, map selected elements to code,
fix issues you find, and verify the result in the browser.

The killer workflow

1. Agent opens your app in a real browser
2. You watch the live page in Agent QA Console
3. You click any visible element in the page
4. The agent receives selector/text/data-source/bounding-box/url
5. Agent maps the element to a likely source file
6. Agent edits code using its normal file tools
7. Agent refreshes the browser and verifies the fix

Example selected element payload:

{
  "label": "Talk to us",
  "tag": "a",
  "className": "secondary-cta",
  "selector": "section.pricing-card > a.secondary-cta",
  "dataAttrs": {
    "data-agent-id": "pricing-cta",
    "data-source": "src/components/PricingCard.tsx"
  },
  "sourceHint": "src/components/PricingCard.tsx",
  "url": "http://localhost:3000/pricing"
}

Source mapping result:

{
  "matches": [
    {
      "file": "src/components/PricingCard.tsx",
      "matchType": "direct_source_hint",
      "confidence": 1.1
    }
  ]
}

For best results in your app, add lightweight hints:

<button
  data-agent-id="pricing-cta"
  data-source="src/components/PricingCard.tsx"
>
  Start
</button>

What it looks like in practice

Agent QA Console keeps the main screen minimal:

  • the live browser view
  • the assistant cursor
  • selectable element overlays
  • a small Logs drawer
  • a selected-element action bar: Inspect, Explain, Fix

No giant dashboard. No noisy sidebars. Just the agent's browser.


Core tools

Browser control

  • browser_open, browser_navigate, browser_get_state
  • browser_click, browser_type, browser_hover, browser_scroll
  • browser_screenshot, browser_logs, browser_close

Console control

  • qa_console_open
  • qa_console_pending_commands
  • qa_console_ask_approval
  • qa_console_status

Audits

  • qa_rtl_audit: Hebrew/RTL QA, the unique differentiator
  • qa_a11y_audit: axe-core accessibility scan
  • qa_perf_metrics: Web Vitals
  • qa_seo_check: SEO metadata and structure
  • qa_scan_links: links and CTA risk
  • qa_asset_audit: broken/blocked visual assets
  • qa_conversion_audit: lead/sales blockers

Project context

  • qa_project_context: filtered source tree, framework, routes, components
  • qa_map_selected_element_to_source: visual selection mapped to a likely file/line

Advanced tools still exist for CI, reports, baselines, training data, design extraction, and integrations. The default catalog shows only the recommended core.


Hebrew/RTL is first-class

Generic QA tools miss Hebrew and RTL bugs. Agent QA Console catches:

1 + plural noun  wrong Hebrew plural agreement
"Get Started →"  wrong arrow direction in RTL flow
lang="he"        but missing dir="rtl"
English CTA       inside Hebrew UI
Hebrew + Latin    without bidi isolation
visual overflow   that appears only on mobile

Use it for Israeli SaaS, gov/public-service sites, e-commerce, dashboards, landing pages, and any Hebrew/Arabic RTL UI.


How it compares

Tool Great at Missing
Playwright / Selenium Browser automation Agent-native workflow, approval gates, source mapping
Lighthouse Perf/SEO Real flows, forms, source fixes, RTL
Percy / Chromatic Visual diffs Logic, logs, forms, agent repair
BrowserStack Browser infrastructure AI test-fix-verify loop
Autonomous QA bots Reports Human-supervised live browser repair
Agent QA Console Agent browser QA + visual selection + source mapping + verification Your coding agent still does code edits

CLI mode

You can run audits without an MCP client:

agent-qa-console audit https://example.com
agent-qa-console rtl https://example.co.il --json
agent-qa-console run qa.config.json

Minimal config:

{
  "name": "app-qa",
  "base_url": "http://localhost:3000",
  "browser": "chromium",
  "scenarios": [
    {
      "name": "homepage",
      "path": "/",
      "audits": ["a11y", "perf", "seo", "links"],
      "thresholds": {
        "a11y": { "max_critical": 0, "max_serious": 0 },
        "perf": { "min_score": 80 },
        "seo": { "max_issues": 2 }
      }
    }
  ]
}

Run:

agent-qa-console run qa.config.json

Safety model

Agent QA Console is defensive by design:

  • No internal LLM. Your coding agent provides reasoning.
  • Browser actions are deterministic and return structured JSON.
  • Risky actions can go through approval gates.
  • Sessions run locally by default.
  • Passive security checks only: no exploitation, brute force, or port scanning.

Recommended agent rule:

Never submit real forms, delete data, create external issues, run payments, or make large source edits without explicit user approval.


Architecture

flowchart TD
    User[Human developer] <--> Agent[AI coding agent<br/>Claude Code / Cursor / Pi / Codex]
    Agent -->|MCP tool calls| AQC[Agent QA Console]
    AQC --> Browser[Real browser<br/>Playwright]
    Browser --> App[Your app / website]
    AQC --> UI[Live console<br/>browser · cursor · selection · logs]
    AQC --> Mapper[Project context<br/>source mapping]
    Mapper --> Code[Your codebase]
    Agent -->|normal file tools| Code
    Agent -->|retest after patch| AQC

Development

For local development, prefer an editable install:

git clone https://github.com/Brainboxai-IL/agent-qa-console
cd agent-qa-console
pip install -e ".[dev]"
python -m playwright install chromium
python -m pytest -q

Register the local development command with all supported agents:

agent-qa-console setup all --command qa-mcp --pi-source .

Or register one agent at a time:

agent-qa-console setup claude-code --command qa-mcp
agent-qa-console setup codex --command qa-mcp
agent-qa-console setup gemini --command qa-mcp
agent-qa-console setup opencode --command qa-mcp
agent-qa-console setup cursor --command qa-mcp
agent-qa-console setup pi --pi-source .

Quality checks:

python -m ruff check src tests
python -m mypy
python -m pytest -q --tb=short

Maintainer publishing checklist

Build and verify the package before publishing:

python -m pip install --upgrade build twine
rm -rf dist build src/*.egg-info
python -m build
python -m twine check dist/*

Publish to PyPI with an API token:

export TWINE_USERNAME=__token__
export TWINE_PASSWORD=pypi-...
python -m twine upload dist/*

PowerShell equivalent:

$env:TWINE_USERNAME="__token__"
$env:TWINE_PASSWORD="pypi-..."
python -m twine upload dist/*

After publishing, verify the public install path:

pipx install agent-qa-console
agent-qa-console init
agent-qa-console --help

PyPI versions are immutable: if 0.8.0 was uploaded once, publish fixes as 0.8.1, 0.8.2, etc.


Roadmap

  • Smarter source mapping when apps do not include data-source.
  • Better selected-element actions: inspect/explain/fix recipes.
  • One-command demo project.
  • GitHub Action templates for pre-deploy QA gates.
  • More deterministic fix suggestions beyond RTL.
  • Hosted/team session mode.

Contributing

Contributions are welcome. Good first issues:

  • Improve source mapping heuristics.
  • Add framework-specific route detection.
  • Add more visual selection metadata.
  • Reduce RTL false positives.
  • Add examples for Claude Code, Cursor, Pi, Codex, and Gemini.

See CONTRIBUTING.md.


Built by BrainboxAI

Agent QA Console is built by BrainboxAI, a product studio focused on practical AI-agent systems, QA automation, and Hebrew/RTL-first software engineering.

We use it internally to make AI coding agents safer, more visible, and more reliable before code reaches users.


Star history

If this project helps you trust AI-generated code before shipping, please give it a star. It helps other developers find it.


License

MIT © BrainboxAI

Release files for agent-qa-console 0.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agent-qa-console 0.8.2
File Size Uploaded
agent_qa_console-0.8.2.tar.gz 275.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agent-qa-console 0.8.2
File Interpreter ABI Platform
agent_qa_console-0.8.2-py3-none-any.whl Python 3 none any Details

Total release size: 502.2 kB

Release files / agent_qa_console-0.8.2.tar.gz

Download URL agent_qa_console-0.8.2.tar.gz
Size 275.6 kB
Tags Source
SHA-256 checksum
How to use checksums
aa221377d6136deba593c7a4e377329ff93b09296be67813bb7a01a910cf1fc4
BLAKE2b-256 checksum
How to use checksums
6e8583d734be023aa10fc75154d2c103813dd75285f498a9c849cf4ea6492f63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / agent_qa_console-0.8.2-py3-none-any.whl

Download URL agent_qa_console-0.8.2-py3-none-any.whl
Size 226.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9a3f451909b70e5255a2e3e6a49b2bb312f4ab3dec0062c155529868db658ff7
BLAKE2b-256 checksum
How to use checksums
c3cfb922724cdd1824a83a71e81747c073261ffa9d276dee24647a891ffe9abb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.8.2 This release

2 release files

0.8.1

2 release files

0.8.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page