New · Self-serve audits are live — real Claude Code & Cursor runs against your MCP server, SDK, or CLI →
A88/100

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.

27 pass · 5 warn · 1 fail · 9 n/a
Discovery
21.1/22.2
Accessibility
31.2/33.3
Usability
35.8/44.4
Payments
n/a

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.

agent readiness badge for openrouter.ai
[![agent ready](/api/badge/openrouter.ai)](/score/openrouter.ai)
<a href="/score/openrouter.ai"><img src="/api/badge/openrouter.ai" alt="agent readiness score" /></a>