Static pre-check · Thu, 13 Aug 2026 22:05:28 GMT
AI agents struggle to parse homepage content due to JavaScript rendering requirements and lack of LLMs.txt guidance.
Watch a real agent use your site →
A live Claude Code run against factset.com, streamed step by step.
Test this with real agents →
An audit: measured success rates from repeated real agent runs, with confidence intervals and downloadable evidence.
https://www.factset.com/
150 characters
'FactSet | Financial Data, Market Analytics & AI Solutions' (57 chars)
Shows the current scan score and grade for this domain, straight from the latest static pre-check.
[](/score/factset.com)<a href="/score/factset.com"><img src="/api/badge/factset.com" alt="agent readiness score" /></a>og:title and og:description present
all 6 agent crawlers may fetch /
HTTP 200, 69 bytes
robots.txt has a Sitemap: line
963 URL(s) listed
no homepage links to inspect
no homepage links to inspect (see the accessibility checks — the homepage produced no parseable navigation)
site advertises no MCP endpoint — a registry listing is not expected
/llms.txt not served (HTTP 404)
Fix: Publish /llms.txt: a plain-markdown index that tells an agent what this product is and where the authoritative docs live. It is the cheapest high-leverage file you can add.
only 0 characters of readable text in the served HTML
Fix: Server-render the homepage's core content (SSR, static export, or prerendering). A client-rendered shell is empty to every agent.
no JSON-LD blocks on the homepage
Fix: Add a JSON-LD block (schema.org Organization or SoftwareApplication) so agents get your name, description and links as data rather than prose.
/llms-full.txt not served
Fix: Optional but cheap: publish /llms-full.txt with your docs inlined as one markdown file, so an agent can read everything in a single fetch.
Accept: text/markdown → text/html; charset=utf-8
Fix: Optional but increasingly expected: honour `Accept: text/markdown` by serving a markdown rendering of the page, so agents skip HTML parsing entirely.
ratio 0.0 — 0 readable chars in 6473 bytes of HTML
Fix: Most of what you serve is markup and inline script rather than content. Reduce inline payloads or server-render more text so the signal-to-noise ratio favours readers.
HTTP 200 for / (agent UA)
https://www.factset.com/
both User-Agents got HTTP 200
1 redirect(s)
/docs not served (HTTP 404) — docs may live on another path or host
no llms.txt
no llms.txt to parse
/agents.md not served (HTTP 404)
Fix: Publish /agents.md: what an agent may do here, which endpoints matter, auth requirements, and rate limits. It is the agent-facing counterpart to a README.
/docs → HTTP 404
Fix: Serve docs at the conventional /docs path, or redirect it to wherever they live. Agents try conventional paths first.
404 returns HTML, not a machine-readable body
Fix: Content-negotiate your errors: return a JSON body with a stable `code` (and a `next_action` where recovery exists) to clients that ask for JSON.
/openapi.json not served (HTTP 404)
Fix: If you have an HTTP API, publish its OpenAPI document at a predictable path (/openapi.json). It is the difference between an agent reading your contract and an agent guessing it. If you have no HTTP API, ignore this.
/.well-known/mcp.json not served (HTTP 404)
Fix: If you run an MCP server, advertise it at /.well-known/mcp.json so agents discover it without being told its URL.
/api → HTTP 404 (no API at the conventional root)
no MCP endpoint found to probe (none in the input URL and none advertised at /.well-known/mcp.json)
no listed MCP tools to inspect
no listed MCP tools to inspect
no MCP endpoint to probe
no parseable OpenAPI document
no parseable OpenAPI document
no parseable OpenAPI document
no parseable OpenAPI document
no agent-payment rail published — not applicable. This layer is excluded from the score rather than counted against the site.
no agent-payment rail published — not applicable. This layer is excluded from the score rather than counted against the site.
no agent-payment rail published — not applicable. This layer is excluded from the score rather than counted against the site.