Website QA for your coding agent: audit SEO, performance, security, accessibility over MCP.
Connect Remote server
claude mcp add --transport http squirrelscan https://mcp.squirrelscan.com/mcp
{
"mcpServers": {
"squirrelscan": {
"url": "https://mcp.squirrelscan.com/mcp"
}
}
}
{
"servers": {
"squirrelscan": {
"type": "http",
"url": "https://mcp.squirrelscan.com/mcp"
}
}
}
Settings > Connectors > Add custom connector
URL: https://mcp.squirrelscan.com/mcp
Tools 31 found in our last check
run_auditRun a cloud audit of a website (crawl + 300+ rule analysis + report). Only for sites the user owns or is authorized to test. Credits are spent as the audit runs (pay-as-you-go). The dry run is optional: pass confirm: true on the first call to start straight away. Without confirm…
get_audit_statusPoll a running audit by run_id (from run_audit or list_audits). Status queued/pending/running means keep polling (every 15-30 seconds): the response includes a progress field (phase, message, page/link counts) when available. Status queued means cloud audits are busy and the run…
list_auditsList the organization's audit runs: currently active (queued/pending/running; queued means waiting for a free cloud slot, and it starts by itself) plus recent runs of any status. Pass website_id (from list_websites) to get one website's full audit history, oldest runs included,…
list_websitesList websites the organization has audited, with their name (`name`: the display name, else the title the site gives itself, else the domain), latest run status, health score, and owned/prospect kind. Each row carries last_run_id (the latest run, any status) and last_report_run_…
add_websiteRegister a website with the organization without running an audit (run_audit registers automatically, so this is only needed to set a site up ahead of time). Returns the website_id. Calling it again for the same domain returns the existing website, and a kind or scope passed aga…
delete_websiteDelete a website from the organization (soft delete: past audits, reports, and issues are preserved, and published report links keep working). Frees a slot under the plan's website limit. Re-adding the same domain later registers a fresh website with a new website_id. Call once…
delete_websitesDelete up to 50 websites in one call, for cleaning up a dashboard that has filled with one-off or prospect audits. Same soft delete as delete_website (past audits, reports, and issues are preserved, published report links keep working, slots are freed) and the same two-step conf…
get_website_settingsRead one website's stored audit settings: its audit level (quick, surface, full or custom) with the page cap, crawl strategy, rendering and external link checks it sets, the crawl depth, crawl scope, include/exclude patterns and internal link checks, whether broken link alerts a…
update_website_settingsChange one website's stored audit settings: level, max_pages, render, external_links, max_depth, scope, include_patterns, exclude_patterns and internal_links, broken_link_alerts (Pro and Team; switching it off is allowed on every plan), disable_rules (rule ids such as eeat/about…
get_reportFetch the finished report for an audit run (use the run_id from run_audit once get_audit_status shows completed). Formats: "summary" (default) is structured JSON with health score, category scores, and the top failing issues (topIssues reference a rule_id; look up its name/descr…
compare_auditsCompare two completed audits of one website and get what changed. Defaults to the website's latest completed audit against the one before it; pass base/head run ids to compare any two. The DEFAULT answer is a short summary (a few hundred tokens): the score movement by category,…
list_issuesList a website's issues (cloud only). An ISSUE is an action plan, like a bug tracker ticket numbered per website: a title, a Markdown plan, a priority, a type and the FINDINGS it covers. A FINDING is what an audit proves, one rule result on the site (a rule id, a check and where…
get_issueFetch one issue (an action plan; cloud only) by website_id + issue number: its Markdown plan `body_md`, priority, type, effort, labels, state and state reason, the FINDINGS it covers (`covered_findings`, up to 100 with the true `covered_finding_count`; a finding is one rule resu…
comment_on_issuePost a comment on a website issue (a triaged action plan or an older one-rule issue alike) to record analysis, a proposed fix, or what you changed, so the team sees it in the dashboard issue thread. Comments stay on the issue across audits: a later audit adds its own comments an…
update_issueChange one website issue (an action plan; cloud only) the way a person does in the dashboard: its status (open, in_progress, resolved, dismissed for a close as not planned that stays closed, wontfix), its assignee (the user id of a member of the organization; null clears it) and…
list_findingsList the raw FINDINGS of one audit of a website (cloud audits). A FINDING is what an audit proved: one rule's failing or warning check, exactly as the audit reported it (no model-written text, no rewriting), so it is there even when no issue exists for it yet. An ISSUE (list_iss…
list_entitiesList the entities a site declares in its JSON-LD, collapsed across every crawled page into one graph, so an Organization declared identically on 60 pages is one row rather than 60. Declarations collapse by resolved @id, or by type and name when there is no @id, so the SAME real-…
get_entityGet one entity as the map recorded it: the properties the map keeps (name, url, logo, image, sameAs, telephone, email, address, description), the pages that declare it, the properties whose values disagree between those pages, and the references in and out of it. The map keeps t…
get_entity_graphGet the whole entity graph, or a filtered part of it, in a chosen format: json for the canonical document, jsonld for a validator, mermaid or markdown to read in a conversation, dot or graphml for a graph tool. Defaults to json. Takes the same filters as list_entities. mermaid c…
compare_entitiesCompare two audits of a site and get the change set: entities added and removed, entities that gained or lost an @id, occurrence changes, new and resolved conflicts and dangling references, summary deltas, and the pages each audit saw that the other did not. Defaults to the prev…
get_entity_findingsGet the schema/entity-* rule verdicts for an audit: what is wrong with the site's entity graph, which entity keys and pages each finding affects, and the fix text for each. Use this instead of re-deriving the problems from the graph yourself. Each finding names one problem acros…
list_pagesOne row per page a stored audit crawled, failed pages included: url, final url, status, canonical, noindex, title and length, description and length, h1, heading count, word count, JSON-LD types and @ids, internal links in and out, external links out with their domains, crawl de…
list_rulesBrowse the catalog of 300+ audit rules that run during an audit, grouped into categories (crawlability, meta tags, performance, security, accessibility, content, and more). Filter by category code or search by keyword to find what a specific rule checks. Each rule carries cloud…
get_ruleFetch one audit rule by id (e.g. "core/meta-title"), including what it checks, how to fix it (recommendation), its severity and score weight, a docs link, and whether it is a cloud (credit-billed) rule (`requires_cloud`) and whether it needs the render step (`requires_render`).…
whoamiIdentify the current credentials: how you are authenticated, which organization you act for, the plan, and the current credit balance. Useful at the start of a session, to see which organization the other tools act for.
get_credit_balanceGet the organization's credit balance: monthly credits (reset each billing period) and pack credits (purchased, never expire). Audits spend credits pay-as-you-go while they run; run_audit shows an upper-bound estimate before starting. An audit costs 50 credits plus 2 per audited…
list_credit_transactionsAudit the organization's credit accounting log: grants (signup/monthly/pack/promo), debits (audit_base 50cr + audit_page 2cr per audited page + external_link 1cr per checked link + folded 0-cost services; older audits carry render rows instead of audit_page), refunds, and adjust…
create_api_keyMint a new squirrelscan API key for this organization and return it. The result contains a secret, a live credential for the organization, returned exactly once and never retrievable again; it is meant to be saved as the SQUIRRELSCAN_API_KEY environment variable for the CLI, CI,…
send_feedbackSend feedback to the squirrelscan team: a bug, a missing feature, what worked, what was confusing, missing report data, or tool ergonomics. Use it when the user wants to report something or share their experience. Works with any authenticated credentials, including read-only API…
verify_urlCheck whether one URL is really live. Returns state live (answered 2xx), redirected (with finalUrl), dead (confirmed 4xx/5xx or a domain that does not exist), blocked (alive but bot protection refused every tier) or unverified (timeout, unreachable host, throttled, or a first 40…
list_notificationsRead the organization's notification feed, newest first: what finished, what broke, and what changed since you last looked. Categories include audit_complete, issues_detected, audit_failed, broken_links, server_errors, third_party_added, third_party_spread, third_party_digest, t…
Details
| Endpoint | https://mcp.squirrelscan.com/mcp (Streamable HTTP) |
| First published | 19 Jul 2026 |
| Last updated | 19 Jul 2026 |
| Registry name | com.squirrelscan/squirrelscan |
More developer tools servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
