Crawl Readiness

io.github.Grubbomatic由 GitHub 帳號 Grubbomatic 發布v0.2.9更新於 Oct 30, 2026

Check what AI crawlers may read and what a page permits, generate llms.txt and schema.

概覽

AI 產生的概覽

稽核網站對 AI 爬蟲的可讀性,驗證 robots.txt 與 JSON-LD,產生 llms.txt、robots.txt 和結構化資料,並查詢頁面使用授權。

可以做什麼
  • 稽核網站的 AI 就緒度:針對 50 多個 AI 爬蟲給出 0-100 評分與依優先順序排列的修正清單,並比對人類與 AI 爬蟲看到的頁面差異
  • 逐行驗證 robots.txt,並驗證任意網址上的 JSON-LD 結構化資料,依類型回報錯誤與警告
  • 查詢頁面已公布的訊號是否允許搜尋、回答、訓練或代理使用,回傳判定結果與簽章收據
  • 產生 llms.txt、面向 AI 爬蟲的 robots.txt,以及 Organization/WebSite/Article 的 JSON-LD
  • 讀取既有的 Answer Analysis:即時 AI 搜尋提及品牌與競品的頻率及變化趨勢
適用情境
適合想確認 ChatGPT、Claude、Perplexity 等 AI 爬蟲能否讀取某個網站,需要修正或產生 llms.txt、robots.txt、結構化資料,或在把頁面用於 RAG、資料集、代理動作前確認其已公布訊號允許何種用途的情境。
執行需求
以 stdio 在本機執行,通常透過 npx crawl-readiness-mcp(需 Node.js)。四個稽核工具與 check_permission 不需帳號;三個產生工具需要 CRAWL_READINESS_API_KEY 中的免費 API 金鑰,get_monitor_trend 另需包含 Answer Analyses 的方案。需要連線至廠商 API 主機;可用 CRAWL_READINESS_API_BASE 覆寫基礎網址。
安裝前請注意
所有工具都會把你查詢的網址以及已設定的 API 金鑰傳送到廠商伺服器,check_permission 還會連線到另一個主機。產生的檔案由 AI 用戶端寫入你的專案,儲存前應自行檢查。check_permission 僅解讀已公布的訊號,不構成法律意見。API 金鑰屬於憑證,應妥善保管。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Crawl Readiness,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Crawl Readiness MCP Server

An MCP server that checks whether a website is set up for AI the way its owner intends: can GPTBot, ClaudeBot, PerplexityBot and 50+ other AI crawlers read it, and what does its access policy allow? Then it generates the files (llms.txt, an AI-crawler robots.txt, JSON-LD structured data), reads your Answer Analysis, and tells you whether a page's published signals permit a use (search, answers, training, agent action), inside Claude Desktop, Cursor, Cline, Windsurf and other MCP clients.

Ask Claude "can AI read my site?" and it will actually check, running a live audit against 50+ AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google's and more) and reading the access policy the site states. Then ask it to fix what is blocked, and it can generate a proper llms.txt, robots.txt or JSON-LD schema and write it straight into your project.

No more copy-paste between your editor and a browser.


What it does

Nine tools your AI assistant can call:

Audit (no signup):

  • check_ai_readiness — Score a site 0–100 against 50+ AI crawlers, with a prioritized fix list; extras that don't affect the score are marked as such
  • validate_schema — Audit JSON-LD structured data on any URL (20+ types, per-type rules)
  • validate_robots — Line-by-line robots.txt audit
  • check_content_parity — Compare what humans see vs what AI crawlers see

Permission (no signup):

  • check_permission — Ask whether a page may be used for search, answers, training or agent action. Reads robots.txt, Content-Signal, Content-Usage, an RSL licence, the TDM reservation, ai.txt and the page's own directives: any reservation wins, and a source that could not be read makes the answer unknown, never allowed. Returns a dated receipt signed with Ed25519, with a hash of every file read. Documented at machinereadiness.com/permission

