{
  "markdown": "# OverlayRiskWitness MCP server\n\nA [Model Context Protocol](https://modelcontextprotocol.io) server that runs the\n**free, independent before/after accessibility-overlay witness** from\n[OverlayRiskWitness](https://overlayrisk.com) on any public URL.\n\nAccessibility overlay widgets (accessiBe, UserWay, and similar) are sold as one-line\nADA/WCAG compliance fixes, but independent testing routinely shows the underlying page is\nunchanged for real assistive-technology users. This server lets an AI agent run the\nwitness: it loads a page with the overlay **on**, then **off**, captures both states, and\nreturns one documented finding where the page's public accessibility/compliance claims\ndon't hold up — with a UTC timestamp.\n\n> Findings are **evidence, not a legal compliance ruling.** This server is independent of\n> accessiBe and UserWay; it tests their effect, it does not sell or defend an overlay.\n\n## What this server is (and isn't)\n\nThis is a **thin client**. It contains no scanning logic and **no secrets**. Its single\ntool POSTs to the hosted API at `https://overlayrisk.com/api/witness`, which does the real\nwork (overlay detection, headless before/after capture, claim extraction). The full\ntimestamped **Risk Packet** is a paid checkout on the website — see\n[overlayrisk.com/pricing](https://overlayrisk.com/pricing). The MCP server is a free\nfunnel; it never handles payment.\n\n## Tool\n\n### `witness_page`\n\n| | |\n|---|---|\n| Input | `{ \"url\": \"https://example.com/checkout\" }` — a public HTTP/HTTPS page URL |\n| Success | The free-witness JSON: `runId`, `siteUrl`, `overlayVendor` (`accessibe`/`userway`), `pagesTested`, `claimsTested`, `didNotHoldUp`, `freeFinding`, `lockedFindingCount` — plus a note linking to the paid Risk Packet |\n| Error | `{ status, code, error }` (e.g. `overlay_no_effect`, `page_fetch_failed`, `witness_timeout`) |\n\nA single witness run can take up to ~3 minutes on cold/heavy sites. That exceeds many\nMCP clients' default 60s request timeout. The server emits periodic progress\nnotifications, so clients that honor `resetTimeoutOnProgress` stay connected\nautomatically; clients that don't should raise their per-request timeout.\n\n## Install\n\nRun directly with `npx` (no global install):\n\n```bash\nnpx overlayrisk-witness-mcp\n```\n\nThe process speaks MCP over stdio.\n\n### Claude Desktop / Cursor / other MCP clients\n\nAdd to your client's MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"overlayrisk-witness\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"overlayrisk-witness-mcp\"]\n    }\n  }\n}\n```\n\n## Configuration\n\n| Env var | Default | Purpose |\n|---|---|---|\n| `OVERLAYRISK_API_URL` | `https://overlayrisk.com/api/witness` | Override the witness endpoint (e.g. for local dev) |\n| `OVERLAYRISK_TIMEOUT_MS` | `200000` | Request timeout in ms |\n\nNo API key is required — the free one-page witness is public.\n\n## Develop\n\n```bash\nnpm install\nnpm run smoke   # offline handshake test (lists tools, no network)\nnpm start       # run the server on stdio\n```\n\n## License\n\nMIT © Mert Can Vural\n",
  "bytes": 3024,
  "sha": "20913c2d7912243ecb2f025d5e82b2e9285aff9446318639ca1c3d654816f7eb",
  "repo_slug": "mertcanvural/overlayrisk-witness-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_mertcanvural_overlayrisk_witne_6e5c2256/readme"
}