Audit whether an AI agent can read a site: llms.txt, robots AI rules, structured data.
Agent Accessibility Auditor MCP Server (com.mambabuilt/mcp-agent-accessibility-auditor)
The com.mambabuilt/mcp-agent-accessibility-auditor MCP server audits whether an AI agent can read a site. It focuses on checks against llms.txt, robots AI rules, and structured data to assess accessibility for agent-driven browsing.
🛠️ Key Features
Audits AI agent site readability
Checks llms.txt
Evaluates robots AI rules
Assesses structured data
🚀 Use Cases
Verify whether an AI agent can access site guidance and content signals
Test site configuration for agent-oriented crawl/read behavior
Validate structured data availability for agent consumption
⚡ Developer Benefits
Provides an accessibility audit aligned to agent-reading inputs
Helps identify whether key site files/rules and structured data are readable by agents
⚠️ Limitations
Described scope covers llms.txt, robots AI rules, and structured data only
Can an AI agent read this site? Give it a domain and it returns one flat row of 42 fields covering five families of fact: the llms.txt family, robots AI crawler policy including the newer Content Signal directives, structured data presence and health, render mode, and machine readable endpoint discovery.
Domain in, whether an AI agent can read that site out.
Input
Type
Required
Notes
domain
string
yes
One company domain, for example vercel.com. A full URL is accepted: the protocol and path are stripped. One domain per call.
checks
array
no
Run only these checks: llms_txt, robots_ai, sitemap, openapi, security_txt, feeds, json_ld, microdata, open_graph, canonical, render_mode. Omit for all of them. A check you did not run reports null, never false, and the score is rescaled over what you selected.
check_endpoints
boolean
no
Alias for the checks array: false removes sitemap, openapi, security_txt and feeds. Ignored when checks is set. Default true.
check_structured_data
boolean
no
Alias for the checks array: false removes json_ld, microdata, open_graph and canonical. Ignored when checks is set. Default true.
skipCache
enum
no
Leave as false to use the 7 day cache. Set to true to re-audit the domain from scratch. Default false.
Reading the output
Every field is a fact read off a fetch. No model is called at any point, so the same domain returns the same row today and next month unless the site actually changed.
has_llms_txt is true only when /llms.txt returns 200 and the body is real markdown, and llms_txt_reject_reason says why a 200 was not counted. Twelve requests per domain, robots.txt first and then the homepage and ten probes concurrently. Typical wall clock is 2 to 4 seconds.
Built for a technical SEO or growth engineer preparing a site for AI crawlers and agent traffic, or an agency selling that work and needing a before and after audit across a client list.
Billing
You are charged per domain analyzed, plus a small actor start fee. A repeat run inside the 7 day cache window costs nothing new.
Pricing is on the actor's Apify page. Running this server consumes Apify credits.
What this server does and does not do
It is a thin client for the Apify actor. It passes your input through and returns the actor's output unchanged. Every behavior described above lives in the actor, not here.
The tool starts the actor run and polls it to a finished status, so a long run is not cut off at 300 seconds. The run is allowed 1,800 seconds. If it is still going two minutes after that, the call stops waiting and returns the run ID with a link to it in the Apify Console, where the results land when it finishes. A run that does not succeed comes back as an error with its run ID and status.
Errors are surfaced, never swallowed. An invalid input, an invalid token, an exhausted balance, a timeout, or a run that returns anything other than a dataset all come back as an explicit tool error rather than as an empty result.