Docs · v1.4

Build with Scovant.

Run scans, simulations, and showcase from the dashboard — or drive it all from your pipeline: the REST API, CI/CD trigger, webhooks, and the MCP interface are live today. Entries marked “Soon” are on the roadmap.

API · 2 of 2

MCP interface & badges.

Scovant exposes two ways for AI agents and other sites to consume compatibility data directly, without going through the dashboard.

MCP interface

Scovant runs an MCP (Model Context Protocol) server, so AI agents and MCP-aware tools can call the scanner directly.

  • Endpoint: https://scovant.com/mcp/ (Streamable HTTP transport)
  • Discovery: https://scovant.com/.well-known/mcp.json

Public tools (no authentication):

  • list_compatibility_rules — list Scovant's compatibility rules (code, category, severity, title).
  • list_showcase_sites(limit) — top verified showcase sites.
  • lookup_domain(domain) — same data as the public "Pre-flight any URL" lookup on the landing page, including the latest public score for a published/showcase domain.
  • get_public_showcase(site_id) — the public showcase card for a published site.

Authenticated tools (require a scvt_ API token — the same credential used for CI):

  • list_sites(workspace_id?) — sites in a workspace you're a member of, cursor-paginated. Same contract as GET /api/sites. API-token callers may omit workspace_id (it defaults to the token's workspace); JWT callers must pass it. Use it to discover site_ids for CI instead of copying UUIDs from the dashboard.
  • trigger_scan(site_id, targets) — trigger a scan for a site you're a member of. Same request shape and limits as POST /api/scans.
  • get_scan(scan_id) — full scan detail (score breakdown, issues summary) for a scan in your workspace.
  • list_issues(scan_id, ...) — cursor-paginated issues for a scan.
  • get_simulation(simulation_id) — simulation run detail (status, success flag, agent) for a simulation in your workspace. Same contract as GET /api/simulations/{simulation_id}.
  • list_regressions(site_id, limit=20, cursor?) — CI regressions for a site you're a member of, newest first, cursor-paginated. An empty list means no regressions were detected.
  • generate_fix_plan(site_id) — generate an Agent Fix Plan (costs 1 credit; requires a completed scan; one active plan per site).
  • get_fix_plan(site_id) — the latest Fix Plan for a site: status, body, and the public_url Markdown download link once completed.

Send the token as a bearer header on the MCP connection:

Authorization: Bearer scvt_...

Create API tokens in Settings → API tokens (see Authentication). A token can only act on the workspace it was created in.

Calling from scripts

The server runs in stateless JSON mode — one plain POST per tool call, no initialize handshake, no session header, no SSE:

bash
curl -s -X POST https://scovant.com/mcp/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer scvt_YOUR_API_TOKEN' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_scan","arguments":{"scan_id":"SCAN_UUID"}}}'

The tool payload arrives as a JSON string in result.content[0].text — extract it with jq -r '.result.content[0].text' | jq ..

Public tools are rate-limited per IP; authenticated tools inherit your workspace's normal plan limits and throttles — the same limits that apply through the dashboard and API.

Embeddable badge

Publish a site to the public showcase with a score of 60 or higher and you get an embeddable badge:

GET /api/public/badge/{site_id}.svg

Drop it in a <img> tag on your site:

html
<a href="https://scovant.com/showcase">
  <img src="https://scovant.com/api/public/badge/{site_id}.svg" alt="Scovant compatibility badge" />
</a>

Two tiers — Agent Ready (score ≥ 80) and Agent Compatible (score ≥ 60) — matching the thresholds shown throughout the product. Below 60, or if too few of the AI agents you run can complete the purchase, there's no badge to embed (a "not ready" badge would defeat the point). The badge is cached for 5 minutes and shows only your public score and tier — nothing else. Copy the embed snippet straight from Dashboard → your site → Showcase.