Webskan

io.github.kamilobstawskiagent-uxPublished by GitHub account kamilobstawskiagent-uxv0.1.0Updated Nov 7, 2026

Audit and re-check a live website: Lighthouse, SEO, accessibility, security, links, journeys.

Overview

AI-generated overview

Webskan audits a live public website from the outside — Lighthouse, SEO, accessibility, security headers, links and journeys — and re-checks it after fixes.

What you can do
  • Quick-scan one page for Lighthouse mobile scores, metrics, HTTPS/TLS, security headers and on-page SEO tags
  • Start a full asynchronous crawl of up to 30 pages covering broken links, per-page SEO, accessibility, security and customer journeys
  • Poll an audit's status or read its findings sorted by severity, with the affected page URLs
  • Re-run the same audit after deploying fixes and get a diff of fixed, still open, new and unverified findings
When to use it
Use it right after deploying a site change to verify the result, or when you want a technical audit of a public site with a fix-then-recheck loop. It is read-only and only sees the public version of the site.
Requirements
Remote MCP endpoint over streamable HTTP; no account or key needed for the free plan. An optional Authorization header with a Bearer license key raises limits on the paid Developer plan. The target site must be publicly reachable — no localhost, private IPs or .local, and no sites behind a login.
Before you install
Free plan is rate-limited: 10 single-page scans per hour per IP, and 2 whole-site audits per IP per 24 h with one audit per host per day; a repeat call for the same host returns the existing audit. The paid plan costs $29/month and requires passing a license key in the Authorization header. Audits are read-only, but the target URL is sent to a third-party service and results are cached and retained (scan results 7 days, audit results 30 days). Lighthouse scores vary by a few points between runs.

Installation

In SourceWeft

  1. Open Webskan in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.kamilobstawskiagent-ux%2Fwebskan/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "webskan": {
      "type": "http",
      "url": "https://webskan.com/mcp"
    }
  }
}

README

Webskan plugin for Claude Code

Audit and re-check the website your agent just shipped. The plugin adds the Webskan remote MCP server (https://webskan.com/mcp) and a /webskan:site-check skill that teaches Claude Code the loop: audit, fix the high and medium findings by id, deploy, re-check, report fixed / still open / new.

What Webskan checks, from the outside, in a real mobile browser: Lighthouse (mobile and desktop), a crawl of up to 30 pages with SEO checks on each, axe-core accessibility (WCAG 2.1 AA), security headers and TLS, broken links, forms, the cookie banner, and customer journeys (404 page, menu, search, cart to checkout). Every finding has a stable id, so the re-check is an exact diff.

Install

In Claude Code:

/plugin marketplace add kamilobstawskiagent-ux/webskan-claude-plugin/plugin install webskan@webskan

Or from the shell:

claude plugin marketplace add kamilobstawskiagent-ux/webskan-claude-pluginclaude plugin install webskan@webskan

No account and no key are needed for the free plan. If you only want the MCP server without the skill:

claude mcp add --transport http webskan https://webskan.com/mcp

Use

/webskan:site-check https://mysite.com

or just ask: "audit https://mysite.com and fix the high-severity findings, then recheck".

Tools provided by the server: scan_website, audit_website, get_audit, recheck_website. Details, limits of the free plan and configuration for Cursor, VS Code, Codex CLI and other clients: https://webskan.com/developers/

Free plan limits

  • scan_website: 10 per hour per IP (120 per hour overall); results cached 24 h per host, kept 7 days.
  • audit_website / recheck_website: 2 per IP per 24 h and 1 per host per 24 h; 1-30 pages; results kept 30 days.
  • Public websites only - no localhost, private networks or sites behind a login.

Developer plan ($29/month): 30 whole-site audits per 24 h per key and no one-audit-per-host-per-day window. Pass the key as Authorization: Bearer <key> (an http server with headers in your MCP config). Details: https://webskan.com/developers/#teams

Layout

.claude-plugin/marketplace.json      marketplace "webskan"plugins/webskan/  .claude-plugin/plugin.json         plugin manifest  .mcp.json                          remote MCP server  skills/site-check/SKILL.md         the audit -> fix -> recheck loop

License

MIT. Contact: [email protected]

Source: README.md at commit 47dcb83

Tools

4

scan_website

Quick website scan

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.

Parametersurlrequired

audit_website

Full website audit (async)

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.

Parametersurlrequiredpages

get_audit

Get audit status / result

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.

ParametersauditIdrequired

recheck_website

Re-check after fixes (diff)

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).

ParametersauditIdrequired

Version history

1
  1. v0.1.0LatestNov 7, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts