QA + a11y scanner: walks your running app's real user flows and reports what's broken.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag — we're steadily working through the catalog.
💡 Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
English · ç®€ä½“ä¸æ–‡ · 日本語 · Español · Français
Point it at your running app. It walks your real user flows in a real browser and tells you what is actually broken, with proof.
What it does · Install · Use it · What you get · Works in your editor · Good to know
Most linters read your source without ever running your app, and end-to-end frameworks ask you to write and maintain the tests yourself. sniff opens your running app in a real browser, clicks and fills things like a user would, and judges what actually happened.
The block above is the Claude Code path, through the 10x marketplace. For any other agent, the Vercel skills CLI installs the same three skills:
To use it as a plain command line tool, with no editor involved:
The npm package is sniff-qa and the binary it installs is sniff. Do not run npx sniff, which
is an unrelated package.
Node.js 22 or newer. npm install -D sniff-qa adds it to a project's devDependencies, and
npx sniff-qa ci writes a GitHub Actions workflow with browser caching and report artifacts.
1. Start your app, with whatever dev server your project already uses.
2. Walk it, from a second terminal. sniff auto-detects a dev server on the common ports, so
--url is optional, but passing it takes the guesswork out.
3. Read the findings. They print grouped by severity. Below is an abridged real run against this
repo's own planted-bug fixture, from npx sniff-qa --url http://localhost:4321 --ci --max-pages 12:
Add --report for a self-contained HTML page you can send to someone. Run npx sniff-qa doctor if
the environment looks wrong.
--report or JSON with --json.--fail-on severity, so CI fails on real bugs.uncertain is hidden from the terminal unless you pass --all.New in 0.8.0:
--caps scan,report narrows the MCP server to the source scan and the saved-results reader, with
no browser launch and no browser download.--storage-state auth.json walks a logged-in app. Cookie and token values from that file are
redacted from the text of every written report, though not from screenshot pixels.assert block in sniff.config caps findings by severity (maxCritical, maxHigh,
maxTotal), enforced on the command line by the walk, the source scan, and discovery.Works in Claude Code, Cursor, Codex, Copilot, Gemini CLI, and 70+ other agents through
npx skills add. The skills are Markdown, so they run on whatever model your editor points at.
| Agent | One-line install |
|---|---|
| Claude Code | claude plugin install sniff@10x |
| Any of 70+ agents | npx skills add Aboudjem/sniff |
| Codex, Gemini CLI, OpenCode, Pi | ./install.sh codex |
| VS Code (Copilot) | ./install.sh copilot |
| Everything else | see docs/editors.md |
Cursor, VS Code, Gemini CLI, Windsurf, Continue, OpenCode, and Zed take the same command as a JSON or TOML entry. Every per-editor snippet is in docs/editors.md.
[!IMPORTANT] No API key, no account, no signup, and no AI provider unless you set one up yourself. Walking and scanning never edit your source.
sniff fixis the only command that rewrites code, and only when you run it.
[!NOTE] A walk clicks buttons and submits real forms, so it can create real data. Point it at a dev or staging app, not at production. The first walk also downloads a Chromium build and caches it, so that one run needs internet access.
npx sniff-qa scan runs that scan on purpose.--fail-on none turns off the severity gate, though an assert budget can still fail the run.--storage-statesniff.configBuilt by Adam Boudjemaa · Apache 2.0 · standing on Playwright and axe-core
Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/sniff)<a href="https://allmcps.com/mcp/sniff"><img src="https://allmcps.com/api/badge/sniff?style=directory" alt="Sniff on AllMCPs" /></a>