robots.analysis
100.0% confidence- Allowed agent user count
- 3
- Allowed retrieval count
- 3
- Availability
- available
- Explicit agent user count
- 1
- Explicit ai crawler count
- 4
- Group count
- 10
- Known policy count
- 5
- Same origin schema map url count
- 1
69/ 100
NEEDS WORK
AI agents can use parts of this site, but important gaps can stop or confuse them.
These changes have the largest effect on the current result.
Return errors in one consistent format that agents can understand.
Publish the standard files that tell agents how to request access safely.
Publish the standard files that tell agents how to request access safely.
Link to public pricing and describe the main price model in page text.
Publish a UCP business profile at /.well-known/ucp.
56 checks passed. 45 need attention. 13 could not be verified. Checks that do not apply stay out of the score.
Results that need attention are listed first. Open a row for its reason and recommended change.
The public MCP server has no A2UI resource signal.
Publish an A2UI presentation resource and link it from the tool that produces its data.
The product page does not advertise a public GitHub source repository.
Link the canonical public GitHub repository from the product page.
The fixed discovery documents do not publish an agent_auth chain.
Publish protected-resource metadata and an agent_auth block that points to /auth.md.
The agent-mode query returned a normal HTML view or another unsuitable representation.
Return a dedicated JSON, Markdown, or plain-text agent view.
The product page does not advertise a public GitHub source repository.
Link the canonical public GitHub repository from the product page.
The checked llms.txt and dedicated instruction paths do not explain when an agent should use the product.
Add a specific when-to-use section to llms.txt or a dedicated agent instruction document.
The product page does not provide a usable public CLI path.
Publish a CLI, a copyable install command, and a stable public documentation or package link.
No write operation declares an Idempotency-Key header.
Add an Idempotency-Key header parameter to retryable POST, PUT, PATCH, and DELETE operations.
The identified bot request received text/html, not Markdown.
Optionally serve a Markdown representation to the truthful AgentReadinessBot identity.
The missing-path response is not a structured JSON error.
Return application/problem+json or a stable JSON error object for API errors.
The MCP discovery documents do not declare a modern transport.
Publish a valid Streamable HTTP remote in the MCP server card.
The page does not declare a Markdown alternate.
Add a link rel=alternate with type=text/markdown and a stable URL.
The product page has no reachable multi-language SDK evidence.
Link stable public SDK pages or package pages and identify their programming languages.
The product page does not link an NPM or PyPI SDK package.
Publish an SDK package and link its exact NPM or PyPI package page.
The fixed discovery paths did not provide a usable OAuth authorization-server signal.
Publish RFC 9728 protected-resource metadata and RFC 8414 authorization-server metadata.
The scan did not find authorization-server metadata at the fixed well-known path.
Publish RFC 8414 metadata at /.well-known/oauth-authorization-server.
The scan did not find OAuth protected resource metadata.
Publish RFC 9728 metadata at /.well-known/oauth-protected-resource.
No pricing link or pricing language was found.
Link to public pricing and describe the main price model in page text.
The contract has no batch path or array request operation.
Add a bounded batch endpoint for repeated write operations.
The OpenAPI document does not declare a sandbox or test environment.
Add a separate sandbox server declaration or an explicit environment server variable.
The discovered OAuth metadata does not declare supported scopes.
Publish scopes_supported in protected-resource or authorization-server metadata.
The scan did not find a UCP business profile.
Publish a UCP business profile at /.well-known/ucp.
The bounded Wikidata search found no entity with verified ownership of this domain.
Add the official website to the correct Wikidata entity, or link the correct Wikidata or Wikipedia page from structured data.
The API catalog is usable, but its media type or HEAD Link relation is incomplete.
Serve Linkset JSON and include rel=api-catalog in the HEAD response.
The contract is partly self-describing, but some operation metadata or parameter types are incomplete.
Give every operation a unique operationId, a description, typed parameters, and shallow schemas.
The document has some semantic structure, but its landmarks or heading order are incomplete.
Use one main region, a navigation landmark, one clear H1, and sequential heading levels.
The probe returns the correct missing status, but its body lacks concise discovery guidance.
Point missing-page clients to llms.txt, sitemap.xml, or the documentation index.
7 of 8 sampled content page(s) were publicly readable.
Fix broken content links and publish non-empty pages without a login wall.
The MCP App omits CSP metadata and therefore uses the restrictive default policy.
Declare the minimum external origins that the view must connect to, load, or frame.
Only some listed tools meet this requirement.
Give each tool a typed object inputSchema and keep required names in properties.
The MCP server card has only 2 of 3 branding signals.
Add a display title, useful description, and absolute HTTP icon URL.
Only some resource descriptors have a valid name, URI, and media type.
Add a valid name, absolute URI, and media type to every resource descriptor.
Only some listed tools meet this requirement.
Add boolean readOnlyHint and destructiveHint annotations to each tool.
Only 2 of 4 served Markdown documents have complete frontmatter metadata.
Start every served Markdown document with title and description, canonical, or last-updated metadata.
The route returned JSON server-sent events, but the NLWeb event lifecycle is incomplete.
Send one valid start event, zero or more result or error events, and one complete event.
The official MCP Registry has an active name match, but the scan could not verify domain or repository ownership.
Add the product domain or canonical public repository to the registry server metadata.
The MCP server exposes product operations, but no documentation-oriented tool or resource was classified.
Add a clearly named documentation, reference, guide, help, schema, or overview tool or resource.
Only 2 of 17 GET operations declare pagination signals.
Use one consistent cursor or page shape on list operations.
Typed success response schemas cover only 65.4% of operations.
Define a typed success response schema for every operation.
Only 35 of 54 declared error responses have typed schemas.
Use one typed error schema or application/problem+json for every 4xx and 5xx response.
The page links to only 3 trust-page category or categories.
Link to public about, contact, privacy, terms, and security pages.
The source refers to WebMCP, but declarations are incomplete or use only the deprecated navigator form.
Use complete toolname and tooldescription attributes or document.modelContext.registerTool().
The walkthrough is usable in part, but its discovery chain or route map is incomplete.
Document every credential lifecycle stage and link it to valid protected-resource and authorization-server metadata.
7 sampled link(s) resolved, but 1 did not.
Fix or remove each broken link. A 200 homepage fallback is also a broken target.
robots.txt explicitly addresses only 1 agent-user token(s).
State an explicit policy for user-directed agent fetchers.
The scan did not collect valid ranked web-search evidence for this query.
Configure the ranked search provider and run capture profile version 26 to collect new evidence.
The scan did not collect valid ranked web-search evidence for this query.
Configure the ranked search provider and run capture profile version 26 to collect new evidence.
The scan did not collect valid ranked web-search evidence for this query.
Configure the ranked search provider and run capture profile version 26 to collect new evidence.
The scan did not collect usable GraphQL introspection evidence.
Run capture profile version 17 and permit bounded public introspection.
The scan did not collect usable GraphQL introspection evidence.
Run capture profile version 17 and permit bounded public introspection.
The scan did not collect usable GraphQL introspection evidence.
Run capture profile version 17 and permit bounded public introspection.
The scan did not collect usable GraphQL introspection evidence.
Run capture profile version 17 and permit bounded public introspection.
The scan did not collect usable GraphQL introspection evidence.
Run capture profile version 17 and permit bounded public introspection.
The scan did not collect usable GraphQL introspection evidence.
Run capture profile version 17 and permit bounded public introspection.
The scan could not collect the required discovery evidence.
Run capture profile version 3 and confirm that robots and network access permit this request.
The scan could not collect the required discovery evidence.
Run capture profile version 3 and confirm that robots and network access permit this request.
The scan did not collect valid public skills.sh catalog evidence.
Run capture profile version 25 to collect skills.sh evidence.
The scan did not collect valid public skills.sh catalog evidence.
Run capture profile version 25 to collect skills.sh evidence.
A valid A2A Agent Card is available.
A structured catalog is published at /.well-known/ai-catalog.json.
No configured instruction-risk pattern was found in the evaluated hidden accessibility text.
All 91 detected controls have a computed source name.
All 2 skill entries have the v0.2.0 type, URL, and SHA-256 digest fields.
robots policy permits all 3 evaluated retrieval crawlers at the root path.
The Agent Skills index describes 2 skill(s).
The scan found public entry links and documentation plus 4 of five bounded onboarding signals.
A structured agentic resource catalog is available at /.well-known/ard.json.
The source HTML has 1944 visible text characters.
The page links to 1 developer target(s).
All 2 form fields have an explicit computed label.
The operations have unique names, descriptions, typed inputs, and bounded schema depth.
The final response has 9 parsed Link header value(s) with relations.
JSON-LD has 3 unique sameAs link(s).
The page has 1 valid JSON-LD block(s).
The linked MCP App view was reachable through resources/read and returned valid UI content.
A sampled MCP App view has a complete document and at least five UI quality signals.
A tool uses the current MCP Apps resource link and its UI resource is valid.
The server returns a structured error for a guaranteed unlisted tool name.
Every sampled resource returns non-empty content with a URI and media type.
The server card has complete identity, endpoint, and 13 tool preview(s).
The server returns a supported protocol version, name, version, and instructions.
The site exposes a static MCP endpoint or manifest signal.
Each listed tool has a useful description.
The server lists at least three tools in a valid response.
All inspected tool names are descriptive and use one consistent convention.
A bounded well-known MCP endpoint, server card, or manifest signal is available.
/index.md is a valid Markdown representation.
The canonical root returns valid Markdown when Accept prefers text/markdown.
All 6 served Markdown document(s) have balanced CommonMark fences.
The negotiated Markdown response varies its cache key on Accept.
All 9 metadata fields are present.
A structured scoped llms.txt file is available at /docs/llms.txt.
POST /ask returned a valid NLWeb protocol response for the fixed public list query.
robots.txt publishes 1 structurally valid Schema Map URL(s).
All 91 detected controls use native HTML semantics.
The scanner received the target content without a bot block.
A valid OpenAPI document is available.
The Organization entity has all 6 fields.
The estimated visible-text size is 486 tokens.
A readable Markdown pricing file is available at /pricing.md.
The page links to 4 API or documentation target(s).
A documented GET operation returned a successful machine-readable response.
All 1 declared 202 responses provide a polling location or job status field.
The contract declares API versioning and a machine-readable deprecation signal.
The target uses 0 same-origin redirect(s) with no downgrade or redirect error.
All 5 catalog entries have a domain-bound urn:air identifier, display name, media type, and exactly one target.
All 5 trust manifests have a structurally valid identity binding.
The page declares 7 JSON-LD types.
The directory has 1 structurally valid Ed25519 key(s) with unique key IDs.
A non-placeholder Markdown walkthrough is available at /auth.md.
auth.md covers 7 walkthrough stages and 4 machine-readable anchor terms.
A non-empty /llms.txt file is available.
llms.txt has one leading H1, section headings, and Markdown links.
robots.txt has explicit policies for 4 known AI crawler tokens.
No commerce or payment protocol signal was found.
No commerce or payment protocol signal was found.
No commerce or payment protocol signal was found.
The primary public request did not return 401, so an authentication challenge hint was not required.
No identity, claim, or events endpoint was advertised.
The MCP endpoint appears public and no OAuth metadata was published. A static HEAD probe cannot classify it as a docs or product server.
No OAuth authorization server was published for the public MCP signal.
No commerce or payment protocol signal was found.
The primary public response is not rate limited and exposes no API rate-limit contract.
No commerce or payment protocol signal was found.
Open a rule to inspect its HTTP and extracted evidence.
robots.analysis
100.0% confidencerobots.policy
100.0% confidencehttps://ora.ai/robots.txt
transport.fetch
100.0% confidencehttps://ora.ai/
discovery.a2a_agent_card
100.0% confidencediscovery.acp_checkout_options
100.0% confidencediscovery.acp_delegate_payment_options
100.0% confidencediscovery.agent_friendly_404
100.0% confidencediscovery.agent_instructions
100.0% confidencediscovery.agent_mode_view
100.0% confidencediscovery.agent_skills_index
100.0% confidencediscovery.ai_catalog
100.0% confidencediscovery.api_catalog
100.0% confidencediscovery.api_catalog_head
100.0% confidencediscovery.ard_catalog
100.0% confidencediscovery.auth_md
100.0% confidencediscovery.llms_txt
100.0% confidencediscovery.markdown_negotiation
100.0% confidencediscovery.markdown_url_fallback
100.0% confidencediscovery.mcp_endpoint
100.0% confidencediscovery.mcp_manifest
100.0% confidencediscovery.mcp_server_card
100.0% confidencediscovery.modular_llms_txt
100.0% confidencediscovery.oauth_authorization_server
100.0% confidencediscovery.oauth_protected_resource
100.0% confidencediscovery.openapi
100.0% confidencediscovery.pricing_markdown
100.0% confidencediscovery.sitemap
100.0% confidencediscovery.ucp
100.0% confidencediscovery.web_bot_auth_directory
100.0% confidencediscovery.x402
100.0% confidencehttps://ora.ai/sitemap.xml
https://ora.ai/llms.txt
https://ora.ai/pricing.md
https://ora.ai/.well-known/agent-card.json
https://ora.ai/.well-known/api-catalog
https://ora.ai/.well-known/api-catalog
https://ora.ai/.well-known/oauth-protected-resource
https://ora.ai/.well-known/ucp
https://ora.ai/openapi.json
https://ora.ai/auth.md
https://ora.ai/.well-known/oauth-authorization-server
https://ora.ai/index.md
https://ora.ai/
https://ora.ai/.well-known/agent-readiness-probe/not-found-7b91e8d4
https://ora.ai/.well-known/agent-skills/index.json
https://ora.ai/docs/llms.txt
https://ora.ai/.well-known/agent-instructions.md
https://ora.ai/agent-instructions.md
https://ora.ai/.well-known/ard.json
https://ora.ai/.well-known/ai-catalog.json
https://ora.ai/.well-known/mcp
https://ora.ai/.well-known/mcp/server-card.json
https://ora.ai/.well-known/mcp/manifest.json
https://ora.ai/.well-known/http-message-signatures-directory
https://ora.ai/
https://ora.ai/checkout_sessions
https://ora.ai/agentic_commerce/delegate_payment
https://ora.ai/discovery/resources
links.agent_auth
100.0% confidencelinks.docs_access
100.0% confidencelinks.llms
100.0% confidencelinks.public_api
100.0% confidencehttps://ora.ai/.well-known/agent-card.json
https://ora.ai/.well-known/mcp.json
https://ora.ai/about
https://ora.ai/agents.md
https://ora.ai/api/llms.txt
https://ora.ai/api/mcp
https://ora.ai/api/openapi.json
https://ora.ai/blog
https://ora.ai/api/ard
mcp.inspection
100.0% confidencehttps://ora.ai/api/mcp
https://ora.ai/api/mcp
https://ora.ai/api/mcp
https://ora.ai/api/mcp
https://ora.ai/api/mcp
https://ora.ai/api/mcp
https://ora.ai/api/mcp
https://ora.ai/api/mcp
nlweb.inspection
100.0% confidencehttps://ora.ai/ask
https://ora.ai/ask
https://ora.ai/ask
graphql.inspection
100.0% confidencehttps://ora.ai/graphql
https://ora.ai/api/graphql
https://ora.ai/api/graphql
mcp_apps.inspection
100.0% confidencehttps://ora.ai/api/mcp
https://ora.ai/api/mcp
https://ora.ai/api/mcp
https://ora.ai/api/mcp
https://ora.ai/api/mcp
https://ora.ai/api/mcp
https://ora.ai/api/mcp
developer_tooling.inspection
100.0% confidencerepository.inspection
100.0% confidencemcp_registry.inspection
100.0% confidencehttps://registry.modelcontextprotocol.io/robots.txt
https://registry.modelcontextprotocol.io/v0.1/servers
wikimedia.inspection
100.0% confidencehttps://api.wikimedia.org/robots.txt
https://api.wikimedia.org/core/v1/wikidata/search/page
https://api.wikimedia.org/core/v1/wikidata/page/Q656774/html
skills_sh.inspection
100.0% confidencehttps://www.skills.sh/robots.txt
https://www.skills.sh/eralabs-ai
ranked_search.inspection
100.0% confidencehttp.semantics
100.0% confidenceresponse.semantics
100.0% confidencehtml.accessibility
90.0% confidenceStructured evidence was stored. This view has no safe summary for it yet.
html.content
100.0% confidencehtml.discovery
100.0% confidenceStructured evidence was stored. This view has no safe summary for it yet.
html.forms
100.0% confidencehtml.images
100.0% confidencehtml.links
100.0% confidencehtml.metadata
100.0% confidencehtml.structure
100.0% confidencehtml.structured_data
100.0% confidencehtml.web_mcp
90.0% confidenceImmutable scan identity
Versioned evidence first
A later criteria version can evaluate this same stored scan without changing what the scanner observed.
Open this exact snapshotConnection lost
Reconnecting
Server error
Reconnecting