{"name":"com.modernmustardseed/site-check","slug":"modernmustardseed-site-check","title":"Site Check","description":"Public website health scan, AI-crawler and structured-data readiness, and a local presence score.","url":"https://mcp.market/server/modernmustardseed-site-check","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"security","tags":["security"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-02T03:06:11.181Z","last_ok_at":"2026-11-02T03:06:11.181Z","latency_ms":479},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://mcp.modernmustardseed.com/docs/site-check","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://mcp.modernmustardseed.com/site-check"}],"packages":[],"tools":[{"name":"check_ai_search_readiness","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":3,"maxLength":2048,"description":"The website to check, such as example.com. Only public http and https sites."}},"required":["url"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"explain_check","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"check_id":{"type":"string","enum":["ttfb","html-weight","scripts","image-format","lazy","https","http-redirect","cert","headers","mixed","copyright","domain-expiry","domain-age","mx","spf","dmarc","title","description","h1","viewport","indexable","canonical","sitemap","alt","lang","og","favicon","schema","schema-depth","ai-bots","llms","faq","words","tap-to-call","capture","analytics","social","reviews-on-site","after-hours"],"description":"The check id, for example dmarc, ai-bots, llms or tap-to-call."}},"required":["check_id"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"scan_website","description":"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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","minLength":3,"maxLength":2048,"description":"The website to scan, such as example.com or https://www.example.com/. Only public http and https sites on ports 80 and 443."},"sections":{"description":"Limit the report to these sections. Default: all seven.","minItems":1,"maxItems":7,"type":"array","items":{"type":"string","enum":["speed","security","domain","email","search","ai","conversion"]}},"detail":{"default":"summary","description":"\"summary\" (default) lists only warn and fail checks; \"full\" lists every check.","type":"string","enum":["summary","full"]}},"required":["url"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"score_local_presence","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"business_name":{"type":"string","minLength":1,"maxLength":200},"website":{"description":"The business website, if it has one. It is scanned live.","type":"string","minLength":3,"maxLength":2048},"rating":{"description":"Google star rating, 1.0 to 5.0.","type":"number","minimum":1,"maximum":5},"review_count":{"description":"Number of Google reviews.","type":"integer","minimum":0,"maximum":1000000},"listing_seen":{"description":"True when the Google Business Profile was actually looked at. Defaults to true when a rating, review count or Google Maps URL is given.","type":"boolean"},"details_read":{"description":"True only when the full listing was read, including its hours and website link. Missing hours or a missing website are only scored when this is true.","type":"boolean"},"phone":{"description":"Phone number shown on the listing.","type":"string","maxLength":40},"address":{"description":"Street address shown on the listing.","type":"string","maxLength":300},"city":{"type":"string","maxLength":100},"state":{"type":"string","maxLength":50},"hours":{"description":"Published hours by day, for example {\"Monday\": \"8 AM to 5 PM\"}.","type":"object","propertyNames":{"type":"string","maxLength":20},"additionalProperties":{"type":"string","maxLength":80}},"open_24_7":{"description":"True when the listing says open 24 hours.","type":"boolean"},"emergency_service":{"description":"True when the listing says it takes emergency or after-hours work.","type":"boolean"},"trade":{"description":"The trade in snake case, for example plumbing, hvac, roofing, electrical, dental, restaurant.","type":"string","maxLength":60},"source_urls":{"description":"Where the listing facts came from, such as the Google Maps URL.","maxItems":10,"type":"array","items":{"type":"string","maxLength":2048,"format":"uri"}}},"required":["business_name"],"$schema":"https://json-schema.org/draft/2020-12/schema"}}],"scan":{"score":65,"grade":"C","scanned_at":"2026-10-12T16:06:05.849Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-12T16:06:05.833Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 358ms"]},"poisoning":{"score":15,"max":15,"notes":["4 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":8,"max":10,"notes":["endpoint served from the registry-verified namespace domain"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://mcp.modernmustardseed.com/site-check","reachable":true,"authRequired":false,"latencyMs":358,"serverInfo":{"name":"Site Check by Modern Mustard Seed","version":"1.0.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://mcp.modernmustardseed.com/apple-icon.png","source":"registry","width":180,"height":180},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}