Audit and re-check a live website: Lighthouse, SEO, accessibility, security, links, journeys.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional. 'Bearer <license key>' for the paid plan (coming soon); omit for the free plan.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Starts a full technical audit of a whole website and returns immediately with an auditId (poll get_audit every 20-30 s; typically done in 1-5 min). The audit crawls up to `pages` pages (1-30, default 15) following internal links and the sitemap, and checks: broken internal/external links with the pages they sit on, per-page SEO (title, description, H1, canonical, alt texts, Open Graph), Lighthouse mobile and desktop, WCAG accessibility (axe) with selectors, HTTPS/TLS/security headers, robots/sitemap, platform detection and customer journeys (menu, search, forms, 404). No LLM, deterministic, read-only. Free plan: 2 audits per IP per 24 h and 1 per host per 24 h (a repeat call for the same host returns the existing audit). With Authorization: Bearer <Webskan Developer license key>: 30 per 24 h.
Public website URL, e.g. https://example.com (scheme optional). Localhost and private hosts are rejected.
How many pages to crawl (1-30, default 15). Fewer pages = faster.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http webskan https://webskan.com/mcp
Headers
Authorization (optional, not in the config above): Optional. 'Bearer <license key>' for the paid plan (coming soon); omit for the free plan.Starts a full technical audit of a whole website and returns immediately with an auditId (poll get_audit every 20-30 s; typically done in 1-5 min). The audit crawls up to `pages` pages (1-30, default 15) following internal links and the sitemap, and checks: broken internal/external links with the pages they sit on, per-page SEO (title, description, H1, canonical, alt texts, Open Graph), Lighthouse mobile and desktop, WCAG accessibility (axe) with selectors, HTTPS/TLS/security headers, robots/sitemap, platform detection and customer journeys (menu, search, forms, 404). No LLM, deterministic, read-only. Free plan: 2 audits per IP per 24 h and 1 per host per 24 h (a repeat call for the same host returns the existing audit). With Authorization: Bearer <Webskan Developer license key>: 30 per 24 h.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public website URL, e.g. https://example.com (scheme optional). Localhost and private hosts are rejected. |
| pages | integer | How many pages to crawl (1-30, default 15). Fewer pages = faster. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Public website URL, e.g. https://example.com (scheme optional). Localhost and private hosts are rejected."
},
"pages": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "How many pages to crawl (1-30, default 15). Fewer pages = faster."
}
}
}Returns the status (queued / running with ETA) or the finished result of an audit started with audit_website or recheck_website: summary counts by severity, Lighthouse mobile+desktop scores, findings sorted high → medium → low → info (each with id, area, severity, title, detail and the pages it was found on), pagesCrawled, finalUrl, platform. For a re-check it also returns diff: fixed / open / new / unverified findings and Lighthouse before/after. Poll every 20-30 s while status is queued or running.
| Argument | Type | Description |
|---|---|---|
| auditId* | string | auditId returned by audit_website or recheck_website (16 hex characters). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"auditId"
],
"properties": {
"auditId": {
"type": "string",
"pattern": "^[0-9a-f]{16}$",
"description": "auditId returned by audit_website or recheck_website (16 hex characters)."
}
}
}Runs the same audit again (same URL, same number of pages) linked to the original auditId, so get_audit returns a diff: fixed / still open / new / unverified findings and Lighthouse before → after. Call it after you have deployed fixes. Asynchronous like audit_website (returns a new auditId to poll with get_audit) and counted against the same limits (free: 2 audits per IP per 24 h).
| Argument | Type | Description |
|---|---|---|
| auditId* | string | auditId of the finished audit to compare against. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"auditId"
],
"properties": {
"auditId": {
"type": "string",
"pattern": "^[0-9a-f]{16}$",
"description": "auditId of the finished audit to compare against."
}
}
}Quick scan of one page (the URL you pass, usually the home page): Lighthouse mobile scores (performance, accessibility, best practices, SEO) with LCP/CLS/TBT/page weight/requests, plus HTTPS redirect, TLS, HSTS and security headers, title, meta description, H1, image alt texts, viewport, canonical, Open Graph, mixed content. Takes 30-60 s; waits up to 90 s and otherwise returns status "pending" with a scanId – call again with the same URL in 30 s. Results per host are cached for 24 h (field cached: true). Free, 10 calls per hour per IP. Use it right after a deploy as a smoke check; use audit_website for the whole site.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public website URL, e.g. https://example.com (scheme optional). Localhost and private hosts are rejected. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Public website URL, e.g. https://example.com (scheme optional). Localhost and private hosts are rejected."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 7, 2026.