AI crawler access: robots.txt AI-bot rules + llms.txt (free)
web_ai_crawler_accessCheck if AI crawlers like GPTBot or ClaudeBot may access a site via robots.txt, showing per-bot allowed, partial, or blocked status, and detect llms.txt/llms-full.txt.
Instructions
Report whether AI crawlers may access a site, from its robots.txt: per bot "allowed" (no Disallow), "partial" (some paths disallowed) or "blocked" (Disallow: /). Default bots: GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-User, anthropic-ai, PerplexityBot, Google-Extended, CCBot, Bytespider, Applebot-Extended, Meta-ExternalAgent, Amazonbot. Also checks /llms.txt and /llms-full.txt (llmstxt.org): found, HTTP status, bytes, H1 title, link count (HTML soft-404s are not counted), and lists Sitemap: lines. WHEN TO USE: "can ChatGPT/Claude/Perplexity crawl this site?", GEO/AI-visibility checks, llms.txt adoption. Uses only the origin of the URL. Fetching: read-only GETs from this server with User-Agent "FairqueryBot ... Fairquery-MCP", 15 s timeout per request, body capped (1.5 MB HTML), max 5 redirects; URLs resolving to private/loopback/link-local addresses are refused (SSRF guard). Free, no token, no JavaScript rendering. 3 requests per site. RETURNS: one "ai_crawler_access" object: origin, robots_txt_url, robots_txt_found, robots_txt_status, ai_bots{bot: status}, allowed_count, partial_count, blocked_count, note, sitemaps_declared[], llms_txt{url,found,status,bytes,title,links}, llms_full_txt{...}, checked_at. Errors (isError=true, JSON {error, message, retryable}): INVALID_URL, BLOCKED_PRIVATE_ADDRESS, DNS_FAILED, FETCH_FAILED, TIMEOUT, TOO_MANY_REDIRECTS. WHEN NOT TO USE: for full page SEO use web_seo_audit; for sitemap contents use web_sitemap_info; for many sites use web_batch_audit (paid). COST: free - runs locally in this MCP server (direct HTTP GETs), no APIFY_TOKEN, no Apify billing. EXAMPLE: {"url":"nytimes.com","bots":["GPTBot","ClaudeBot"]} -> {ai_bots:{GPTBot:"allowed|partial|blocked", ClaudeBot:...}, blocked_count, llms_txt, ...}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Required. One public domain or http(s) URL, e.g. "vercel.com" or "https://www.python.org/about/". Bare domains are fetched over https; private/loopback hosts are refused. | |
| bots | No | User-agent tokens to evaluate instead of the default AI-bot list, e.g. ["GPTBot","Googlebot"] |