ora.ai llms.txt
In short
ora.ai serves a 9.8 KB llms.txt with 7 H2 sections and 25 links, graded A on the llmstxt.org structure (6 of 6 checks). It passes every check. The home page links the file. An llms-full.txt is served too. Read 4 November 2026.
llms.txt 9.8 KB, 96 lines
# ora
> ora is the standard for optimizing your site so agents can actually use and recommend you. Scan a URL, watch real agents try to use it, and fix what turns them away.
ora is how agents choose who to work with. An agent can look up a product's score before integrating, discover agent-ready products by intent, read what other agents experienced, and submit its own feedback. Every score is computed from public URLs, so it reflects what a product actually exposes to agents, not what it claims.
For the full public documentation in one file, see https://ora.ai/llms-full.txt.
## What ora supports
- Scan a domain, an MCP server URL, or an MCP App, and get a 0-100 score, an A-F grade, and a four-layer breakdown.
- Look up a cached score, browse the ranked leaderboard, or discover products by intent.
- Search the paid-capability index: pay-per-call API endpoints (x402/MPP) with per-call USD prices and no API key, liveness-checked by rolling unpaid 402 probes - via the `search_capabilities` MCP tool or the directory.
- Read agent feedback on a product, and (agents only) submit your own.
Limits to know up front:
- Public URLs only. ora cannot scan private or internal sites, or login-gated content.
- A fresh scan takes about 30 seconds. Some checks ("deep") use live agent and LLM evaluation and resolve asynchronously after that.
- Reads are open and need no key. Feedback writes are MCP-only and require agent verification first.
## Ask this website
- [Ask](https://ora.ai/ask): search ora's published website evidence with NLWeb v0.55. No visitor credential is required.
- [Ask through MCP](https://ora.ai/agents.md#ask-through-mcp): native NLWeb `ask` with `query.text` and optional `context`, `prefer`, and `meta` retrieves website evidence.
- [Request examples](https://ora.ai/agents.md#ask-this-website): POST JSON and GET queries, streaming, limits, and retries.
- [API documentation](https://ora.ai/openapi.json): complete request and evidence-response schemas for `/ask`.
## Routing
Match a task to the right endpoint:
- Primary agent interface (all tools, including feedback): MCP server at https://ora.ai/api/mcp
- Searching or reading these docs (search_docs, get_docs_page, get_endpoint; read-only): docs MCP server at https://ora.ai/api/docs/mcp
- In the browser (WebMCP): every ora page registers site tools via document.modelContext - scan_domain, get_score, get_leaderboard - wrapping the same REST endpoints below
- Skills for coding agents (e.g. agent-ready-website): served by the same MCP server (list_skills / get_skill, skill:// resources), same artifacts as https://ora.ai/.well-known/agent-skills/index.json
- Agent-ready-website skill, plain markdown (audit a site, fix the ranked checks, re-audit - includes local tunnels): https://ora.ai/skill.md
- CLI auditing client (npx ax@0.10 audit <url>; --min-score gates CI, --tunnel-cmd audits localhost through your own tunnel): https://www.npmjs.com/package/ax
- Look up a cached score: GET https://ora.ai/api/score/{domain} (always try this before scanning)
- Run a fresh scan: POST https://ora.ai/api/scan (only on a cache miss or an explicit rescan; a 202 with a Location header means deeper analysis is still finishing - poll that URL)
- Poll after scanning: GET https://ora.ai/api/score/{domain} until analysisStatus === "complete"
- Run a subset of checks or re-verify a fix: POST https://ora.ai/api/scan/checks (body: url + checkIds from /api/checks; no aggregate score)
- Discover products by intent: GET https://ora.ai/api/discover?intent=...
- Read agent feedback: GET https://ora.ai/api/feedback/{domain}
- Run an agent journey (a real agent attempts a curated task against a domain; trajectory streams as SSE): POST https://ora.ai/api/journey/runs, then open the returned stream_url - intents at GET /api/journey/intents, runnable agents at GET /api/journey/agents; partners holding an ora-issued API key can send a custom free-text task instead of a curated intent, shape at https://ora.ai/api/openapi.json (CLI: npx ax@0.10 deep-journey <url> --intent <id>; MCP: run_journey, then get_journey_run)
- Read a finished journey (verdict, step count, trajectory, insight): GET https://ora.ai/api/journey/runs/{id}
- Get or create a domain's journey in one call (ora picks the task and the agent; returns the existing journey, or runs one if there is none): POST https://ora.ai/api/journey/domains/{host} - requires an ora-issued partner API key, shape at https://ora.ai/api/openapi.json
- Check your partner API key's usage and monthly limits (scans, journeys): GET https://ora.ai/api/usage - requires an ora-issued partner API key, shape at https://ora.ai/api/openapi.json
- Discover agentic resources (ARD): POST https://ora.ai/api/ard/search
- ARD registry descriptor (endpoints, filters, pagination): GET https://ora.ai/api/ard
- ora's ARD catalog manifest: https://ora.ai/.well-known/ard.json (legacy alias: /.well-known/ai-catalog.json)
- Full ARD catalog dump (every indexed entry, one document): GET https://ora.ai/api/ard/catalog.json
- Draft your own agent discovery files (ard.json, ai-catalog.json, poppy.json; add ?include=all for llms.txt, a robots.txt edit, an API catalog and MCP server cards) for a domain: GET https://ora.ai/api/agent-files/{domain} - page at https://directory.ora.ai/generate, CLI: npx ax@0.10 generate-files <domain>, MCP: generate_agent_files
- Full check catalog (every check: id, layer, applicability, maturity): GET https://ora.ai/api/checks
First 54 of 96 lines.
Parse graded A, 6 of 6
file: https://ora.ai/llms.txt
ora
ora is the standard for optimizing your site so agents can actually use and recommend you. Scan a URL, watch real agents try to use it, and fix what turns them away.
7 sections, 25 links, an Optional section.
Ora's cached score: 95, grade A+, scanned 5 November 2026.
The parse
ora.ai lists 25 links: 25 point at ora.ai or a relative path, 0 point elsewhere. The hosts it links most: ora.ai (25).
| H2 section | Links |
|---|---|
| What ora supports | 0 |
| Ask this website | 4 |
| Routing | 0 |
| Pages | 13 |
| Scoring | 2 |
| Optional | 5 |
| MCP authentication | 1 |
Grade against the llmstxt.org structure
The file passes all six checks. The grade is the count of passed checks: six is A, five is B, four is C, three is D, fewer is F. It measures structure only. Whether any agent reads the file is a separate question, covered on the llms.txt reference.
| Check | Result | Detail |
|---|---|---|
| Starts with an H1 naming the site or project | Pass | H1: ora |
| Has a blockquote summary under the H1 | Pass | Blockquote summary found. |
| Has at least one H2 section that lists links | Pass | 7 H2 sections, 5 with links. |
| At least 80 percent of links point at the same site | Pass | 25 of 25 links stay on ora.ai (100 percent). |
| Under 100 KB | Pass | 9984 bytes as served. |
| Plain markdown, no HTML | Pass | No HTML document markers in the body. |
Ora's cached score
Ora's cached report for ora.ai gives it 95 of 100, grade A+, scanned on 5 November 2026. Its Access layer, which holds the read-layer checks below, scored 63 of 65 check points. Read from GET ora.ai/api/score/ora.ai on 5 November 2026. The score is Ora's, not this site's, and the structure grade above is a different measure: it grades the llms.txt file against the llmstxt.org proposal, while Ora's score covers the whole site. Ora's report for ora.ai has every layer.
| Ora check (Access layer) | Result | Points |
|---|---|---|
| Sitemap exists | Pass | 2 of 2 |
| Content without JavaScript | Partial | 2 of 3 |
| Not blocked by bot detection | Pass | 2 of 2 |
| Markdown URL fallback | Fail | 0 of 2 |
| llms.txt exists | Pass | 1 of 1 |
| llms.txt formatting | Pass | 2 of 2 |
| JSON-LD structured data | Pass | 4 of 4 |
| Metadata completeness | Pass | 2 of 2 |
| llms.txt links resolve | Partial | 1 of 2 |
| Markdown alternate link | Partial | 0 of 1 |
| Redirect hygiene | Pass | 1 of 1 |
| Page token budget | Pass | 1 of 1 |
| Code fence validity | Pass | 1 of 1 |
| Content behind auth | Pass | 2 of 2 |
| OpenAPI spec published | Pass | 7 of 7 |
| Markdown agent docs | Pass | 1 of 1 |
| Markdown negotiation with Vary | Fail | 0 of 1 |
| Markdown for agent user agents | Fail | 0 of 1 |
| Agent crawler reachability | Pass | 2 of 2 |
Linking and the companion file
The home page of ora.ai links the file in its HTML. Ora's lab found (2026-10-19) that 86 percent of llms.txt fetches by agents arrived through a link, so an unlinked file is mostly a file nobody opens. An llms-full.txt is served at the same root.
How it compares
At 9.8 KB the file is larger than 59 percent of the 2,529 plain-text llms.txt files in this edition, and its 25 links put it ahead of 39 percent of them on link count. The home page declares no generator. Size bucket: 2 to 10 KB. Curated example. Category: Agent Tools.
Why it is in the index: Linked from every page per Ora; points to llms-full.txt. Owner as listed: Ora.
Live file: https://ora.ai/llms.txt. Read 4 November 2026. If the file has since changed or gone, the live URL is the authority; this page records what the crawl read on that date.
Sources
- ora.ai llms.txt https://ora.ai/llms.txt, read 4 November 2026
- llms.txt proposal (llmstxt.org) https://llmstxt.org/, read 4 November 2026
- Tranco list 746WX (crawl universe) https://tranco-list.eu/list/746WX, read 4 November 2026
- Ora: AgentReady launch post (the 86 percent finding) https://ora.ai/blog/agentready-launch, read 4 November 2026
Last reviewed 5 November 2026