Skip to content

Site Check

by modernmustardseed.com · remote · no sign-in to list tools · v1.0.0 · published by com.modernmustardseed

Public website health scan, AI-crawler and structured-data readiness, and a local presence score.

Changes · 2

4 tools: 2 change things and 2 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http site-check https://mcp.modernmustardseed.com/site-check

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "scan_website" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

4 tools

Changes things 2Claude Code: ask
  • scan_websiteRun a measured health check of a public website homepage: speed (server response, page weight, scripts, image formats), security (HTTPS, certificate expiry, security headers), doma…1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "scan_website" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run a measured health check of a public website homepage: speed (server response, page weight, scripts, image formats), security (HTTPS, certificate expiry, security headers), domain registration expiry, email authentication (MX, SPF, DMARC), search basics (title, description, headings, indexability, sitemap), AI search readiness (structured data, AI crawler rules, llms.txt) and contact paths (tap to call, forms, analytics). Every result is measured, not judged by a model, and each warn or fail comes with a fix and an effort level. Returns a 0 to 100 website score, the top fixes, and how the page appears in a search result. Results are cached for 24 hours. Use detail "full" to include passing checks.

    Annotations the server declares

    • title: Scan a website
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • score_local_presenceScore a local business on three pillars, website (45 percent), Google reviews (30 percent) and Google Business Profile (25 percent), and return an overall 0 to 100 score, a letter …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Score a local business on three pillars, website (45 percent), Google reviews (30 percent) and Google Business Profile (25 percent), and return an overall 0 to 100 score, a letter grade, each pillar with its verdict, and the top fixes. The website pillar comes from a live scan when a website is given. Review and profile facts (rating, review count, phone, address, hours) are supplied by the caller from the user or from a public listing; this tool does not look them up. A pillar with no facts is marked unknown and left out of the overall score rather than scored as zero.

    Annotations the server declares

    • title: Score local presence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 2Claude Code: allow
  • check_ai_search_readinessCheck whether AI assistants and answer engines can read and quote a public website: which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended and others) its robots.txt …No findings

    Why it is in this group

    • The name "check_ai_search_readiness" says "search": a word for reading.
    Description, as the server wrote it
    Check whether AI assistants and answer engines can read and quote a public website: which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended and others) its robots.txt allows or blocks, whether it publishes llms.txt, which structured data types it declares, how its title and description read, and the search and AI checks with fixes. Shares the 24 hour cache with scan_website.

    Annotations the server declares

    • title: Check AI search readiness
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • explain_checkExplain one Site Check check by its id (as returned by scan_website): what it measures, the pass and fail thresholds, why it matters, how to fix it, and the typical effort.No findings

    Why it is in this group

    • The name "explain_check" says "explain": a word for reading.
    Description, as the server wrote it
    Explain one Site Check check by its id (as returned by scan_website): what it measures, the pass and fail thresholds, why it matters, how to fix it, and the typical effort. Static reference, no network access.

    Annotations the server declares

    • title: Explain a check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http site-check https://mcp.modernmustardseed.com/site-check

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__site-check__check_ai_search_readiness",
      "mcp__site-check__explain_check"
    ],
    "ask": [
      "mcp__site-check__scan_website",
      "mcp__site-check__score_local_presence"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as site-check. Review it before you use it.