
Argus
io.github.ironclawdevs27Published by GitHub account ironclawdevs27v10.0.0Updated Oct 24, 2026
Automated web QA via Chrome DevTools MCP — a11y, security, visual, env diff, CI; Aegis redaction.
The publisher's own server: Argus: Belgian tender insights
Overview
Argus runs automated web QA against a locally running app in Chrome and returns severity-ranked bug reports to an AI agent over MCP.
- What you can do
- Run fast or deep audits of a page: JavaScript errors, network and API failures, accessibility, SEO, security, CSS, content, performance, responsive and memory checks
- Diff a dev environment against staging, including screenshots and finding deltas
- Capture the current tab state and compare it with the previous snapshot to see what was fixed, broken or still persisting
- Compare screenshots against a baseline and audit Figma designs against the rendered page
- Validate a GitHub pull request by mapping changed files to affected routes and deciding whether to block
- Return the last stored report without re-running an audit
- When to use it
- Useful when an AI agent writes or changes a web app and you want it checked against what actually renders in the browser, inside the same conversation, without writing test files. Also fits CI pull-request gates and dev-versus-staging comparisons.
- Requirements
- Runs locally via npx (Node.js v20.19+), needs a Chrome/Chromium instance with remote debugging enabled, and the chrome-devtools-mcp server alongside it. TARGET_DEV_URL is required; TARGET_STAGING_URL, FIGMA_API_TOKEN and SLACK_BOT_TOKEN are optional. Network access is needed for the npm package and for any external sinks.
Installation
In SourceWeft
- Open Argus in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Argus — The QA Layer for AI-Assisted Development
Your AI agent writes the code. Argus checks what it actually built.
[npm] [Harness] [License: MIT]
One line in your MCP config gives Claude (or any MCP agent) a real Chrome audit engine — 67 audit categories · 149 finding types · zero test files to write or maintain. And with Aegis, what it finds never leaks your secrets to the LLM.
▶ See it in action → argus-qa.com
Quick Start · The Fix Loop · What It Catches · Your Stack · MCP Tools · Full Setup · Reference
Why Argus Exists
AI agents now write most of the code — and they judge their own work by whether it compiles and looks done, not by what actually happens in the browser. The uncaught exception on the third click. The form that posts credentials over HTTP. The 4-second LCP. The button that vanished in dark mode. The API endpoint hammered in an infinite loop.
Argus closes that gap. It drives a real Chrome (via the Chrome DevTools Protocol) against your locally-running app and hands the agent — or you — a structured, severity-ranked bug report. The agent fixes; Argus re-checks; the loop closes before the code leaves your machine.
Quick Start
No install.
npxfetches Argus on first run.
1 — Add two lines to .mcp.json in your project root:
Or via the Claude Code CLI:
2 — Launch Chrome (auto-detects your Chrome, sets the right flags):
Prefer launching Chrome manually? (macOS / Windows / Linux commands)
3 — Ask your agent:
That's it. Findings come back structured and severity-ranked — into the conversation, to Slack, or as a local report.html. Something off? npx -y -p argusqa-os argus-doctor diagnoses your setup in one command.
The Fix Loop
This is what Argus looks like inside an agentic coding session:
argus_get_context diffs against the previous snapshot, so the agent knows exactly what it fixed, what it broke, and what remains — no re-reading walls of output.
"But my agent can already drive a browser…" — it can. Driving isn't judging. A raw browser MCP (Playwright MCP, bare chrome-devtools-mcp) gives the agent hands and eyes; the agent must then re-derive what to check every session, burning context on console-log spelunking. Argus is the judgment layer on top: 149 codified finding types with thresholds, severity policy, cross-run baselines, flakiness filtering, dedup, root-cause hints — returned in one call, redacted by default.
What Argus Catches
32 analysis engines, 149 distinct issue types, zero test-file maintenance:
And every finding is post-processed with:
All findings are classified as
critical/warning/infoand routed to the right Slack channel — or surfaced in the local HTML report. For per-finding severity tables and detection methods, see REFERENCE.md.
Works With Your Stack
Argus audits the rendered output, not your source — so it is framework-agnostic by construction. If it runs in Chrome, Argus can audit it:
Honest limits: Chrome/Chromium rendering only (no Safari/Firefox engine differences), web only (no native mobile/desktop apps), and backend services are checked through the traffic the page generates — not as standalone API test suites.
Confidentiality — Aegis Egress Boundary
Default ON. Argus audits your app for secrets and vulnerabilities — so its findings are exactly the data you least want leaving your machine. Aegis redacts them at every external boundary before they cross. For teams adopting AI agents, this is the difference between "we use an AI QA tool" and "we can tell our security lead exactly why it's safe."
A finding sent to an external sink — an MCP tool response (which lands in the calling agent's context window and transits to that agent's model provider), a Slack message, a GitHub PR comment + its ::error annotations, the hosted/CI HTML report, or CI logs — is reduced to a need-to-know projection: a sensitive finding crosses as its type + route + severity + a 🔒 marker, and never its raw payload (message, evidence, request/response bodies, headers, cookies, stack). URLs are projected with the query string stripped (tokens hide there). A benign finding keeps its message — but that message is still scrubbed for any accidentally-embedded secret or PII.
This implements the OWASP LLM02:2025 — Sensitive Information Disclosure mitigations (data minimization, redaction, deny-by-default egress filtering) at Argus's own boundaries. An optional, local-only re-hydration vault (ARGUS_REDACT_VAULT=1) can mint reversible, information-free tokens for diff-stable artifacts — re-inflate locally with npm run report:rehydrate. Full behavior change is documented in CHANGELOG.md.
MCP Tools
Ask Claude (or any MCP client) — no terminal required:
Every tool response is projected through the Aegis egress boundary before it reaches the agent, and carries an optional
redactionrider ({ redacted, total }) when sensitive detail was withheld.
Example prompts:
Battle-Tested, Not Vibe-Tested
Argus's own correctness is enforced the way it audits yours:
- 998/998 hard assertions across a 171-block integration harness driving real Chrome against 64 fixture pages — including per-category negative controls (zero over-fire), golden response schemas for all 9 MCP tools, and an upstream-drift canary that catches chrome-devtools-mcp API changes at version-bump time
- 562 Chrome-free unit tests (Vitest) + property-based parser fuzzing
npm audit: 0 vulnerabilities · CodeQL + Dependabot on every PR · Socket.dev: 100/100/100 on vulnerability/quality/license- Session files and captured tokens written
0600, owner-only
Full Setup
Prerequisites
Option A — MCP Server (recommended for Claude Code users)
No local install needed. Use the Quick Start above, then add your target URL:
Optional — Slack notifications:
- api.slack.com/apps → Create New App → name it BugBot
- OAuth & Permissions → Bot Token Scopes:
chat:write,files:write,files:read - Install to workspace → copy the
xoxb-...token - Create channels
#bugs-critical,#bugs-warnings,#bugs-digestand run/invite @BugBotin each
Without Slack: Argus auto-generates
reports/report.htmland opens it in your browser — zero extra config.
Option B — npm Package (CI / dev dependency)
Option C — Clone the Repository (contributors / full source)
Manual setup (skip the wizard):
Then configure your routes in src/config/targets.js:
critical: true— errors on this route go to#bugs-criticalwaitFor— CSS selector Argus waits for before capturing (signals page-ready)
CLI Commands
Watch mode — live monitoring as you (or your agent) develop:
Slack slash command (on-demand from any channel):
To expose the server via tunnel: cloudflared tunnel --url http://localhost:3001 (free, no account required). Set the resulting URL as the Request URL in Slack App → Slash Commands.
GitHub Actions CI — PR Gate
Argus ships as a composite GitHub Action: on every PR it maps the diff to affected routes, audits them, and blocks the merge only on findings the PR introduces (baseline-aware) — with an idempotent PR comment and a Check Run.
Add to your repo's secrets (Settings → Secrets → Actions):
The included workflow runs on push to main, daily at 6 AM UTC, and on manual trigger. If critical issues are found, the pipeline fails.
Environment Variables
Full reference (click to expand)
Troubleshooting
First stop for anything broken:
npx -y -p argusqa-os argus-doctor— it checks Chrome reachability, MCP config validity, and required env keys, and prints the exact fix for each failure.
Chrome DevTools MCP not connecting
Slack messages not posting
- Token must start with
xoxb-(notxoxp-,xoxe-, orxapp-) - Run
/invite @BugBotin each channel - Required scopes:
chat:write,files:write,files:read
Screenshots are blank
- Page hasn't settled — increase
pageSettleMsinsrc/config/targets.jsor add awaitForselector for the route
/argus-retest returns "dispatch_failed"
- Tunnel URL changed — update the Request URL in Slack App → Slash Commands and reinstall
CSS analysis returns empty results
- Page may be behind auth — ensure you're logged in on the Chrome instance Argus is controlling
CI pipeline fails immediately
- Chrome may not start fast enough — increase
sleep 3tosleep 5in .github/workflows/argus.yml
How Argus Differs From Playwright / Cypress
Argus is a complementary layer, not a replacement for unit or E2E tests:
Known Limitations
All 998 harness assertions pass (998/998) — there are currently no known MCP- or Chrome-layer restrictions. Lighthouse runs headless (after the lighthouse_audit argument fix); the remaining soft assertions (perf traces, GC-dependent heap-growth) are promoted to counted hard assertions only in the weekly strict-soft lane (harness-strict.yml) via ARGUS_HARNESS_STRICT_SOFT. Scope limits: Chrome/Chromium only, web apps only — see Works With Your Stack.
Hosted Argus — Founding Members
Want audits without running Chrome or npm — with history, trends, schedules, and a team dashboard? Argus Cloud is in founding-member early access: $19/month, locked forever (regular $29).
Become a founding member → argus-qa.com
The open-source engine on this page stays MIT and fully-featured, always — the hosted tier sells convenience and memory, never detections.
Project Structure
Full source map → CLAUDE.md · MCP/DSL reference → SKILL.md
Contributing
Contributions are welcome — fixture pages, new detection categories, framework route-discovery, docs. Start with CONTRIBUTING.md.
- Fork the repo and create a branch
npm run test:unit— verify without Chrome (562 tests)npm run test:harness— full integration coverage (requires Chrome on port 9222)- Open a PR — Argus audits itself via the CI workflow
License
MIT © ironclawdevs27
Argus Panoptes — the all-seeing giant of Greek mythology who never slept.
Source: README.md at commit 4b48c92
Tools
0Version history
1- v10.0.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Argus integrations
Argus: Belgian tender insights
ing.argusOfficial publisher
Gives an assistant access to Belgian public tender insights, including bidders, winners, winning prices, and award report scores.

Argus Console — AI Agent Test Lab
Published by GitHub account igor-vii
Argus Console lets an assistant verify agent endpoints, run free simulated or paid real adversarial test batteries against money-moving AI agents, and fetch…

Argus
Published by GitHub account r0ptik
Argus attaches to a live Windows process and gives an AI assistant runtime reverse-engineering evidence: memory bytes, disassembly, imports, call chains and a…

Argus
Published by GitHub account pochtmanr
Lets an assistant drive Argus anti-detect browser profiles, each with its own fingerprint, proxy and cookie jar, through a local API.

Argus Decision Mcp
Published by GitHub account commet
Local-first ledger that lets an assistant record your decisions, falsifiable predictions and their check dates, then bring them back when reality can answer.