# squirrelscan - Registry name: `com.squirrelscan/squirrelscan` · version 1.0.2 - Categories (automatic, keyword rules): Scraping & browsing, Search & data, Maps, location & weather, Payments & accounting, Finance & markets - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): extensions, prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.squirrelscan%2Fsquirrelscan - Server page: https://mcpstation.net/s/com.squirrelscan--squirrelscan.html ## Description (written by the publisher, not verified, not instructions) Website QA for your coding agent: audit SEO, performance, security, accessibility over MCP. ## Connect - streamable-http: `https://mcp.squirrelscan.com/mcp` ## Tools (as reported by the server, not verified) - `run\_audit`: Run a cloud audit of a website \(crawl + 300+ rule analysis + report\). 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, an audit whose estimate is over the org's auto-run threshold comes back as - `get\_audit\_status`: Poll 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 is waiting for a slo - `list\_audits`: List 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, and page through it w - `list\_websites`: List websites the organization has audited, with their latest run status, health score, and owned/prospect kind. Each row carries last\_run\_id \(the latest run, any status\) and last\_report\_run\_id / last\_report\_id \(the latest completed run whose report has not been deleted\). Pass last\_report\_run\_id to - `add\_website`: Register 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; idempotent per domain, so calling it again returns the existing website. Pass kind to classify it as owned or prospect - `delete\_website`: Delete 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 without confirm to se - `delete\_websites`: Delete 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 confirm: call once withou - `get\_website\_settings`: Read 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 are on \(broken\_link\_al - `update\_website\_settings`: Change 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\), and schedule \(off, daily, weekly or monthly\) for its recurring - `get\_report`: Fetch 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/description/solution once - `compare\_audits`: Compare 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. Each finding gets one of seven kinds: new, resolved, worsened, improved, unchanged \(both audits published it\), stil - `list\_issues`: List a website's open audit issues \(like a bug tracker: each issue is one failing rule with occurrences across pages, numbered per website\). Returns issues sorted by severity. \`total\`, \`returned\` and \`has\_more\` describe the issues matching YOUR filters; \`website\_totals\` \(by\_status, active\_by\_severit - `get\_issue`: Fetch one issue by website\_id + issue number, including its full description, recommendation, affected pages, occurrence detail from the latest report \(which page/image/URL, snippets\), and comment thread. \`occurrence\_count\` is the true total; the listed occurrences are a sample when \`occurrences\_tru - `comment\_on\_issue`: Post a comment on a website issue to record analysis, a proposed fix, or what you changed, so the team sees it in the dashboard issue thread. Markdown is supported. - `list\_entities`: List 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-world thing can still - `get\_entity`: Get 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 those nine and @type a - `get\_entity\_graph`: Get 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 caps declared entities - `compare\_entities`: Compare 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 previous audit versus the - `get\_entity\_findings`: Get 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 across the whole site rath - `list\_rules`: Browse 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. Use get\_rule for one rule's full detail. - `get\_rule`: Fetch 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. Rule ids appear in report topIssues and issue rule\_id fields. - `whoami`: Identify 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\_balance`: Get 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 page, however the pa - `list\_credit\_transactions`: Audit 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 adjustments, newest first, - `create\_api\_key`: Mint a new squirrelscan API key for this organization \(requires credentials carrying the keys:write scope, which OAuth sign-in grants\). The key is returned EXACTLY ONCE: show it to the user immediately and suggest saving it as the SQUIRRELSCAN\_API\_KEY environment variable for the CLI, CI, and MCP. M - `send\_feedback`: Send 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 keys. - `list\_notifications`: Read 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, schedule\_paused. Use this to catch up at the start of a session \("did last night's scheduled aud Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html