Robin: AI-Powered Dark Web OSINT
Dark web OSINT over Tor: search onion engines, scrape pages, report with your own model.
Automated web QA via Chrome DevTools MCP — a11y, security, visual, env diff, CI; Aegis redaction.
Pick the AI app you use, then copy the settings.
Passed 3/3 checks · Runs on your computer · ✓ Commands checked Nov 14, 2026
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
You need a Argus key (create it on the maker’s site) · 1 setting(s) to fill in (TARGET_DEV_URL) · Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
How to get a key is in the maker’s README below
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
TARGET_DEV_URL Base URL of the dev environment to audit (e.g. http://localhost:3000)Descriptions are as written by the maker.
SettingsDeveloperEdit Config
{
"mcpServers": {
"argus": {
"command": "npx",
"args": [
"-y",
"argusqa-os"
],
"env": {
"TARGET_DEV_URL": "your-value",
"SLACK_BOT_TOKEN": "your-value",
"FIGMA_API_TOKEN": "your-value"
}
}
}
}Paste the key only into the app’s field, never into a chat or to anyone
Use Argus and tell me what you can do for me, then show me one thing✓ If Claude says it is using Argus or shows a Argus tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
TARGET_STAGING_URL Base URL of the staging environment — used by argus_compare for dev vs staging diff. Omit to use CSS analysis mode.ARGUS_REDACT_SENSITIVE Aegis confidentiality egress boundary. Default ON: every tool response is redacted so secrets, PII, and exploit detail never cross into the calling agent's context (the local on-disk report keeps ful…Descriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect Argus yet
Argus runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect Argus
B · Others in Cybersecurity that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
You need a Argus key (create it on the maker’s site) · 1 setting(s) to fill in (TARGET_DEV_URL) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
How to get a key is in the maker’s README below
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
TARGET_DEV_URL Base URL of the dev environment to audit (e.g. http://localhost:3000)Descriptions are as written by the maker.
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add --scope user argus --env TARGET_DEV_URL=your-value --env SLACK_BOT_TOKEN=your-value --env FIGMA_API_TOKEN=your-value -- npx -y argusqa-osReplace “your-value” with your key before pressing Enter
Paste the key only into the app’s field, never into a chat or to anyone
You should see Argus listed as connected
Use Argus and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Argus or shows a Argus tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
TARGET_STAGING_URL Base URL of the staging environment — used by argus_compare for dev vs staging diff. Omit to use CSS analysis mode.ARGUS_REDACT_SENSITIVE Aegis confidentiality egress boundary. Default ON: every tool response is redacted so secrets, PII, and exploit detail never cross into the calling agent's context (the local on-disk report keeps ful…Descriptions are as written by the maker.
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
You need a Argus key (create it on the maker’s site) · 1 setting(s) to fill in (TARGET_DEV_URL) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
How to get a key is in the maker’s README below
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
TARGET_DEV_URL Base URL of the dev environment to audit (e.g. http://localhost:3000)Descriptions are as written by the maker.
In the Argus settings, SLACK_BOT_TOKEN, FIGMA_API_TOKEN, TARGET_DEV_URL is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Argus and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Argus or shows a Argus tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
TARGET_STAGING_URL Base URL of the staging environment — used by argus_compare for dev vs staging diff. Omit to use CSS analysis mode.ARGUS_REDACT_SENSITIVE Aegis confidentiality egress boundary. Default ON: every tool response is redacted so secrets, PII, and exploit detail never cross into the calling agent's context (the local on-disk report keeps ful…Descriptions are as written by the maker.
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
You need a Argus key (create it on the maker’s site) · 1 setting(s) to fill in (TARGET_DEV_URL) · Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Open the maker’s site, sign up and create an API key for the next step. Check the maker’s site for pricing and free plans.
How to get a key is in the maker’s README below
These are program settings, not keys. No sign-up needed; fill them in as the maker describes.
TARGET_DEV_URL Base URL of the dev environment to audit (e.g. http://localhost:3000)Descriptions are as written by the maker.
In the Argus settings, SLACK_BOT_TOKEN, FIGMA_API_TOKEN, TARGET_DEV_URL is empty; add your key and save
Paste the key only into the app’s field, never into a chat or to anyone
Use Argus and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Argus or shows a Argus tool in the answer, you are connected
The command above works without these. Add them only if you want to change something, following the maker’s description.
TARGET_STAGING_URL Base URL of the staging environment — used by argus_compare for dev vs staging diff. Omit to use CSS analysis mode.ARGUS_REDACT_SENSITIVE Aegis confidentiality egress boundary. Default ON: every tool response is redacted so secrets, PII, and exploit detail never cross into the calling agent's context (the local on-disk report keeps ful…Descriptions are as written by the maker.
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
JSON settings are under “For developers” below
Claude Code
claude mcp add --scope user argus --env TARGET_DEV_URL=your-value --env SLACK_BOT_TOKEN=your-value --env FIGMA_API_TOKEN=your-value -- npx -y argusqa-osClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"argus": {
"command": "npx",
"args": [
"-y",
"argusqa-os"
],
"env": {
"TARGET_DEV_URL": "your-value",
"SLACK_BOT_TOKEN": "your-value",
"FIGMA_API_TOKEN": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"argus": {
"command": "npx",
"args": [
"-y",
"argusqa-os"
],
"env": {
"TARGET_DEV_URL": "your-value",
"SLACK_BOT_TOKEN": "your-value",
"FIGMA_API_TOKEN": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"argus": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"argusqa-os"
],
"env": {
"TARGET_DEV_URL": "your-value",
"SLACK_BOT_TOKEN": "your-value",
"FIGMA_API_TOKEN": "your-value"
}
}
}
}TARGET_DEV_URL required envTARGET_STAGING_URL envSLACK_BOT_TOKEN secret required envFIGMA_API_TOKEN secret required envARGUS_REDACT_SENSITIVE envDescriptions are as written by the maker.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 14, 2026
The registry name was verified with the GitHub account ironclawdevs27, which owns the repo
Code last changed 3 months ago
Uses MIT
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: SLACK_BOT_TOKEN, FIGMA_API_TOKEN
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed 3 months ago, and the latest version (10.0.0) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Robin: AI-Powered Dark Web OSINT, HOL Guard, SonarQube MCP Server
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Dark web OSINT over Tor: search onion engines, scrape pages, report with your own model.
Local-first AI agent security evidence and approval workflows through HOL Guard's stdio MCP server.
Analyze code quality and security with SonarQube Server or Cloud directly in AI assistants.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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](https://argus-qa.com)
Quick Start · The Fix Loop · What It Catches · Your Stack · MCP Tools · Full Setup · Reference
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.
| 🧪 No test files, ever | Argus audits the *rendered app* — DOM, console, network, pixels — not your source. Nothing to write, nothing to maintain when the agent refactors |
| 🤖 Built for the agent loop | The only QA engine Claude can call natively over MCP. Audit → fix → re-audit without leaving the conversation |
| 🔒 Safe for agents by default | Aegis: findings are redacted at every egress boundary — secrets, PII, and exploit detail never reach the LLM's context window (OWASP LLM02, default-ON, fail-closed) |
| 🧰 Also a normal QA tool | CLI batch audits, a GitHub Action PR gate, Slack reports with screenshots, dev-vs-staging diffs, watch mode — with or without an agent |
No install.
npxfetches Argus on first run.
1 — Add two lines to `.mcp.json` in your project root:
{
"mcpServers": { "chrome-devtools": { "command": "npx", "args": ["-y", "chrome-devtools-mcp@latest"] }, "argus": { "command": "npx", "args": ["-y", "argusqa-os"] } } }
Or via the Claude Code CLI:
claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest
claude mcp add argus -- npx -y argusqa-os
2 — Launch Chrome (auto-detects your Chrome, sets the right flags):
npx -y -p argusqa-os argus-chrome
Prefer launching Chrome manually? (macOS / Windows / Linux commands)
# macOS
open -a "Google Chrome" --args --remote-debugging-port=9222 --headless=new
& "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --headless=new --no-sandbox --disable-gpu --user-data-dir="$env:TEMP\chrome-argus"
google-chrome --remote-debugging-port=9222 --headless=new --no-sandbox
3 — Ask your agent:
Run argus_audit on http://localhost:3000
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.
This is what Argus looks like inside an agentic coding session:
You: Build me a checkout page with a card form.
Agent: [writes the code, dev server renders it]
You: Run argus_audit on http://localhost:3000/checkout Argus: ● 2 critical · 3 warnings ● uncaught TypeError in checkout.js (visible on submit) ● form posts over HTTP — security_no_https ▲ card inputs missing labels + autocomplete (a11y/WCAG) ▲ LCP 4.1s — hero image unoptimized ▲ duplicate POST /api/cart ×7 — likely render loop
Agent: [fixes all five]
You: Run argus_get_context Argus: ✓ resolved: 5 · persisting: 0 · new: 0
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.
32 analysis engines, 149 distinct issue types, zero test-file maintenance:
| Category | What it detects |
|---|---|
| JavaScript | Uncaught exceptions, unhandled promise rejections, console.error on critical routes |
| Network & API | HTTP 5xx, 401/403 auth failures, duplicate API calls (infinite loops), 4xx errors, broken links |
| Performance | LCP > 2500ms, CLS > 0.1, TTFB > 800ms, slow APIs > 1s/3s, payloads > 500KB/2MB, JS bundles > 500KB |
| Accessibility | axe-core (80+ WCAG rules), color-blind simulation, missing ARIA, keyboard focus, heading hierarchy |
| SEO | Missing meta description, OG tags, canonical, viewport, h1 |
| Security | Auth tokens in localStorage/URL, eval(), missing CSP/X-Frame-Options, CSP violations, missing SRI on external scripts, source map exposure, open redirects, npm CVEs |
| CSS | Cascade overrides, component style leaks, unused rules, React inline style conflicts |
| Content | null/undefined as visible text, lorem ipsum, broken images, empty data lists |
| Responsive | Horizontal overflow at 375px/768px, touch targets < 44×44px |
| Memory | Detached DOM nodes via V8 heap snapshot, heap growth across navigation |
| Visual | Pixel-level screenshot regression via pixelmatch (≥0.1% warning, ≥5% critical) |
| Figma | Design-to-implementation fidelity — 13 property types (color, spacing, typography, shadows, etc.) |
| Forms | Missing required, autocomplete, aria-describedby; unlabelled inputs |
| Fonts | FOIT, FOUT, missing fallbacks, slow loads > 1s, suboptimal formats |
| Motion | prefers-reduced-motion violations, autoplay without pause controls |
| Theme | Dark-mode gaps — static CSS vars, missing prefers-color-scheme handling |
| Network baseline | New requests, missing requests, status-code regressions vs saved HAR baseline |
| Environment diff | Dev vs staging — screenshot diff, DOM changes, console/network regressions |
And every finding is post-processed with:
| Post-processor | What it adds |
|---|---|
| Intelligent baseline filtering | Findings that flip-flop across runs are tagged noisy and downgraded to info — pure cross-run heuristics, no API calls (ARGUS_NOISE_FILTER=0 to disable) |
| Root cause linking | New findings are annotated with the recent git commits and files most likely to have caused them (ARGUS_ROOT_CAUSE=0 to disable) |
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.
Argus audits the rendered output, not your source — so it is framework-agnostic by construction. If it runs in Chrome, Argus can audit it:
| SPA frameworks | React, Vue, Angular, Svelte/SvelteKit, Solid, Preact, Astro… |
| Meta-frameworks | Next.js, Nuxt, Remix, Gatsby — plus framework-aware extras: Next.js & React Router route discovery, import-graph PR mapping ("this component changed → audit only the routes that render it"), monorepo path awareness |
| Server-rendered | Rails, Django, Laravel, Flask, Spring, PHP — anything that serves HTML to a browser |
| Static / no framework | Plain HTML/CSS/JS, docs sites, landing pages |
| APIs (via the page) | Response schema validation, status/timing checks on every request the page makes |
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.
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.
| Principle | Behavior |
|---|---|
| Local fidelity preserved | The on-disk JSON report and the locally-opened HTML keep 100% detail — redaction only removes detail on the way *out* |
| Fail-closed | On any classifier error or unknown finding shape, Aegis redacts *more*, never less |
| Deny-by-default | Only an explicit allowlist of safe fields ever crosses; a new field leaks nothing until deliberately allowlisted |
| 5-layer detection | Category rules ∪ 13 secret regexes ∪ statistical rarity (entropy / token-efficiency) ∪ 7 Luhn-validated PII rules ∪ context boosting |
| Opt-out | ARGUS_REDACT_SENSITIVE=0 → output is byte-identical to pre-Aegis |
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.
Ask Claude (or any MCP client) — no terminal required:
| Tool | Description |
|---|---|
argus_audit | Fast pass — JS, network, accessibility, SEO, security, CSS, content |
argus_audit_full | Deep pass — adds Lighthouse, responsive checks, memory leak detection, hover-state bugs |
argus_compare | Diff dev vs staging — screenshots, findings delta, environment regressions |
argus_get_context | Capture everything broken on the open tab — with resolved / new / persisting diff vs the last snapshot (the fix loop) |
| argus_watch_snapshot | Snapshot the open tab without navigating (preser