Skip to content

AnswerRail AEO, Schema.org & /llms.txt Audit MCP

io.github.quitegoodproject/answerrail-mcpquitegoodprojectstreamable-httpv1.2.7Scanned

6-category AI readiness, Schema.org, robots.txt, /llms.txt & 25k-token audit + auto-fix MCP server

4 tools: 3 change things and 1 only read.

Tools: 0 delete, 0 irreversible, 3 write, 1 read.
  • Reads private data · 1
  • Reads text others write · 4
  • Can send data out · 2
  • 1 finding

Anlyon alternative

3 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

4 tools

Changes things 3Claude Code: ask
  • audit_ai_readinessAudits a website URL or domain for AI crawler access (GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot), 25,000-token HTML RAG truncation, /llms.txt presence, Schema.org JSON-LD ent…Reads text others writeCan send data outNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Audits a website URL or domain for AI crawler access (GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot), 25,000-token HTML RAG truncation, /llms.txt presence, Schema.org JSON-LD entities, and Google Lighthouse 13.5 Agentic Browsing (/.well-known/ai-catalog.json ARD 1.0). Use this tool first when diagnosing why a site is omitted or misquoted by ChatGPT, Perplexity, or Claude. Do not use this tool to extract full-page Markdown content (use extract_byte0_markdown instead) or to generate static manifest files (use generate_ai_manifests instead). Read-only network check; requires no API key.

    Annotations the server declares

    • title: Audit Website AI Readiness
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • extract_byte0_markdownStrips React/Next.js hydration scripts, Shopify Liquid/WordPress DOM bloat, and inline SVGs/CSS from any URL, returning clean Byte-0 GitHub-Flavored Markdown (GFM) with front-loade…Reads text others writeCan send data outNo findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
    Description, as the server wrote it
    Strips React/Next.js hydration scripts, Shopify Liquid/WordPress DOM bloat, and inline SVGs/CSS from any URL, returning clean Byte-0 GitHub-Flavored Markdown (GFM) with front-loaded Schema.org tables. Use this tool when you need to read a web page or pricing table inside an LLM context window without exceeding the 25,000-token truncation limit. Do not use this tool if you only need a diagnostic readiness score or robots.txt check (use audit_ai_readiness instead). Read-only HTTP extraction; requires no API key.

    Annotations the server declares

    • title: Extract Byte-0 Markdown
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • generate_ai_manifestsCompiles ready-to-save /llms.txt documentation index and Google Lighthouse 13.5 /.well-known/ai-catalog.json (ARD 1.0) JSON manifests from a live domain, plus HTML <head> and robot…Reads text others write1 finding

    Why it is in this group

    • The name "generate_ai_manifests" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.

    Findings

    • Warn

      The server marks "generate_ai_manifests" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "generate_ai_manifests" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Compiles ready-to-save /llms.txt documentation index and Google Lighthouse 13.5 /.well-known/ai-catalog.json (ARD 1.0) JSON manifests from a live domain, plus HTML <head> and robots.txt Agentmap snippets. Use this tool when a developer wants to remediate missing discovery manifests identified by audit_ai_readiness. Do not use this tool for general web scraping (use extract_byte0_markdown instead). Read-only synthesis; requires no API key and does not modify remote servers.

    Annotations the server declares

    • title: Generate /llms.txt & ARD 1.0 Manifests
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 1Show 1 read-only tool
  • query_truncation_benchmarkRetrieves empirical benchmark telemetry from the 2026 50-Site SaaS & E-Commerce AI Truncation Study (measuring raw HTML token weight, 25,000-token Perplexity/ChatGPT cutoff truncat…Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "query_truncation_benchmark" says "query": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "retrieve" and "chat": it reads messages.
    • untrusted-inputThe description's first sentence says "retrieve" and "html": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Retrieves empirical benchmark telemetry from the 2026 50-Site SaaS & E-Commerce AI Truncation Study (measuring raw HTML token weight, 25,000-token Perplexity/ChatGPT cutoff truncation, visible price omission, /llms.txt adoption, and Lighthouse 13.5 ARD 1.0 adoption). Use this tool when comparing a site against industry peers (such as Stripe, Vercel, Datadog, or Shopify) or answering research questions about the Static /llms.txt Paradox. Do not use this tool to run a live scan on an arbitrary unbenchmarked URL (use audit_ai_readiness instead). Read-only benchmark lookup; requires no API key.

    Annotations the server declares

    • title: Query 50-Site Truncation Benchmark
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

8 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 private-data tool breaks every one.

Reads private data1
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write4
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out2
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
deny to break every path
{
  "permissions": {
    "deny": [
      "mcp__answerrail__query_truncation_benchmark"
    ]
  }
}

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "generate_ai_manifests" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "generate_ai_manifests" says "generate": a word for a change.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.2.7. Values in angle brackets are yours to fill in.

claude mcp add --transport http answerrail https://answerrail.com/mcp
claude mcp add --transport http answerrail https://answerrail.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__answerrail__query_truncation_benchmark"
    ],
    "ask": [
      "mcp__answerrail__audit_ai_readiness",
      "mcp__answerrail__generate_ai_manifests",
      "mcp__answerrail__extract_byte0_markdown"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as answerrail. Review it before you use it.

Capability tags behind 4 rules
  • mcp__answerrail__audit_ai_readiness untrusted-input, outbound
  • mcp__answerrail__generate_ai_manifests untrusted-input
  • mcp__answerrail__extract_byte0_markdown untrusted-input, outbound
  • mcp__answerrail__query_truncation_benchmark private-data, untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/io.github.quitegoodproject/answerrail-mcp/verify?hash=2124634a73e3a0af2f6a50af3cae429a7f880c4b1cdeb38b9edb58d0d91c87c5" | jq -e '.changed == false'

Pinned hash 2124634a73e3, from Oct 29, 2026, 14:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/io.github.quitegoodproject/answerrail-mcp/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for io.github.quitegoodproject/answerrail-mcp
[![anlyon.dev](https://anlyon.dev/badge/io.github.quitegoodproject/answerrail-mcp.svg)](https://anlyon.dev/servers/io.github.quitegoodproject/answerrail-mcp)

Source: MCP Registry · repository. Synced Oct 29, 2026, 15:18 UTC.