Skip to main content

⚡ ai-crawler-radar

CI PyPI version NPM version License: MIT

Autonomous AI Search, Training & Agent Crawler Diagnostic Engine.
Probes live web pages with authentic AI bot signatures, audits robots.txt across 3 tiers, identifies WAF hard-blocks & Turnstile challenges, calculates token bloat multipliers, and validates /llms.txt.

Available in two architectural deployment variants designed for maximum flexibility and privacy:

  1. Local MCP (stdio): Zero-auth, runs on your machine via uvx / npx, cold boot < 50ms.
  2. Remote MCP (Streamable HTTP / SSE): Hosted edge gateway (https://crawler.builditwithai.xyz/mcp) delivering continuous tool, schema, prompt, and playbook updates without needing PyPI/NPM package upgrades. Data never leaves your computer; zero cloud compute burden.

⚡ 1-Line Universal Installer

Automatically detects and configures all installed AI agent harnesses (Claude Desktop, Cursor, Claude Code, Antigravity, OpenCode, Zed, Windsurf):

curl -fsSL https://crawler.builditwithai.xyz/install | bash

🛠️ MCP Configuration: Choose Your Variant

Variant A: Remote MCP (Streamable HTTP / SSE)

Recommended for instant edge updates: Tools, schemas, prompts, and operational playbooks update dynamically at the edge without requiring package reinstallations or PyPI/NPM updates. Zero cloud compute burden; data never leaves your computer.

🤖 Claude Desktop / Claude Code

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "ai-crawler-radar": {
      "url": "https://crawler.builditwithai.xyz/mcp"
    }
  }
}

💻 Cursor / Windsurf / Antigravity

Add to your IDE MCP settings:

{
  "mcpServers": {
    "ai-crawler-radar": {
      "url": "https://crawler.builditwithai.xyz/mcp"
    }
  }
}

🌐 OpenCode

Add to opencode.jsonc:

{
  "mcp": {
    "ai-crawler-radar": {
      "type": "remote",
      "url": "https://crawler.builditwithai.xyz/mcp",
      "enabled": true
    }
  }
}

Variant B: Local MCP (stdio)

Recommended for offline / air-gapped environments: Runs natively on your machine via Python (uvx) or Node (npx). Zero dependencies, cold boot < 50ms.

🤖 Claude Desktop / Claude Code

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "ai-crawler-radar": {
      "command": "uvx",
      "args": ["ai-crawler-radar"]
    }
  }
}

💻 Cursor / Windsurf / Antigravity

Add to your IDE MCP settings:

{
  "mcpServers": {
    "ai-crawler-radar": {
      "command": "uvx",
      "args": ["ai-crawler-radar"]
    }
  }
}

🌐 OpenCode

Add to opencode.jsonc:

{
  "mcp": {
    "ai-crawler-radar": {
      "type": "local",
      "command": ["uvx", "ai-crawler-radar"],
      "enabled": true
    }
  }
}

(Node.js users can substitute uvx ai-crawler-radar with npx -y @surendranb/ai-crawler-radar)


🧭 The 3-Tier AI Bot Model

ai-crawler-radar categorizes and evaluates crawler access across three distinct operational tiers:

Tier Primary Crawlers Strategic Purpose Typical Posture
Tier 1: Model Pre-Training GPTBot, ClaudeBot, Google-Extended, Meta-ExternalAgent, Bytespider, CCBot Bulk offline data harvesting to train foundation models Block if protecting proprietary intellectual property
Tier 2: AI Search Indexing OAI-SearchBot, PerplexityBot, Claude-SearchBot, Applebot, Bingbot Real-time indexing to power SearchGPT, Perplexity & Siri citations Allow to drive citations and conversational discovery
Tier 3: Live User Fetchers ChatGPT-User, Claude-User, Perplexity-User Real-time URL fetching triggered by an active human chat prompt Allow for link previews and interactive agent assistance

📡 Available Tools & Prompts

Tools

