The audit tools an AI assistant can call.
Connect your AI assistant directly to your Website Toolkit audits using the Model Context Protocol (MCP). Let it read results, fix issues in your code, and mark them as resolved automatically.
Quick start
Generate a token: Client portal → Domains → API access → Generate token.
Add the server to Claude (the portal shows this command pre-filled).
claude mcp add --transport http wsc-crawler https://eu2.website-toolkit.co.uk/mcp \
--header "Authorization: Bearer $TOKEN"Once connected, ask: "what's still outstanding on the latest audit for example.com?"
Transport & Authentication
The MCP server is a stateless JSON-RPC 2.0 transport over a single POST /mcp endpoint.
Authentication
Uses the same Bearer token as the REST API. Revoking in the portal takes effect immediately.
Origin Validation
DNS-rebinding guard: Origin header is checked. Native MCP clients (Claude Code) send none and are allowed.
MCP Methods
We implement a minimal, spec-compliant subset of the Model Context Protocol.
| Method | Behaviour |
|---|---|
initialize | Handshake. Returns capabilities and server info. |
tools/list | Returns the seven audit tools with full JSON Schemas. |
tools/call | Invoke one of the audit tools. |
ping | Standard health check. |
Audit Tools
These are the tools your AI assistant will see and use to work through your site.
list_domainsList all domains on the account and their latest audit status.
add_domainAdd a new domain to the account for auditing.
list_crawlsGet a history of all audits/crawls for a specific domain.
get_audit_resultsPull pages, issues, links, or resources from a specific crawl.
resolve_issueMark an issue as fixed in the context of a specific crawl.
unresolve_issueRe-open an issue previously marked as fixed.
start_auditKick off a new basic or advanced audit for a domain.
Error Handling
Tool Failures vs Protocol Faults
A rejected tool call (e.g. invalid domain) returns isError: true within a successful JSON-RPC call. This allows the model to read the error and correct its next step.
"text": "Error: Invalid mode. Expected ''basic'' or ''advanced''"
Key Caveats
Issue IDs are ephemeral
issueId is re-assigned on every crawl. An ID from Monday's audit means nothing in Friday's. Always use the crawlId the ID came from to avoid resolving the wrong issue.
"Fixed" resets on re-crawl
Marking an issue as fixed is scoped to that specific crawl. If the fix didn't actually land on the site, the next audit will re-detect it. This ensures the assistant can't "mark its own homework" without verification.
Ready to automate your fixes?
The MCP server is live on all paid accounts. Generate your token in the client portal and start fixing your site with AI today.