argus-qa
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Server port (default: 3001). | 3001 |
| GITHUB_SHA | No | Commit SHA for the commit status check — injected automatically by GitHub Actions. | |
| GITHUB_TOKEN | No | GitHub personal access token — required for PR comment + commit status integration. | |
| ARGUS_ENV_FILE | No | Path to your app's .env file — C1 cross-references env vars used in source code against this file to detect missing declarations. | |
| TARGET_DEV_URL | Yes | Base URL of your dev environment. | |
| ARGUS_LOG_LEVEL | No | Pino log level — trace, debug, info, warn, error, fatal (default: info). | info |
| SLACK_BOT_TOKEN | No | xoxb-... Bot User OAuth Token. Omit to enable Slack-optional mode — Argus generates report.html and opens it in the browser instead. | |
| ARGUS_LOG_PRETTY | No | Set to 1 for human-readable log output instead of JSON (dev mode). | |
| ARGUS_REPORT_URL | No | Full URL to the hosted HTML report — linked from the GitHub commit status check. | |
| ARGUS_SOURCE_DIR | No | Path to your app's source directory — enables codebase cross-reference. | |
| GITHUB_PR_NUMBER | No | PR number for comment targeting — set via ${{ github.event.pull_request.number }} in your workflow. | |
| ARGUS_CONCURRENCY | No | Number of parallel MCP clients for route crawling (default: 1 = sequential). | 1 |
| GITHUB_REPOSITORY | No | Repository in owner/repo format — required for GitHub PR integration. | |
| REPORT_OUTPUT_DIR | No | Where to write reports (default: ./reports). | ./reports |
| ARGUS_OTEL_CONSOLE | No | Set to 1 to print OTel spans to stdout without an OTLP endpoint (dev tracing). | |
| TARGET_STAGING_URL | No | Base URL of staging. If blank → CSS analysis mode. | |
| ARGUS_RETRY_ATTEMPTS | No | Max retry attempts for navigate/fill MCP calls (default: 3). | 3 |
| SLACK_CHANNEL_DIGEST | No | Channel ID for info / daily digest (required when Slack is configured). | |
| SLACK_SIGNING_SECRET | No | Verifies slash command / interaction requests from Slack (required only when using /argus-retest). | |
| SLACK_CHANNEL_CRITICAL | No | Channel ID for critical bugs (required when Slack is configured). | |
| SLACK_CHANNEL_WARNINGS | No | Channel ID for warnings (required when Slack is configured). | |
| ARGUS_WATCH_INTERVAL_MS | No | Watch mode poll interval in milliseconds (default: 3000). | 3000 |
| SCREENSHOT_DIFF_THRESHOLD | No | Pixel diff % to flag (default: 0.5). | 0.5 |
| OTEL_EXPORTER_OTLP_ENDPOINT | No | OTLP collector endpoint — enables span/metric export to Jaeger, Grafana Tempo, Datadog, etc. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| argus_auditA | Fast QA audit on a URL via Chrome DevTools Protocol. Runs 8 analyzers in one pass: JS errors, unhandled rejections, network failures (4xx/5xx), API frequency loops, CSS cascade issues, SEO violations, security header checks, and accessibility. Returns { findings: [{severity, type, message, url}], summary: {critical, warning, info} }. Use for CI smoke tests and pre-deploy gates. Pass cache: true to skip re-crawl on repeat calls to the same URL within a session — useful in tight fix loops. For Lighthouse scoring and memory leak detection, use argus_audit_full. Requires Chrome running with --remote-debugging-port=9222. |
| argus_audit_fullA | Deep QA audit — extends argus_audit with Lighthouse performance/accessibility scoring, responsive layout checks across 4 viewports (320/768/1280/1920px), memory leak detection via heap snapshot, hover-state regression detection, and accessibility tree snapshot. Returns full JSON report with findings by severity, Lighthouse scores, and layout overflow details. Use when argus_audit passes clean but visual or performance regressions are suspected. Requires Chrome running with --remote-debugging-port=9222. |
| argus_compareA | Diffs dev vs staging environments side-by-side. Navigates both URLs, captures screenshots, and runs the full analyzer suite on each, then surfaces regressions — findings present in staging but not dev, or with changed severity. Returns { regressions: [{type, devSeverity, stagingSeverity}], screenshots, summary }. Run before promoting a build to staging to catch environment-specific bugs. Set TARGET_DEV_URL and TARGET_STAGING_URL env vars before starting the server; omit TARGET_STAGING_URL to run CSS-analysis-only mode. |
| argus_last_reportA | Returns the most recent Argus JSON report from the reports/ directory. Report includes a findings array and severity summary (critical/warning/info counts). Returns { "error": "No reports found in reports/" } when no audits have been run yet. Use to retrieve prior results without re-running a scan, or to pipe findings into another analysis tool. |
| argus_watch_snapshotA | Snapshots the currently open Chrome tab without navigating — captures console errors, network failures (4xx/5xx), CORS blocks, and auth failures in one poll. Returns { findings: [{severity, type, message, url}], newConsole, newNetwork }. Use during active development to inspect what is happening on the current page without running a full audit. Pass tabId to inspect a specific tab (get IDs from argus_get_context or list_pages). Without tabId, reads the active tab. Requires Chrome on --remote-debugging-port=9222 with a page already open. |
| argus_get_contextA | Captures everything currently broken on the open Chrome tab and formats it as a diagnostic context for Claude to read and suggest fixes. Does NOT navigate — reads the live tab state after user interactions, in authenticated sessions, or mid-flow. Returns { snapshot_id, summary, url, timestamp, critical_issues, warnings, js_errors, network_failures, console_errors, recent_requests, open_tabs }. Fix loop: pass the snapshot_id from a previous call as snapshot_id to get a diff — the response will include resolved (cleared since last snapshot), new_issues (appeared since last snapshot), and persisting (unchanged). Multi-tab: pass tabId to inspect a specific tab, or omit to read the active tab. The open_tabs array always lists all currently open Chrome tabs. Workflow: call argus_get_context → Claude suggests fix → apply fix → call argus_get_context with snapshot_id → verify resolved array is non-empty. Requires Chrome on --remote-debugging-port=9222. |
| argus_visual_diffA | Screenshot baseline comparison for a URL — captures a PNG screenshot and compares it pixel-by-pixel against a stored baseline using pixelmatch. First call: saves baseline, returns visual_baseline_created (info). Subsequent calls: returns visual_regression (warning ≥0.1% / critical ≥5% pixels changed) + visual_diff_summary (always). Baseline stored in reports/baselines/screenshots/. Use in CI or fix loops to detect unintended visual regressions without a full audit. Pass updateBaseline: true to force-refresh the stored baseline (e.g. after intentional UI changes). Requires Chrome on --remote-debugging-port=9222. |
| argus_design_auditA | Full design-to-implementation fidelity audit against a Figma frame. 13 mismatch finding types: CSS token values, component presence, fill/text color (RGB delta), typography (fontSize/fontWeight/lineHeight/fontFamily/letterSpacing), Auto Layout padding and gap, border-radius (per-corner), bounding-box overflow, absolute position drift (scroll-corrected x/y, 20px threshold), border stroke (color+weight), box-shadow (offset+blur+spread+color), opacity, and text content. Selector fallback: tries [data-testid], [aria-label], #id, .class per node. Requires FIGMA_API_TOKEN env var and Chrome on --remote-debugging-port=9222. Returns { findings, summary } where summary includes 13 mismatch-type counts. |
| argus_pr_validateA | Runs a targeted Argus audit on the routes affected by a GitHub pull request. Fetches the PR diff, maps changed files to routes in your target config using path-slug heuristics (infrastructure changes trigger a full audit; targeted otherwise), and audits only those routes — faster than a full scan and focused on what the PR actually touched. Returns { findings, affectedRoutes, changedFiles, perRoute, summary, blocked, blockOn }. Use in CI to gate merges: check blocked:true or pipe findings to an AI verdict step. Requires Chrome on --remote-debugging-port=9222. GITHUB_TOKEN env var recommended for private repos. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ironclawdevs27/Argus'
If you have feedback or need assistance with the MCP directory API, please join our Discord server