Tool Name Parameters Description
probe_url url, tier, check_markdown_twin Probes URL using authentic headers across bot tiers; diagnoses WAF hard-blocks, Turnstile challenges, CSR empty shells, and token bloat multipliers.
audit_robots domain, categories RFC 9309 rules parser evaluating permissions across Training, Search, and Live Fetch tiers with strategic recommendations.
compare_readiness urls Multi-domain side-by-side benchmark comparing AI crawler readiness, token efficiency, and /llms.txt adoption.
bot_directory query, category Search and inspect 758 verified bots from Cloudflare Radar Bot Directory.
generate_llms_txt domain Validates existing /llms.txt against CommonMark V2 standard, or generates a compliant starter specification.
skill_read skill_name Read bundled operational playbooks dynamically.
skills_list (none) List available operational skills.

Dynamic Prompts (Remote Variant)

  • audit_domain_ai_posture: Comprehensive 3-tier crawler readiness and robots.txt audit.
  • diagnose_crawler_block: Root-cause investigation into WAF, Turnstile, or CSR blocks.
  • generate_llms_specification: Automated generation of CommonMark V2 /llms.txt and /llms-full.txt.

🖥️ Command Line (CLI) Usage

# Probe URL with authentic AI bot signatures
ai-crawler-radar probe https://docs.anthropic.com

# Audit domain robots.txt across 3 bot tiers
ai-crawler-radar audit github.com

# Search Cloudflare Radar Bot Directory (758 verified bots)
ai-crawler-radar bots --query openai
ai-crawler-radar bots --category AI_SEARCH

# Validate or generate CommonMark V2 /llms.txt
ai-crawler-radar llmstxt https://fastmcp.org
ai-crawler-radar llmstxt example.com --generate

# Output pure JSON for automated CI/CD pipelines
ai-crawler-radar probe https://example.com --json

🔬 Diagnostic Engine Architecture

  1. WAF Hard-Blocks: Identifies Cloudflare (CF-Ray, Error 1020), AWS WAF, Akamai Ghost, and Imperva access blocks.
  2. Turnstile & Challenges: Detects Cloudflare Turnstile widgets, managed JS puzzles, and interactive CAPTCHAs that halt crawlers.
  3. CSR Empty Shells: Flags single-page apps (<div id="root">, <div id="app">) where dynamic JavaScript rendering leaves initial HTML blank for crawlers.
  4. Token Bloat Multiplier: Computes ratio of raw DOM tokens to extracted readable content tokens (e.g. 35x bloat) to measure LLM ingestion efficiency.
  5. Content Negotiation & Cache Poisoning: Detects missing Vary: Accept headers on markdown twin responses that cause CDN cache collisions.

🔒 Telemetry & Privacy

Data never leaves your computer. In both local and remote variants, private target data is never stored on external servers.

To opt out of anonymous usage telemetry:

export DO_NOT_TRACK=1
# or
export AI_CRAWLER_RADAR_TELEMETRY=off

📄 License

MIT License. Free and open source forever for all developers and AI agents.

Metadata

Release files for ai-crawler-radar 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ai-crawler-radar 0.1.0
File Size Uploaded
ai_crawler_radar-0.1.0.tar.gz 122.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ai-crawler-radar 0.1.0
File Interpreter ABI Platform
ai_crawler_radar-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 240.0 kB

Release files / ai_crawler_radar-0.1.0.tar.gz

Download URL ai_crawler_radar-0.1.0.tar.gz
Size 122.6 kB
Tags Source
SHA-256 checksum
How to use checksums
1c0a1d12a97ca230c47b09beddbefd08752c98baf96bf72b1b77a6435507be2e
BLAKE2b-256 checksum
How to use checksums
c881dd50d1f33b833ca92791ab6d505c8cdd704a30091142bf743ffad71ebbbe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / ai_crawler_radar-0.1.0-py3-none-any.whl

Download URL ai_crawler_radar-0.1.0-py3-none-any.whl
Size 117.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e9d13eda3d14c418859dbf8068d639752bdb55411b2ad67dbf4ff36723a98bf8
BLAKE2b-256 checksum
How to use checksums
cd387cdaead9706159110cbf1a1babb587f1ee22c4df1dee65db14d46712dccc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page