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 分