Argus Testing
MCP QA otonom yang menguji aplikasi web dan macOS seperti insinyur sungguhan serta memverifikasi setiap bug.
Dokumentasi
Argus
Browser testing for your coding agent.
Quick start · What you get · Engineering · Documentation · Product page
Argus is an MCP testing server for Claude Code, Codex, Cursor and other coding agents. It gives your existing agent the tools to test your app the way a testing engineer works through it: explore user journeys, check state after each action, try edge cases, verify suspected failures on a fresh load and report with evidence. The agent decides what to test; Argus handles browser actions, repeatable checks and the results.
Test my web app at http://localhost:3000 and look for bugs.
Your agent can explore user flows, inspect what changed after each action and recheck suspected failures on a fresh page load. You can also give it specific goals, such as testing account settings or checking whether saved data survives a refresh.
What you get
- A report you can act on. Findings include expected and actual behavior, reproduction steps, screenshots and verification results. Reports also show which testing goals were exercised, blocked or left unfinished.
- A separate verification step. Argus rechecks the specified symptom before marking it reproduced. Observations and inconclusive checks remain distinct from reproduced findings.
- A regression test to keep. Supported findings can be exported as standalone Playwright tests. Confirm that the test fails on the bug before adding it to your suite; it should pass after the behavior is fixed.
For example, a task may disappear after deletion but return after a refresh. Argus can check that behavior on fresh loads, retain the evidence and export a test for the persistence failure. The receipt confirms that symptom; it does not identify the root cause or fix the application.
Reports are available as HTML, JSON, JUnit and SARIF. Test exports currently support findings verified through fresh-load text checks. Uploads, restored browser state and other unsupported steps require manual translation.
Quick start
Requires Python 3.11+, uv and an MCP-capable
coding agent. Connect it to Claude Code:
claude mcp add argus -- uvx --from argus-testing argus-mcp
Or Codex:
codex mcp add argus -- uvx --from argus-testing argus-mcp
Then ask your agent to test your app. The first session downloads Chromium
once (about 150 MB); uvx --from argus-testing argus-mcp --doctor checks the
setup ahead of time. Use test accounts and data you can change:
replaying a journey can repeat its writes.
Cursor, other MCP clients and troubleshooting · Claude plugin · Codex plugin
0.13.1: the first session downloads Chromium by itself, so connecting
Argus is the only setup step. Since 0.13.0, live verification, verify_persistence and exported tests
decide with the same rules, checked against each other on every change. They
read what a user can see, in every frame and open shadow root, and an exported
test reports an inconclusive check instead of a false failure. Regenerate
exported tests to get the shared rules; see the
journal migration steps, the
releases and the
changelog.
Engineering
Where to start reading the code:
- Verification with explicit outcomes. A completed tool call is not a passed application test. Checks return evidence and a reproduced, not reproduced or inconclusive outcome. HTTP errors and login walls stop exported checks from treating a missing symptom as a fix.
- Recorded actions become reusable tests. Exports use the controls resolved during the session, preserve iframe and row scope, and check the symptom on a fresh load. The export tests exercise both buggy and fixed versions of local fixtures.
- Separated runtime and adapters. Session lifecycle, browser operations, verification and reporting are separated. The host agent supplies the model; Argus does not run its own model loop or require another API key. See the architecture and design decisions.
Argus is still an alpha project. A fresh load normally retains authentication and browser storage; it is not a reset of the backend. A reproduced symptom is not proof of complete coverage or of a requirements violation. Generated tests and screenshots should be reviewed before sharing, especially with sensitive application data. Privacy details.
Evaluation
The deterministic fixtures cover 34 seeded scenarios. That measures what the tools can exercise with scripted steps, not an agent's bug-discovery rate. In a small paired Codex evaluation, both Argus and the browser baseline found all 5 predeclared defects. Argus also found one fixture defect identified after the run and used more time and tokens. These results do not establish general superiority.
The evaluation guide documents the method, limits and reproduction commands. Browser and unit tests run locally without model calls; model-based evaluations are separate and opt-in.
Documentation
- Usage and tool reference — client setup, profiles, configuration and regression workflows.
- Agent protocol — structured results, evidence and coverage tracking.
- Contributing — local checks and implementation boundaries.
- Changelog · Security · Privacy.
Built by Yichen Wu · yichenwu.dev