Static pre-check · Fri, 07 Aug 2026 06:49:39 GMT
openrouter.ai
AI agents can navigate OpenRouter's LLM interface well, but the missing MCP server advertisement blocks proper tool discovery and integration.
Watch a real agent use your site →
A live Claude Code run against openrouter.ai, 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.
Discovery 21.1/22.2
Homepage has a descriptive titledetailsWARN
title is 82 characters (truncated in most surfaces)
Fix: Trim the <title> to 70 characters or fewer so it is not cut off.
API reference linked from the homepagedetailsPASS
1 API link(s), e.g. /docs/api_reference/overview
Canonical URL declareddetailsPASS
https://openrouter.ai
Documentation linked from the homepagedetailsPASS
5 docs link(s), e.g. /docs/quickstart
Homepage has a meta descriptiondetailsPASS
78 characters
Open Graph tags presentdetailsPASS
og:title and og:description present
robots.txt allows agent crawlersdetailsPASS
all 6 agent crawlers may fetch /
robots.txt existsdetailsPASS
HTTP 200, 83 bytes
robots.txt points at the sitemapdetailsPASS
robots.txt has a Sitemap: line
sitemap.xml exists and parsesdetailsPASS
6174 URL(s) listed
Brand findable in agent searchdetailsN/A
search-based checks are deferred — excluded from the score
Listed in an MCP registrydetailsN/A
registry lookup not implemented in v1 — excluded from the score rather than guessed
Accessibility 31.2/33.3
Serves markdown when asked for itdetailsWARN
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.
Content-to-markup ratio is reasonabledetailsWARN
ratio 0.0118 — 2828 readable chars in 239876 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.
Docs are readable without JavaScriptdetailsPASS
9741 characters of text at /docs
Homepage responds to an agent requestdetailsPASS
HTTP 200 for / (agent UA)
Served over HTTPSdetailsPASS
https://openrouter.ai/
Structured data (JSON-LD) on the homepagedetailsPASS
2 valid block(s) (Organization, WebSite)
llms-full.txt is publisheddetailsPASS
HTTP 200, 2000000 bytes
llms.txt is publisheddetailsPASS
HTTP 200, 44089 bytes
Links in llms.txt resolvedetailsPASS
5 sampled link(s) all resolve
llms.txt is structured markdowndetailsPASS
has headings and markdown links
Same response for agents and browsersdetailsPASS
both User-Agents got HTTP 200
Homepage has readable text without JavaScriptdetailsPASS
2828 characters of text in the served HTML
No long redirect chain on the homepagedetailsPASS
0 redirect(s)
Usability 35.8/44.4
.well-known/mcp.json advertises an MCP serverdetailsFAIL
/.well-known/mcp.json is served but is not valid JSON
Fix: Fix the JSON at /.well-known/mcp.json — as served it cannot be parsed, so the advertisement does nothing.
The /api root behaves predictablydetailsWARN
/api → HTTP 200 text/html; charset=utf-8
Fix: Serve JSON from API paths, with an accurate content-type.
Errors are machine-readabledetailsWARN
a nonexistent path returned HTTP 200, not 404
Fix: Return 404 for paths that do not exist. A 200 on a missing page makes an agent believe it found something.
agents.md is publisheddetailsPASS
HTTP 200, 6305 bytes
A documentation endpoint respondsdetailsPASS
/docs → HTTP 200
OpenAPI declares its auth schemedetailsPASS
2 scheme(s): apiKey, bearer
OpenAPI operations are describeddetailsPASS
96/96 operations described (100%)
OpenAPI document publisheddetailsPASS
HTTP 200, 1741094 bytes of JSON
OpenAPI documents error responsesdetailsPASS
435 error response(s) with a schema
OpenAPI document is structurally validdetailsPASS
OpenAPI 3.1.0, 72 path(s)
MCP server completes the initialize handshakedetailsN/A
no MCP endpoint found to probe (none in the input URL and none advertised at /.well-known/mcp.json)
MCP tool parameters are typed and describeddetailsN/A
no listed MCP tools to inspect
Every MCP tool has a descriptiondetailsN/A
no listed MCP tools to inspect
MCP server lists toolsdetailsN/A
no MCP endpoint to probe
Payments not applicable — excluded from the score
Serves a 402 payment challengedetailsN/A
no agent-payment rail published — not applicable. This layer is excluded from the score rather than counted against the site.
Declares AP2 / ACP supportdetailsN/A
no agent-payment rail published — not applicable. This layer is excluded from the score rather than counted against the site.
Publishes x402 payment metadatadetailsN/A
no agent-payment rail published — not applicable. This layer is excluded from the score rather than counted against the site.
Badge
Shows the current scan score and grade for this domain, straight from the latest static pre-check.
[](/score/openrouter.ai)<a href="/score/openrouter.ai"><img src="/api/badge/openrouter.ai" alt="agent readiness score" /></a>