{"id":984385,"recorded_at":"2026-10-29T01:47:50.021250Z","observed_at":"2026-10-29T01:47:50.021202Z","subject_kind":"endpoint","subject":"2bfd2a44-780e-4c96-b35a-9d40b63b7ade","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":5,"tools":[{"description":"Live scan of one website's AI search visibility (GEO/AEO, SEO for AI assistants): can ChatGPT, Claude and Perplexity crawl, read and cite it? Fetches the domain's /robots.txt, /llms.txt, /sitemap.xml and homepage, then returns a 0-100 score, grade, per-crawler allow/block status and prioritized fixes, each naming the AIReady tool that writes the fix. Use whenever a user names a site and asks about SEO, AI search or being found or cited by AI. Do NOT use for general advice on which bots to allow (use crawler_policy_guide) or to write new rules (use robots_txt_for_ai).","inputSchema":{"properties":{"domain":{"description":"Public domain or URL to scan, e.g. example.com or https://example.com/page (path is ignored; no IPs, ports or localhost).","type":"string"}},"required":["domain"],"type":"object"},"name":"check_ai_readiness"},{"description":"Static reference of 15 known AI crawlers and control tokens (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended...): owner, purpose, whether each drives AI citations or training, plus rules of thumb. Use to decide which bots to allow or block. No site is fetched. Do NOT use to audit a real site (use check_ai_readiness) or to produce rules (use robots_txt_for_ai).","inputSchema":{"properties":{},"required":[],"type":"object"},"name":"crawler_policy_guide"},{"description":"Draft a starter llms.txt (Markdown: # name, > one-line summary, key page links, contact) from business details, to publish at the site root so AI agents get a curated summary. Use when a site has no llms.txt. Do NOT use for crawler access rules (use robots_txt_for_ai) or schema.org markup (use schema_jsonld_sample).","inputSchema":{"properties":{"business_name":{"description":"Business or site name used as the '# ' title, e.g. Reddy Plumbing.","type":"string"},"contact_email":{"description":"Optional contact email listed under '## Contact', e.g. hello@example.com.","type":"string"},"description":{"description":"One sentence on what you offer and for whom, used as the '> ' summary, e.g. 24/7 emergency plumbers serving Austin, TX.","type":"string"},"key_pages":{"description":"Optional important pages listed under '## Key pages'. Each needs title and url.","items":{"properties":{"note":{"description":"Optional short note shown after the link, e.g. Pricing and areas served.","type":"string"},"title":{"description":"Link text, e.g. Services.","type":"string"},"url":{"description":"Absolute page URL, e.g. https://example.com/services.","type":"string"}},"required":["title","url"],"type":"object"},"type":"array"}},"required":["business_name","description"],"type":"object"},"name":"llms_txt_draft"},{"description":"Generate robots.txt User-agent rules for all known AI crawlers from a chosen policy (max_visibility, search_only, block_training, block_all_ai), with optional Content-Signal and Sitemap lines, to paste into an existing robots.txt. Use when writing AI crawler rules. Do NOT use to check a live site's current rules (use check_ai_readiness) or for bot background (use crawler_policy_guide).","inputSchema":{"properties":{"content_signals":{"description":"Append a Content-Signal line (search / ai-input / ai-train) matching the policy. Default true; pass false to omit.","type":"boolean"},"policy":{"description":"AI policy preset: max_visibility = allow every AI bot; search_only or block_training = allow search/answer bots, block training crawlers (same output); block_all_ai = disallow every known AI bot.","enum":["max_visibility","search_only","block_training","block_all_ai"],"type":"string"},"sitemap_url":{"description":"Optional absolute sitemap URL appended as a Sitemap: line, e.g. https://example.com/sitemap.xml.","type":"string"}},"required":["policy"],"type":"object"},"name":"robots_txt_for_ai"},{"description":"Generate a schema.org JSON-LD snippet (Organization, LocalBusiness, Product with Offer, or FAQPage) from your details, with placement tips, so search engines and AI assistants can identify the entity. Use when adding structured data to a page. Do NOT use to check whether a site already has structured data (use check_ai_readiness) or for llms.txt (use llms_txt_draft).","inputSchema":{"properties":{"address":{"description":"Optional street address for local_business, e.g. 100 Main St, Austin, TX 78701.","type":"string"},"description":{"description":"Optional one-sentence description (organization, local_business, product).","type":"string"},"name":{"description":"Entity name, e.g. Reddy Plumbing (required; not emitted for faq).","type":"string"},"price":{"description":"Optional price for product; a 3-letter currency code in it sets priceCurrency (default USD), e.g. '49.00 USD'.","type":"string"},"questions":{"description":"Question/answer pairs for faq (at least one required when type is faq).","items":{"properties":{"answer":{"description":"Answer text.","type":"string"},"question":{"description":"Question text.","type":"string"}},"required":["question","answer"],"type":"object"},"type":"array"},"telephone":{"description":"Optional phone for local_business, ideally E.164, e.g. +1-512-555-0100.","type":"string"},"type":{"description":"Entity type: organization, local_business (adds telephone/address), product (adds price Offer) or faq (requires questions).","enum":["organization","local_business","product","faq"],"type":"string"},"url":{"description":"Canonical page URL including https://, e.g. https://example.com (required; not emitted for faq).","type":"string"}},"required":["type","name","url"],"type":"object"},"name":"schema_jsonld_sample"}]},"body_sha256":"2f668431771dcec8a2802abedc995cfaa713e34f3d1aaea0d24383540d35875a","prev_id":218485,"leaf":"0x109c3261e62ae2a646728786f8112fdb0b3b9ac217f79d7696904f1a22552405","leaf_text":"{\"body\":\"2f668431771dcec8a2802abedc995cfaa713e34f3d1aaea0d24383540d35875a\",\"id\":984385,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793238470021202,\"prev\":218485,\"subject\":\"2bfd2a44-780e-4c96-b35a-9d40b63b7ade\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-29","leaves":242798,"root":"0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c","chained":"0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6","anchor_chain":"eip155:5042002","anchor_tx":"0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1","anchor_block":69753317},"proof":["0x109c82b21c96b542da906ccceee5defe2308b4096c74e3787dba1673819e705f","0x663922894d1419a7beb885704a0bff6b3d21349d31ad77a3d081d58e559fd007","0x539a73b6646655800d414a37f4844932591758a45bb099afaeb29817176e3f02","0xd678cf8234270e4c5aef69d0b04f75e28abfa5919df139d727cdced412146680","0x49e974cb10c6073c98b4141dc52c95fcf3a842359e9707f84a8bc0306b31f15d","0x2ffcafda713c6bfa9fb1dd276e198830b7d54e63499dfafc7ff83ec7dc7863f6","0x5e0fc40a83920dd047c2d0030676527f7ef169cb03888330f3b7f235e42c6492","0x5e3e7427e81ec1c6f364d2dd1960bd21af742f80e6f8e1c164864631bb4dc4c7","0x1c5761f285fc7aff73f53399a1945bc310a9ff0e55e44e10dce81fb0287e5b55","0x4f18429d72aed9c2d1e2629e7d1468c17c2ec4bc9c08bac595a7a5ff8d1bd7a6","0x9804029311ee9b55f01bddd4a02932b618b20dcb0bc1cbe491be106795dba779","0x167cb457e5618956c84193ebb90fd080faba4ab44e43972c970cde45c0c57c49","0x7815c9a292a2f1e0dbdff174b5918aa320852c7e816e376aca0e3ef90e1a01e4","0x7b3add153244183458b4331b4f226a6729ff68c345cedfa75b49586e803bf98a","0x0507b989510de89f78184f7a10d971f7670a579c54df7d291a2d72f034ae74d3","0xa0a7723889a4c15b3e0bec353fa8dbcaec6c71cf35bb6c346415ad3e664df6a6","0xd76435ead496863d8b0bfab3434f54cd11da3c49d104fc4064b9cb3381567bbd","0xd56e61af23709ed9f460471e3c08400c0142ee83e1fd9057e46350d12edf9c07"]}