# overlayrisk-witness [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/mertcanvural/overlayrisk-witness-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/overlayrisk-witness

## Description
Independent before/after accessibility-overlay (accessiBe/UserWay) witness for any public URL.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "overlayrisk-witness": {
    "command": "npx",
    "args": ["-y","overlayrisk-witness-mcp"]
  }
}
```

## Documentation & README

# OverlayRiskWitness MCP server

A [Model Context Protocol](https://modelcontextprotocol.io) server that runs the
**free, independent before/after accessibility-overlay witness** from
[OverlayRiskWitness](https://overlayrisk.com) on any public URL.

Accessibility overlay widgets (accessiBe, UserWay, and similar) are sold as one-line
ADA/WCAG compliance fixes, but independent testing routinely shows the underlying page is
unchanged for real assistive-technology users. This server lets an AI agent run the
witness: it loads a page with the overlay **on**, then **off**, captures both states, and
returns one documented finding where the page's public accessibility/compliance claims
don't hold up — with a UTC timestamp.

> Findings are **evidence, not a legal compliance ruling.** This server is independent of
> accessiBe and UserWay; it tests their effect, it does not sell or defend an overlay.

## What this server is (and isn't)

This is a **thin client**. It contains no scanning logic and **no secrets**. Its single
tool POSTs to the hosted API at `https://overlayrisk.com/api/witness`, which does the real
work (overlay detection, headless before/after capture, claim extraction). The full
timestamped **Risk Packet** is a paid checkout on the website — see
[overlayrisk.com/pricing](https://overlayrisk.com/pricing). The MCP server is a free
funnel; it never handles payment.

## Tool

### `witness_page`

| | |
|---|---|
| Input | `{ "url": "https://example.com/checkout" }` — a public HTTP/HTTPS page URL |
| Success | The free-witness JSON: `runId`, `siteUrl`, `overlayVendor` (`accessibe`/`userway`), `pagesTested`, `claimsTested`, `didNotHoldUp`, `freeFinding`, `lockedFindingCount` — plus a note linking to the paid Risk Packet |
| Error | `{ status, code, error }` (e.g. `overlay_no_effect`, `page_fetch_failed`, `witness_timeout`) |

A single witness run can take up to ~3 minutes on cold/heavy sites. That exceeds many
MCP clients' default 60s request timeout. The server emits periodic progress
notifications, so clients that honor `resetTimeoutOnProgress` stay connected
automatically; clients that don't should raise their per-request timeout.

## Install

Run directly with `npx` (no global install):

```bash
npx overlayrisk-witness-mcp
```

The process speaks MCP over stdio.

### Claude Desktop / Cursor / other MCP clients

Add to your client's MCP config:

```json
{
  "mcpServers": {
    "overlayrisk-witness": {
      "command": "npx",
      "args": ["-y", "overlayrisk-witness-mcp"]
    }
  }
}
```

## Configuration

| Env var | Default | Purpose |
|---|---|---|
| `OVERLAYRISK_API_URL` | `https://overlayrisk.com/api/witness` | Override the witness endpoint (e.g. for local dev) |
| `OVERLAYRISK_TIMEOUT_MS` | `200000` | Request timeout in ms |

No API key is required — the free one-page witness is public.

## Develop

```bash
npm install
npm run smoke   # offline handshake test (lists tools, no network)
npm start       # run the server on stdio
```

## License

MIT © Mert Can Vural

