
citable
io.github.genzagents由 GitHub 账号 genzagents 发布v0.4.2更新于 Oct 29, 2026
Can ChatGPT, Claude and Perplexity read and cite your site? robots.txt, edge blocks, llms.txt.
概览
检查网站能否被 AI 问答引擎读取和引用,对 robots.txt、边缘拦截、llms.txt 与页面标记打分,并可生成 llms.txt 草稿。
- 可以做什么
- 检查网站的 AI 可引用性:以各问答机器人的身份抓取首页,对 robots.txt、CDN/WAF 边缘拦截、llms.txt、无 JS 可读内容、JSON-LD、标题与描述、HTTPS、canonical 和站点地图按 100 分制评分,并给出每项失败的修复建议。
- 根据网站首页生成一份入门 llms.txt 草稿。
- 仅以信息形式报告训练爬虫规则,不因此扣分。
- 适用场景
- 适合在 MCP 客户端中让助手审计网站的 AI 可见性、排查 ChatGPT、Claude 或 Perplexity 不引用该站点的原因,或生成第一份 llms.txt。
- 运行要求
- 以 stdio 方式在本机运行,需要 Python 3.9 及以上,无依赖;可从 citable-cli 的 PyPI 包安装(例如通过 uvx)或直接运行单个文件。MCP 服务器未声明需要账号、密钥或环境变量;抓取目标站点需要网络访问。
安装
在 SourceWeft 中
- 打开 控制台中的 citable,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
citable
Can ChatGPT, Claude and Perplexity actually read and cite your site?
Most "AI visibility" checkers read robots.txt and stop. citable fetches your homepage as each AI bot
and reports the blocks that robots.txt never mentions (Cloudflare "Block AI bots", WAF rules, rate limiters),
then checks the rest of the list: llms.txt, JSON-LD, title and description, JS-only content, sitemap, canonical.
Score out of 100, every failure with the fix. Also runs as an MCP server so your agent can check sites for you.
Zero dependencies. One file. Python 3.9+.
No install at all:
What a run looks like
What it checks
As an MCP server (Claude Code, Claude Desktop, Cursor, any MCP client)
Tools: check_site(url, live=true) and draft_llms_txt(url).
Claude Code plugin (includes the MCP server and a skill that knows how to act on the report):
Any MCP client, by hand:
The server speaks MCP over stdio with no dependencies, so it runs anywhere Python does.
In CI
Fail the build when a deploy breaks AI access (a new WAF rule, a lost llms.txt, a Disallow: / that slipped in):
Watch
A deploy that flips a WAF toggle silently removes you from every AI answer. The watch is the alarm. It runs as a
GitHub Action in any repo you own (it need not be the site's repo), keeps one issue per site up to date, and
comments on that issue the moment an answer bot is blocked, llms.txt disappears, the site goes down or the
score drops, which GitHub emails to you. No server, no account, no dependencies. Example: issue #1 watches this project's own page.
Copy docs/watch.yml to .github/workflows/citable-watch.yml:
Inputs: sites (required), min-score (fail below it), live (fetch as each bot, default true), issue
(track in an issue, default true), notify (login to @mention on a regression, default repo owner),
fail-on-regression (default true). Outputs: score, regressed, changed. Same thing from a shell where gh is logged in:
Hosted, $12/month (about £9): the same watch run by us, no repo needed, up to 5 domains, with a weekly digest. Live now through GitHub Sponsors:
- Sponsor genzagents at $12 a month →
- Open your Hosted watch issue → from the same account. Reports are posted on it (the issue is public).
Track
The watch tells you whether engines can read you. Track tells you whether they do: for the questions you want to be the answer to, does ChatGPT, Claude or Perplexity link to your site, and who gets linked instead?
Engines: anthropic (ANTHROPIC_API_KEY, the web_search tool), openai (OPENAI_API_KEY, Responses API web search),
perplexity (PERPLEXITY_API_KEY, sonar) and claude-code (the claude CLI on your machine, no key). Every engine
whose key is present runs; --engines= picks a subset. Add --issue --repo=you/repo (or run it from the Action with
a prompts: input) and it keeps a "citable track: example.com" issue up to date and comments when a citation is
lost, which is the weekly email the paid tools charge $29 to $39 a month for. Bring your own keys; a 10-prompt run on
three engines costs a few cents.
Hosted ($12/month, about £9)
No repo, no keys, no cron: sponsor genzagents at $12 a month, open a Hosted watch issue with your sites (up to 5), the prompts that matter (up to 10) and your brand, and the first report is posted on the issue within the hour. After that you get a comment the moment something regresses and a digest once a week with the prompt tracking (GitHub emails you each one). Cancel from your GitHub sponsorships page.
citable hosted run --source=github matches active sponsors to the open hosted issues they authored and comments
the reports there, so it needs only a GitHub token. The Polar + Resend mode below is for private email delivery.
The runner is in this repo (citable hosted), so you can also run the same thing yourself for your own customers:
it polls Polar for active subscriptions, keeps one small state file per subscriber, and sends
through Resend. Zero dependencies, one hourly cron. See docs/HOSTED.md.
Notes
-
MCP registry name:
mcp-name: io.github.genzagents/citable(PyPI packagecitable-cli; the import and the command staycitable). -
Bot user agents and roles follow the vendors' published strings (OpenAI, Anthropic, Perplexity). Role "answer" = fetches to answer or cite in a live conversation; "train" = builds training corpora.
-
The edge check compares HTTP status only. A site that returns 200 with a challenge page to bots will pass; file an issue with the domain and it gets a heuristic.
-
--no-liveskips the bot fetches (faster, robots.txt only).
Development
MIT. Built by genzagents.
来源:README.md,提交 3d8d974
工具
0版本历史
1- v0.4.2最新Oct 29, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分