Generate (requires free API key):

  • generate_llms_txt — Auto-crawl a site and produce a properly formatted llms.txt
  • generate_robots_txt — AI-crawler-aware robots.txt with preset policies
  • generate_schema — Organization / WebSite / Article JSON-LD ready to paste

Answer Analysis (read-only; needs an API key, and the analyses come with Monitor, Agency or the audit):

  • get_monitor_trend — Read your Answer Analysis: for the questions your customers ask, whether live AI search (Perplexity, Google AI Overviews) named your brand or a competitor, and the change run over run (reads existing analyses; doesn't trigger runs)

Install

Claude Desktop, one click

Download crawl-readiness-mcp-<version>.mcpb from the latest release and double-click it (or drag it into the Claude Desktop window). Claude Desktop shows what the extension does and asks for the optional API key. The bundle carries the server and its dependencies, so nothing else is installed.

Claude Code, as a plugin

This repository is also a Claude plugin: the .mcp.json at its root starts the server (pinned to this version), and the ai-readiness skill tells Claude when to use which tool and how to read the results. Add it from the Claude directory once it is listed there. To try it before then, clone the repository and start Claude Code with it loaded:

bash
claude --plugin-dir ./crawl-readiness-mcp

Claude Code asks for the optional API key when the plugin is enabled and keeps it in secure storage; the plugin's own files never contain it.

For Claude Desktop, by hand

Open your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add this to the mcpServers block:

json
{  "mcpServers": {    "crawl-readiness": {      "command": "npx",      "args": ["-y", "crawl-readiness-mcp"]    }  }}

Restart Claude Desktop. You'll see "crawl-readiness" listed in the tools panel.

For Cursor

Open Cursor Settings → Features → Model Context Protocol → Add new global MCP server.

json
{  "crawl-readiness": {    "command": "npx",    "args": ["-y", "crawl-readiness-mcp"]  }}

For Cline / Windsurf / Continue

Same shape — add crawl-readiness to your MCP servers list with npx -y crawl-readiness-mcp as the command.


Unlock the generator tools

The five checks (the four audit tools and check_permission) work out of the box, no signup. The three generator tools need an API key — free at crawlreadiness.com/dashboard (50 checks/month on the free tier, no credit card). get_monitor_trend needs a key too, on a plan that includes Answer Analyses (Monitor, Agency or the audit).

Once you have a key, add it via env in the same config:

json
{  "mcpServers": {    "crawl-readiness": {      "command": "npx",      "args": ["-y", "crawl-readiness-mcp"],      "env": {        "CRAWL_READINESS_API_KEY": "cr_live_xxxxxxxxxxxx"      }    }  }}

Restart the client. All nine tools are now callable.


Example prompts

Once installed, try any of these in your AI client:

  • "Is my portfolio site AI-readable? URL: yourdomain.com"
  • "Check if ChatGPT can see acme-inc.com"
  • "Validate the JSON-LD on stripe.com — is anything missing?"
  • "Compare what humans see vs what AI crawlers see on producthunt.com"
  • "Generate an llms.txt for my site and save it to /public/llms.txt"
  • "My site scored 68/100 — walk me through the fixes"
  • "May I train on https://example.com/research? Check what the site publishes."
  • "Before we build the RAG index, which of these pages reserve AI answers?"

Your AI can chain tools automatically — audit, identify issues, fix them, and write files to your project without you copy-pasting anything.


Configuration

Env varPurposeDefault
CRAWL_READINESS_API_KEYAPI key (free) for the generators; lifts the daily limit on check_permission; reads your Answer Analyses on a plan that includes themnone
CRAWL_READINESS_API_BASEOverride the API base URL for every tool, the permission check included (for testing)https://www.crawlreadiness.com

What tools receive from the server

Each tool returns the full JSON response from the Crawl Readiness API — the same data the web dashboard renders. Your AI has access to:

  • check_ai_readiness: score, robots.txt status per crawler, structured-data flags, homepage signals, prioritized fix list (fixes marked extra: true are optional and not scored)
  • validate_schema: per-block issues (errors, warnings, info), suggested missing types
  • validate_robots: line-by-line issues, AI-bot coverage summary
  • check_content_parity: verdict + per-crawler HTTP status, word overlap %, warnings
  • check_permission: verdict (denied, allowed-under-terms, allowed, unknown) with the reason, every signal as it was read, the page's status, and the signed receipt with a hash of every file read; with observe: true, also how the server treated a crawler's user-agent string sent from our servers
  • generate_llms_txt: the file content + companion robots.txt snippet
  • generate_robots_txt: merged robots.txt with the AI policy applied
  • generate_schema: JSON-LD scripts for each detected schema type
  • get_monitor_trend: per analysis, the share of answers naming the brand, the per-provider split, the competitors named, the trend run over run, and short example answers

What this sends, and where

Every tool makes HTTPS requests to https://www.crawlreadiness.com, and check_permission to https://machinereadiness.com (the same service on the standard's own host), and nowhere else. What leaves your machine is the website address (and for the generators, the inputs) you asked about, the API key if you configured one, and a crawl-readiness-mcp/<version> user agent. The server stores nothing locally, runs no other programs, and reads no files; writing a generated file into your project is something your AI client does, with your say-so. The service's own data handling is described at crawlreadiness.com/privacy.

The plugin's .mcp.json starts the published npm package pinned to the same version as the repository (npx -y crawl-readiness-mcp@<version>), so what runs is the code in this repository at that tag.


Support


About

Crawl Readiness checks whether a website is set up for AI the way its owner intends: what AI crawlers can read, what its access policy allows, and what is missing, with the files that fix it. Every generator tool in this MCP server is also available on the web at crawlreadiness.com/tools. The MCP server just makes the same tools callable from inside your AI assistant, so the "audit → fix → apply" loop happens in one conversation without leaving your editor.

Releasing (maintainers)

npm run release validates server.json and prints the publish steps. The last step uses the mcp-publisher CLI, which is not part of this repository: download it from the MCP Registry releases and keep it on your PATH or in the repo root (it is git-ignored there).

License

MIT © 2026 Crawl Readiness / Tundrastone

來源:README.md,提交 558fea5

工具

9

check_ai_readiness

Check AI Readiness

Check whether AI crawlers (ChatGPT, Claude, Perplexity, Google AI, and 50+ others) can access a website, and what access policy it states. Returns a 0-100 AI readiness score, per-crawler access status, detected AI-specific files (llms.txt, agents.json), structured data presence, meta signals, and a prioritized fix list. The score counts the crawlers that feed AI search and answers: each entry in `robots.results` carries its `purpose` and whether it is `scored`, and training-only crawlers are listed but never counted, so blocking them does not lower the score. Fixes marked `extra: true` (llms.txt, agents.json, Content-Signal, a markdown copy, agent-ready forms) are informational 'Going further' items and do not affect the score; present them as optional. Use this as the first step whenever a user asks whether AI can read a site.

輸入參數url必填

validate_schema

Validate JSON-LD Schema

Validate all JSON-LD structured data on a URL. Extracts every <script type="application/ld+json"> block, runs each through a rules engine covering 20+ common types (Article, Organization, Product, LocalBusiness, FAQPage, Recipe, Event, etc.), and reports required-field errors, recommended-field warnings, and type-specific gotchas.

輸入參數url必填

validate_robots

Validate robots.txt

Audit a robots.txt file line-by-line. Detects syntax errors, empty user-agent groups, orphan Allow/Disallow lines, non-slash paths, non-numeric Crawl-delay values, unofficial Noindex usage, and wildcard traps. Also summarizes AI-bot coverage across 50+ known AI crawlers. Provide EITHER url (to fetch and audit) OR text.

輸入參數urltext

check_content_parity

Content Parity Check

Compare what human browsers see vs what AI crawlers see. Fetches a page four times in parallel — as Chrome, GPTBot, ClaudeBot, and PerplexityBot — and reports word-overlap %, title/description differences, and warnings about JS-only shells, cloaking, or edge-based bot blocking.

輸入參數url必填

generate_llms_txt

Generate llms.txt

Generate a properly formatted llms.txt file for a website. Crawls the site's sitemap, groups pages by section, pulls page titles and descriptions, and produces both the llms.txt content and a companion robots.txt snippet. The AI client can then write the returned content to disk in the user's project. Requires an API key.

輸入參數url必填

generate_robots_txt

Generate robots.txt

Generate a complete, ready-to-save AI-crawler-aware robots.txt for a website. Fetches the existing robots.txt (if any) and returns the finished file in `generated.robotsTxt` — the existing rules with an AI-crawler policy section merged in — plus the per-bot allow/block breakdown. Presets: 'allow-all' (every AI crawler allowed), 'recommended' (blocks only the training-only crawlers; everything that feeds AI search and answers stays allowed), 'search-only' (allows only the crawlers that feed AI search and answers, the ones the readiness score counts, and blocks the rest), 'block-all'. A file from 'recommended' or 'search-only' loses no points for crawler access. Write `generated.robotsTxt` to the site's /robots.txt. Requires an API key.

輸入參數url必填preset

generate_schema

Generate JSON-LD Schema

Generate JSON-LD structured data for a website. Detects the site's name, logo, social profiles, contact info, and article metadata, then produces Organization, WebSite, and (when applicable) Article schemas plus starter templates for BreadcrumbList and FAQPage. Returns each schema as a <script type="application/ld+json"> block ready to paste into the site's <head>. Requires an API key.

輸入參數url必填

get_monitor_trend

Read the Answer Analysis

Read the user's Answer Analysis: for the questions a brand's customers ask, how often live AI search (Perplexity, Google AI Overviews) named the brand, which competitors were named, and the change run over run. Call with NO argument to list the user's analyses with each brand's latest share of answers naming it and the direction; pass a brand name or project id to get that brand's full trend, per-provider breakdown, competitor comparison, average position, and short example answers. Reads data existing analyses have already collected — it does not trigger new runs, and it measures rather than promises. Read-only. Requires an API key on a plan that includes Answer Analyses (Monitor, Agency or the audit).

輸入參數project

check_permission

Check Permission to Use a Page

Ask whether a page may be used for a purpose, from every machine-readable signal the site publishes: robots.txt per crawler, Cloudflare Content-Signal, the IETF Content-Usage directive and header, an RSL licence, a TDM reservation (header or /.well-known/tdmrep.json), ai.txt, and noai/noindex/nosnippet on the page itself. Purposes: 'search' (index the page and show links and excerpts, no AI summary), 'answer' (input to a generated answer, including retrieval for RAG), 'train' (train or fine-tune a model), 'agent' (fetch or act on the page for a user, live). Returns a `verdict`: 'denied' (a signal reserves this use; any reservation wins, a block on any one crawler that does the job included, and a robots.txt answering a server error counts as a full disallow), 'allowed-under-terms' (permitted on the conditions listed in `terms`, such as payment or a licence server), 'unknown' (a source that could carry a reservation could not be read: robots.txt answered 401 or 403, the page refused the request, or a licence could not be fetched; unknown outranks allowed) or 'allowed' (no signal reserves the use, which is not a licence). With observe: true it also requests the page once with a representative crawler's user-agent string, from Crawl Readiness's servers, and reports the status in `observed`: that shows how the server treats the string, not what the real crawler gets. Every source read is listed in `signals` with what was found and what it decided. The `receipt` is a dated record of all of this, with the SHA-256 of every file read, signed with Ed25519; /api/permission-key publishes the current and retired public keys, so the receipt can be verified later. Use it before fetching pages for RAG, a dataset or an agent action, and whenever the user asks whether they may use, quote, index, train on or act on a page. It is a reading of the signals the site published on that date, not legal advice. 25 calls a day per network without an API key. Documented at https://machinereadi

輸入參數url必填agentobservepurpose必填

版本歷史

6
  1. v0.2.9最新Oct 30, 2026
  2. v0.2.8Oct 29, 2026
  3. v0.2.6Oct 25, 2026
  4. v0.2.5Oct 13, 2026
  5. v0.2.4Sep 30, 2026
  6. v0.2.3Sep 21, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分