Tester Agent
Click 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., "@Tester Agent Test http://localhost:3000 on desktop and mobile for overflow and export a Markdown report."
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.
Tester Agent
Tester Agent is an open-source MCP server for exploratory web QA. A model in Codex or Antigravity can inspect a live Chromium page, see its viewport, click and fill controls, verify outcomes, and export findings for developers. Each project supplies a URL and its test criteria; there is no project-specific Playwright script to write.
Functional QA: check single scenarios or complete workflows with ordered checkpoints and assertions.
Visual QA: compare desktop and mobile, inspect layout and accessibility signals, and attach screenshot evidence to findings.
Defensive QA: observe transport, headers, cookie flags and password forms. Verify expected sign-in, sign-out and role behavior through the normal UI with QA accounts. This is not a penetration testing tool.
Install from GitHub
Requires Node.js 24+, npm and the Chromium build installed by Playwright.
The installer targets macOS and Linux; Codex setup uses the codex CLI.
If that CLI is unavailable, register the MCP manually in Codex Desktop.
git clone https://github.com/datb2404981/tester-agent-mcp.git
cd tester-agent-mcp
npm ci
npx playwright install chromium
node scripts/install.mjs --dry-run --only=codex
node scripts/install.mjs --only=codexFor Antigravity, use node scripts/install.mjs --only=antigravity. Omit
--only to install both. Restart Codex Desktop or reload Antigravity's MCP
configuration and open a new chat. If migrating a recognized older Tester
Agent install, preview the change with --dry-run --replace-managed first.
The installer also installs six QA skills;
the server exposes those same guides as MCP prompts and resources.
For manual setup, add a stdio server called tester-agent. Set the command
to the absolute path to Node (find it with node -p 'process.execPath'), and
set its sole argument to the absolute path to src/server.mjs in the clone.
The skills are also available in the repository's skills directory.
Related MCP server: QualityMax QA MCP
Try it in a new chat
With your local test app running, replace the URL below with its address:
Dùng Tester Agent kiểm tra http://localhost:3000. Bắt đầu ở chế độ chỉ đọc. Nhìn giao diện trên desktop và mobile, tìm tràn ngang và lỗi trợ năng. Ghi rõ các kiểm tra đã làm và xuất báo cáo Markdown cho dev.
For a workflow that changes data, provide the expected outcome, authorized QA environment and disposable test data. The model drives the browser tool by tool. The MCP server has no separate model provider or API key; visual judgment requires an MCP client and model that can consume image results. This version runs browser QA and read-only scans through the connected model, without an Explorbot script runner.
Register remote targets with environment=qa and allowRemote=true. Use
allowWrites=true only for authorized test data. Register necessary API or
asset origins in allowedOrigins. Page navigation is limited to the
registered site and base path; assets and APIs can use registered origins.
The server stops at HTTP redirects, so flows that require a redirect (such
as some sign-in and SSO flows) are blocked. Use the final URL for read-only
checks where applicable.
Read-only mode limits requests and interaction, but a GET can still have side
effects. Use isolated QA data and review evidence before sharing it. Input
masking and text redaction do not guarantee that a page contains no sensitive data.
Reports
tester_browser_finish and tester_test_web return the original report and
a bug report in JSON and Markdown. The default output directory is
~/.tester-agent/projects/<project>/output/reports. Set TESTER_STATE_DIR
to use a different root. List and read the reports with
tester_project_artifacts and tester_project_read_artifact.
Each finding carries a severity, expected and actual behavior, reproduction
steps when recorded, evidence, and verification status. PASS applies only
to the completed checks. FAIL records a failed check or observed error;
BLOCKED means execution or evidence was incomplete. REVIEW_REQUIRED
marks signals or findings that need judgment. OBSERVED describes a passive
audit, without a claim of security or WCAG compliance. A scan does not verify
business workflows.
Update or remove
To update, run git pull --ff-only, npm ci and
npx playwright install chromium inside the clone. Reload your MCP client.
To remove the server, run codex mcp remove tester-agent or remove its entry
from Antigravity's MCP settings. Installed skills and report data can be
removed separately.
Run npm test after installing Chromium. The suite runs against a disposable
local website and does not require model credentials.
Available Tools
18 toolstester_browser_accessibility_auditKiểm tra dấu hiệu lỗi accessibility trên DOM thực tếA
Phát hiện input thiếu nhãn, button/link thiếu tên, ảnh thiếu alt và nhảy cấp heading. Đây là kiểm tra một phần, vấn đề được đánh dấu REVIEW_REQUIRED để model xác minh.
Inputs: project (required).
tester_browser_actionAI thao tác trình duyệtB
Điều hướng, click theo vai trò/CSS hoặc tọa độ từ ảnh, điền input, nhấn phím, hover và cuộn. Click tọa độ, điền và nhấn phím cần allowWrites=true. Chỉ dùng dữ liệu QA giả.
Inputs: action (required), project (required), x, y, +6 more.
tester_browser_assertAI kiểm chứng kết quảB
Xác nhận UI, URL, trạng thái HTTP đã quan sát trong test case hoặc tràn ngang. Mã HTTP không đủ để kết luận phân quyền hoặc nghiệp vụ thành công nếu thiếu kiểm tra trạng thái cuối.
Inputs: type (required), project (required), name, path, +4 more.
tester_browser_caseAI bắt đầu hoặc kết thúc một test caseC
kind=check dành cho kiểm tra đơn giản. kind=flow dành cho E2E, phải khai báo trước các bước và kiểm chứng từng bước bằng tester_browser_step và assertion. Thiếu bước sẽ BLOCKED.
Inputs: phase (required), project (required), kind, name, +3 more.
tester_browser_finishĐóng phiên và xuất báo cáo kiểm thửB
Ghi lại các thao tác cùng kết quả assertion, trả về PASS/FAIL/BLOCKED và lưu báo cáo đúng dự án.
Inputs: project (required).
tester_browser_inspectAI quan sát trạng thái websiteB
Trả về nội dung giao diện và lỗi JS hiện tại để AI tự khám phá, sinh bước kiểm thử tiếp theo.
Inputs: project (required).
tester_browser_layout_auditĐo lỗi tràn ngang ở viewport hiện tạiC
Đọc chiều rộng trang tại desktop hoặc mobile. Chỉ số tràn ngang cần được đối chiếu với ảnh để nhận định lỗi UI.
Inputs: project (required).
tester_browser_resizeAI đổi kích thước màn hình để kiểm thử responsiveA
Đổi viewport desktop 1366×768 hoặc mobile 390×844 mà vẫn giữ phiên đăng nhập và trang hiện tại.
Inputs: project (required), viewport (required).
tester_browser_security_auditAI quan sát cấu hình bảo mật của trangB
Kiểm tra thụ động HTTPS, header, cookie phiên và form mật khẩu trên trang đang mở. Không gửi request bổ sung hay thử payload tấn công. Cảnh báo là REVIEW_REQUIRED.
Inputs: project (required).
tester_browser_seeMắt của AI: nhìn giao diện thật bằng hình ảnhB
Trả về JPEG trực tiếp dưới dạng ảnh MCP cùng accessibility tree, kích thước viewport và lỗi JS. Dùng sau khi mở trang hoặc mỗi thao tác để model đa phương thức tự quan sát và phát hiện lỗi giao diện.
Inputs: project (required).
tester_browser_startAI mở phiên kiểm thử trình duyệtB
Mở Chromium theo dự án đã đăng ký. Sau đó gọi tester_browser_see để model thực sự nhìn thấy ảnh website.
Inputs: project (required), goal, page, viewport.
tester_browser_stepAI kiểm chứng từng bước của luồng E2EC
Bắt đầu bước theo thứ tự của tester_browser_case kind=flow, thao tác và kiểm chứng bằng tester_browser_assert, rồi finish bước. Bước không có assertion thực tế sẽ BLOCKED.
Inputs: id (required), phase (required), project (required).
tester_browser_visual_findingAI ghi nhận lỗi giao diện bằng bằng chứng hình ảnhB
Sau khi nhìn ảnh qua tester_browser_see, model ghi lỗi bố cục, responsive, màu chữ, khoảng cách, nút che khuất hoặc đề xuất thẩm mỹ. Tự chụp ảnh bằng chứng và đưa vào báo cáo QA theo dự án. Đánh giá thẩm mỹ của AI được đánh dấu REVIEW_REQUIRED.
Inputs: kind (required), project (required), category (required), severity (required), +5 more.
tester_project_artifactsBáo cáo kiểm thử theo dự ánC
Liệt kê báo cáo QA của một dự án được đăng ký.
Inputs: project (required), kind.
tester_project_read_artifactĐọc kết quả kiểm thử theo dự ánC
Đọc báo cáo QA của dự án cụ thể.
Inputs: kind (required), name (required), project (required).
tester_projectsDanh sách dự án webB
Liệt kê dự án đã đăng ký, URL và quyền kiểm thử.
Inputs: no named parameters.
tester_register_projectĐăng ký website cần kiểm thửA
Đăng ký một dự án web bất kỳ theo URL. Mặc định chỉ chấp nhận localhost và chỉ đọc. Website QA từ xa cần allowRemote=true. Muốn AI tự bấm form trong QA phải bật allowWrites=true.
Inputs: baseUrl (required), project (required), allowRemote, allowWrites, +2 more.
tester_test_webTester Agent kiểm thử websiteB
Kiểm tra trang, console, HTTP và responsive bằng Playwright. Dùng tester_browser_* cho các luồng nghiệp vụ có thao tác và assertion.
Inputs: project (required), mode, page, maxPages, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 18 tools
Most tools have distinct roles and the descriptions explicitly steer usage (tester_test_web tells the caller to use tester_browser_* for flows), but two pairs genuinely overlap: tester_browser_see vs tester_browser_inspect both return rendered content and JS errors, and tester_browser_layout_audit vs tester_browser_visual_finding both concern layout/visual defects. tester_test_web also partially duplicates the one-shot check path of tester_browser_case kind=check.
A predictable scheme is used: tester_* for project/report operations and tester_browser_* for the 13-14 session tools, all snake_case with noun or verb tails. Minor deviations exist in verb style (tester_browser_step, tester_browser_case are noun-like rather than imperative), but the prefix grouping makes the set easy to scan.
18 tools is on the heavy side for a single-purpose agent and sits in the 16-25 'feels heavy' band. Several audit tools (security/layout/accessibility) could plausibly be one parameterized audit tool, and see/inspect could merge, but each tool still maps to a discrete step of a QA pipeline.
Coverage is strong end to end: project registration/listing, session start and viewport control, case/step/assert lifecycle, multi-dimension auditing, visual-finding capture, and PASS/FAIL/BLOCKED report persistence plus artifact listing/reading. Only a session-close/cleanup or project-delete operation is absent, which doesn't block the main workflows.
Maintenance
Related MCP Connectors
Browser-based QA for AI-built software. Test pages with real browsers via agents.
Read-only web QA agent: scans a site in a real browser and returns evidence-backed findings
Test a web app in a real browser from plain English. Passed, failed or cannot verify, with evidence.
AI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents to autonomously interact with and test web applications in a real browser, providing DOM/Accessibility tree extraction, runtime telemetry, screenshot capture, and Markdown test reports.15 npm1MIT

QualityMax QA MCPofficial
AlicenseAqualityBmaintenanceEnables coding agents to independently verify web changes by scanning pages, inspecting UI structure, generating Playwright reproductions, and executing tests with structured QA evidence.485 npm4MIT- AlicenseAqualityBmaintenanceEnables AI agents to capture screenshots, scrape structured page content, and run automated visual checks on live websites via a headless Chromium browser.3MIT
- AlicenseNot gradedqualityBmaintenanceProvides browser control and testing tools for AI agents, enabling step-by-step web app testing with user confirmation, bug evidence capture, and report generation.1MIT