{"id":218485,"recorded_at":"2026-10-26T14:56:13.017234Z","observed_at":"2026-10-26T14:56:13.017115Z","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 13 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":"ef720f79ff033392d438a6ed0b1814deb4970ffe568a6fd3a1c55b2a079a2f0f","prev_id":null,"leaf":"0x398fb3cb8c6d0b005d07b463945653195305308ba2e988fc7b7e95bccaf18c65","leaf_text":"{\"body\":\"ef720f79ff033392d438a6ed0b1814deb4970ffe568a6fd3a1c55b2a079a2f0f\",\"id\":218485,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793026573017115,\"prev\":null,\"subject\":\"2bfd2a44-780e-4c96-b35a-9d40b63b7ade\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0x398f9588a3489e56428110d336962a78f02316a7a0488fdeb29d0964a8a705e7","0x17fc9003d3e74f60e49d4505cd98ab7b7047144f52d2654ae23162e4d03ef99b","0xb1e68f87c04622800ae6b53c4360380e642a94fabda8caf131e0efdb3eda35d8","0x31b3d82a8a5a5cf4c6c508cec2fbbf7fb7ba8a55d192767d4eba512e6dfc413d","0x8a0b0762a6d5e5694c12c84a86c1d8aa5f04a47407c759469f94e2fd19cf2d68","0x2c0f81bbaeb6d3929bd92df17989d33074cca14e3a22a6f026fa0c894ffcc6aa","0xb3f517174b40dbdba6ee863c72f69d59b0aef7c563867ba88a668d1ab1f6ae47","0x621b8bcec6518d5170586a2d2ed73cd67bcc0170afd3e95839d004dddcfc5323","0x421e7e79142f88fd07b2b2c4d99a68e8be84eb9e0d9dd85e4c0332bdf1f0c1c1","0x523b8ac4b1e261a073661101852ada4310c46af0ed03f362d2ef83a301a47101","0x04a1aa6c1d916326b08791d1568a512f10ac6aaee806ec4073570b0a6b1b64af","0x18cc4431e4bbe45ee72defb9bb3318434364bf71c883055c6197fa7102ec601a","0xe2214b3d6a48396930d1739b02ea366de2aac5337c9b9ff2aff28cecf6518139","0x7f594f5609f388d64d3cda87b5631d393ee8300bb09bad71f150113a5886ee33","0x4b52a97f7a80ff7778a702b85267b8d2e5c93ce160942656435c29ae7be68bf4","0x2e6a32eb32761c210560e852405e2f865f958ddbe01027894f8b9c1b3433b9f0","0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d","0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}