ora.ai

https://ora.ai/

API site · Static audit

The static audit found gaps. Start with the fixes below.

Pass starts at 80 / 100. This scan does not prove that an agent can complete a purchase. Method and limits

77/ 100

NEEDS WORK

Readiness score

Core coverage
91.1% of core weight verified
Score model
v27Versioned criteria

Scanned 2026-09-30 19:02:39 UTC

What to fix first

Start with these changes. Open a fix for the finding, example, and supporting evidence.

5 priority changes
  1. 1

    Publish a usable API contract

    +5.3 points estimated

    Link public API instructions and a valid OpenAPI document. Show request and response examples.

    View findings and full example

    Suggested location: /docs

    • API catalog

      Finding: The API catalog is usable, but its media type or HEAD Link relation is incomplete.

      Change: Serve Linkset JSON and include rel=api-catalog in the HEAD response.

      Open this check and its evidence
    • Idempotency-Key support

      Finding: No write operation declares an Idempotency-Key header.

      Change: Add an Idempotency-Key header parameter to retryable POST, PUT, PATCH, and DELETE operations.

      Open this check and its evidence
    • MCP Streamable HTTP transport

      Finding: The MCP discovery documents do not declare a modern transport.

      Change: Publish a valid Streamable HTTP remote in the MCP server card.

      Open this check and its evidence
    • MCP parameter schemas

      Finding: Only some listed tools meet this requirement.

      Change: Give each tool a typed object inputSchema and keep required names in properties.

      Open this check and its evidence
    • MCP tool annotations

      Finding: Only some listed tools meet this requirement.

      Change: Add boolean readOnlyHint and destructiveHint annotations to each tool.

      Open this check and its evidence
    • MCP resources exposed

      Finding: Only some resource descriptors have a valid name, URI, and media type.

      Change: Add a valid name, absolute URI, and media type to every resource descriptor.

      Open this check and its evidence
    • MCP App view CSP

      Finding: The MCP App omits CSP metadata and therefore uses the restrictive default policy.

      Change: Declare the minimum external origins that the view must connect to, load, or frame.

      Open this check and its evidence
    • Official MCP Registry listing

      Finding: The official MCP Registry has an active name match, but the scan could not verify domain or repository ownership.

      Change: Add the product domain or canonical public repository to the registry server metadata.

      Open this check and its evidence

    Starting example

    {
      "info": {
        "title": "Example API",
        "version": "1.0.0"
      },
      "openapi": "3.1.0",
      "paths": {
        "/status": {
          "get": {
            "responses": {
              "200": {
                "description": "Service status"
              }
            }
          }
        }
      }
    }

    Adapt this example to the service. Apply every relevant change listed above, then confirm it with a new scan.

  2. 2

    Return clear error responses

    +3.4 points estimated

    Use one documented error format. Match the HTTP status to the error.

    Starting example

    HTTP/1.1 404 Not Found
    Content-Type: application/problem+json
    
    {"type":"about:blank","title":"Not found","status":404}
    View findings and full example

    Suggested location: /api

    • JSON error responses

      Finding: The missing-path response is not a structured JSON error.

      Change: Return application/problem+json or a stable JSON error object for API errors.

      Open this check and its evidence
    • REST typed error model

      Finding: Only 37 of 56 declared error responses have typed schemas.

      Change: Use one typed error schema or application/problem+json for every 4xx and 5xx response.

      Open this check and its evidence

    Starting example

    HTTP/1.1 404 Not Found
    Content-Type: application/problem+json
    
    {"type":"about:blank","title":"Not found","status":404}

    Adapt this example to the service. Apply every relevant change listed above, then confirm it with a new scan.

  3. 3

    Describe typed requests and responses

    +1.6 points estimated

    Give each operation a unique name and description. Type its inputs and successful responses, and keep schemas shallow.

    Response schema example

    {
      "properties": {
        "id": {"type": "string"},
        "status": {"type": "string"}
      },
      "type": "object"
    }
    View findings and full example

    Suggested location: OpenAPI operations and schemas

    • REST response schema coverage

      Finding: Typed success response schemas cover only 65.4% of operations.

      Change: Define a typed success response schema for every operation.

      Open this check and its evidence
    • API schema complexity

      Finding: The contract is partly self-describing, but some operation metadata or parameter types are incomplete.

      Change: Give every operation a unique operationId, a description, typed parameters, and shallow schemas.

      Open this check and its evidence

    Starting example

    {
      "info": {
        "title": "Example API",
        "version": "1.0.0"
      },
      "openapi": "3.1.0",
      "paths": {
        "/items/{id}": {
          "get": {
            "description": "Read one item by its identifier.",
            "operationId": "readItem",
            "parameters": [
              {
                "in": "path",
                "name": "id",
                "required": true,
                "schema": {
                  "type": "string"
                }
              }
            ],
            "responses": {
              "200": {
                "content": {
                  "application/json": {
                    "schema": {
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  }
                },
                "description": "Successful response"
              }
            }
          }
        }
      }
    }

    Adapt this example to the service. Apply every relevant change listed above, then confirm it with a new scan.

2 more priority changes
  1. 4

    Document a batch operation

    +1.6 points estimated

    If batch access fits the service, document the actual array request and each item result. Do not claim support before it exists.

    Response schema example

    {
      "items": {
        "properties": {
          "id": {"type": "string"},
          "status": {"type": "string"}
        },
        "type": "object"
      },
      "type": "array"
    }
    View findings and full example

    Suggested location: OpenAPI batch operations

    • REST batch endpoint

      Finding: The contract has no batch path or array request operation.

      Change: Add a bounded batch endpoint for repeated write operations.

      Open this check and its evidence

    Starting example

    {
      "info": {
        "title": "Example API",
        "version": "1.0.0"
      },
      "openapi": "3.1.0",
      "paths": {
        "/batch": {
          "post": {
            "description": "Process a list of items.",
            "operationId": "processBatch",
            "requestBody": {
              "content": {
                "application/json": {
                  "schema": {
                    "items": {
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  }
                }
              }
            },
            "responses": {
              "200": {
                "content": {
                  "application/json": {
                    "schema": {
                      "items": {
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  }
                },
                "description": "Successful response"
              }
            }
          }
        }
      }
    }

    Adapt this example to the service. Apply every relevant change listed above, then confirm it with a new scan.

  2. 5

    Document the access method

    +1.6 points estimated

    State whether access is public or needs credentials. Link the applicable authentication metadata.

    Starting example

    # Authentication
    
    Public report reads need no credentials.
    Write requests require a bearer token.
    Never put tokens in URLs.
    View findings and full example

    Suggested location: /auth.md

    • OAuth authorization-server metadata

      Finding: The scan did not find authorization-server metadata at the fixed well-known path.

      Change: Publish RFC 8414 metadata at /.well-known/oauth-authorization-server.

      Open this check and its evidence

    Starting example

    # Authentication
    
    Public report reads need no credentials.
    Write requests require a bearer token.
    Never put tokens in URLs.

    Adapt this example to the service. Apply every relevant change listed above, then confirm it with a new scan.

Estimated gains use this report's model. All checks listed in a fix must pass to earn its full estimated gain.

All checks 124Findings, recommended changes, and score weights

What this scan found

53 checks passed. 38 need attention. 15 could not be verified. Checks that do not apply stay out of the score.

Passed
53
Needs attention
38
Could not verify
15
Not applicable
18
Capture rules
19 of 19 complete
HTTP requests
74
Saved artifacts
70
Observations
61

All results

Results that need attention are listed first. Open a row for its reason and recommended change.

001 A2UI generative UI support Usability · Emerging · Informational Failed Info No score effect
Finding

The public MCP server has no A2UI resource signal.

Recommended change

Publish an A2UI presentation resource and link it from the tool that produces its data.

Check ID
a2ui-support@1
Supporting evidence
View stored observation
002 Agent Plugins manifest Discovery · Emerging · Informational Failed Info No score effect
Finding

The product page does not advertise a public GitHub source repository.

Recommended change

Link the canonical public GitHub repository from the product page.

Check ID
agent-plugins-repo@1
Supporting evidence
View stored observation
003 Agent mode view Accessibility · Emerging · Informational Failed Info No score effect
Finding

The agent-mode query returned a normal HTML view or another unsuitable representation.

Recommended change

Return a dedicated JSON, Markdown, or plain-text agent view.

Check ID
agent-mode-view@1
Supporting evidence
View stored observation
004 Agent platform repository configurations Discovery · Emerging · Informational Failed Info No score effect
Finding

The product page does not advertise a public GitHub source repository.

Recommended change

Link the canonical public GitHub repository from the product page.

Check ID
agent-rules-repo@1
Supporting evidence
View stored observation
005 Agent usage instructions Accessibility · Required · Core Failed 0 of 400
Finding

The checked llms.txt and dedicated instruction paths do not explain when an agent should use the product.

Recommended change

Add a specific when-to-use section to llms.txt or a dedicated agent instruction document.

Check ID
agent-instruction@1
006 CLI tool available Usability · Recommended · Core Failed 0 of 300
Finding

The product page does not provide a usable public CLI path.

Recommended change

Publish a CLI, a copyable install command, and a stable public documentation or package link.

Check ID
cli-tool@1
Supporting evidence
View stored observation
007 Idempotency-Key support Usability · Recommended · Core Failed 0 of 600
Finding

No write operation declares an Idempotency-Key header.

Recommended change

Add an Idempotency-Key header parameter to retryable POST, PUT, PATCH, and DELETE operations.

Check ID
idempotency-key-support@1
Supporting evidence
View stored observation
008 Identified bot Markdown serving Access · Emerging · Informational Failed Info No score effect
Finding

The identified bot request received text/html, not Markdown.

Recommended change

Optionally serve a Markdown representation to the truthful AgentReadinessBot identity.

Check ID
agent-ua-markdown@1
Supporting evidence
View stored observation
009 JSON error responses Usability · Required · Core Failed 0 of 1000
Finding

The missing-path response is not a structured JSON error.

Recommended change

Return application/problem+json or a stable JSON error object for API errors.

Check ID
json-error-responses@1
Supporting evidence
View stored observation
010 MCP Streamable HTTP transport Usability · Recommended · Core Failed 0 of 300
Finding

The MCP discovery documents do not declare a modern transport.

Recommended change

Publish a valid Streamable HTTP remote in the MCP server card.

Check ID
mcp-streamable-http@1
012 Multi-language SDK packages Usability · Recommended · Core Failed 0 of 300
Finding

The product page has no reachable multi-language SDK evidence.

Recommended change

Link stable public SDK pages or package pages and identify their programming languages.

Check ID
rest-sdk-packages@1
Supporting evidence
View stored observation
013 OAuth authorization-server metadata Usability · Recommended · Core Failed 0 of 600
Finding

The scan did not find authorization-server metadata at the fixed well-known path.

Recommended change

Publish RFC 8414 metadata at /.well-known/oauth-authorization-server.

Check ID
mcp-oauth-metadata@1
014 REST batch endpoint Usability · Recommended · Core Failed 0 of 600
Finding

The contract has no batch path or array request operation.

Recommended change

Add a bounded batch endpoint for repeated write operations.

Check ID
batch-endpoints@1
Supporting evidence
View stored observation
015 Sandbox or test environment Usability · Recommended · Informational Failed Info No score effect
Finding

The OpenAPI document does not declare a sandbox or test environment.

Recommended change

Add a separate sandbox server declaration or an explicit environment server variable.

Check ID
sandbox-environment@1
Supporting evidence
View stored observation
016 Verified Wikidata and English Wikipedia presence Discovery · Recommended · Informational Failed Info No score effect
Finding

The bounded Wikidata search found no entity with verified ownership of this domain.

Recommended change

Add the official website to the correct Wikidata entity, or link the correct Wikidata or Wikipedia page from structured data.

Check ID
wikipedia-presence@1
Supporting evidence
View stored observation
017 API catalog Access · Required · Core Warning 500 of 1000
Finding

The API catalog is usable, but its media type or HEAD Link relation is incomplete.

Recommended change

Serve Linkset JSON and include rel=api-catalog in the HEAD response.

Check ID
api-catalog-rfc9727@1
018 API schema complexity Usability · Recommended · Core Warning 300 of 600
Finding

The contract is partly self-describing, but some operation metadata or parameter types are incomplete.

Recommended change

Give every operation a unique operationId, a description, typed parameters, and shallow schemas.

Check ID
api-schema-analysis@1
Supporting evidence
View stored observation
019 Accessible document structure Usability · Recommended · Core Warning 300 of 600
Finding

The document has some semantic structure, but its landmarks or heading order are incomplete.

Recommended change

Use one main region, a navigation landmark, one clear H1, and sequential heading levels.

Check ID
ax-document-structure@1
Supporting evidence
View stored observation
020 Agent-friendly 404 responses Usability · Recommended · Core Warning 300 of 600
Finding

The probe returns the correct missing status, but its body lacks concise discovery guidance.

Recommended change

Point missing-page clients to llms.txt, sitemap.xml, or the documentation index.

Check ID
agent-friendly-404@1
Supporting evidence
View stored observation
021 Linked content is publicly readable Accessibility · Recommended · Core Warning 150 of 300
Finding

7 of 8 sampled content page(s) were publicly readable.

Recommended change

Fix broken content links and publish non-empty pages without a login wall.

Check ID
docs-public-content@1
Supporting evidence
View stored observation
022 MCP App view CSP Usability · Recommended · Core Warning 200 of 400
Finding

The MCP App omits CSP metadata and therefore uses the restrictive default policy.

Recommended change

Declare the minimum external origins that the view must connect to, load, or frame.

Check ID
mcp-view-csp@1
Supporting evidence
View stored observation
023 MCP parameter schemas Usability · Recommended · Core Warning 100 of 200
Finding

Only some listed tools meet this requirement.

Recommended change

Give each tool a typed object inputSchema and keep required names in properties.

Check ID
mcp-param-schemas@1
Supporting evidence
View stored observation
024 MCP registry branding Discovery · Emerging · Informational Warning Info No score effect
Finding

The MCP server card has only 2 of 3 branding signals.

Recommended change

Add a display title, useful description, and absolute HTTP icon URL.

Check ID
registry-branding@1
Supporting evidence
View stored observation
025 MCP resources exposed Usability · Recommended · Core Warning 150 of 300
Finding

Only some resource descriptors have a valid name, URI, and media type.

Recommended change

Add a valid name, absolute URI, and media type to every resource descriptor.

Check ID
mcp-resource-listing@1
Supporting evidence
View stored observation
026 MCP tool annotations Usability · Recommended · Core Warning 100 of 200
Finding

Only some listed tools meet this requirement.

Recommended change

Add boolean readOnlyHint and destructiveHint annotations to each tool.

Check ID
mcp-tool-annotations@1
Supporting evidence
View stored observation
027 Markdown frontmatter metadata Accessibility · Emerging · Informational Warning Info No score effect
Finding

Only 2 of 4 served Markdown documents have complete frontmatter metadata.

Recommended change

Start every served Markdown document with title and description, canonical, or last-updated metadata.

Check ID
markdown-frontmatter@1
028 NPM or PyPI SDK package Discovery · Recommended · Core Warning 50 of 100
Finding

A package page is linked, but the bounded descriptor does not identify it as an SDK.

Recommended change

Label the linked NPM or PyPI package as an SDK or API client.

Check ID
npm-sdk-package@1
Supporting evidence
View stored observation
029 Official MCP Registry listing Discovery · Recommended · Core Warning 50 of 100
Finding

The official MCP Registry has an active name match, but the scan could not verify domain or repository ownership.

Recommended change

Add the product domain or canonical public repository to the registry server metadata.

Check ID
mcp-registry-listed@1
Supporting evidence
View stored observation
030 Pricing information is accessible Access · Required · Core Warning 500 of 1000
Finding

The page has one pricing signal, but not both visible text and a pricing link.

Recommended change

Add a clear pricing link and plain-language pricing information.

Check ID
pricing-info@1
031 Product and documentation MCP coverage Usability · Recommended · Informational Warning Info No score effect
Finding

The MCP server exposes product operations, but no documentation-oriented tool or resource was classified.

Recommended change

Add a clearly named documentation, reference, guide, help, schema, or overview tool or resource.

Check ID
mcp-multi-surface-coverage@1
Supporting evidence
View stored observation
032 REST pagination pattern Usability · Recommended · Core Warning 300 of 600
Finding

Only 2 of 17 GET operations declare pagination signals.

Recommended change

Use one consistent cursor or page shape on list operations.

Check ID
pagination-shape@1
Supporting evidence
View stored observation
033 REST response schema coverage Usability · Recommended · Core Warning 300 of 600
Finding

Typed success response schemas cover only 65.4% of operations.

Recommended change

Define a typed success response schema for every operation.

Check ID
response-schema-coverage@1
Supporting evidence
View stored observation
034 REST typed error model Usability · Recommended · Core Warning 300 of 600
Finding

Only 37 of 56 declared error responses have typed schemas.

Recommended change

Use one typed error schema or application/problem+json for every 4xx and 5xx response.

Check ID
api-error-model@1
Supporting evidence
View stored observation
035 Trust anchor pages Access · Required · Core Warning 750 of 1000
Finding

The page links to only 3 trust-page category or categories.

Recommended change

Link to public about, contact, privacy, terms, and security pages.

Check ID
trust-anchors@1
Supporting evidence
View stored observation
036 WebMCP source declarations Usability · Emerging · Informational Warning Info No score effect
Finding

The source refers to WebMCP, but declarations are incomplete or use only the deprecated navigator form.

Recommended change

Use complete toolname and tooldescription attributes or document.modelContext.registerTool().

Check ID
webmcp@1
Supporting evidence
View stored observation
038 robots.txt agent-user policy Access · Required · Core Warning 500 of 1000
Finding

robots.txt explicitly addresses only 1 agent-user token(s).

Recommended change

State an explicit policy for user-directed agent fetchers.

Check ID
robots-agent-user-policy@1
Supporting evidence
View stored observation
039 Brand name discoverability Discovery · Required · Core Could not verify 0 of 0
Finding

The scan did not collect valid ranked web-search evidence for this query.

Recommended change

Configure the ranked search provider and run capture profile version 26 to collect new evidence.

Check ID
ranked-brand-discoverability@1
Supporting evidence
No linked observation was stored.
040 Category search visibility Discovery · Recommended · Core Could not verify 0 of 0
Finding

The scan did not collect valid ranked web-search evidence for this query.

Recommended change

Configure the ranked search provider and run capture profile version 26 to collect new evidence.

Check ID
ranked-category-visibility@1
Supporting evidence
No linked observation was stored.
041 Developer resource discoverability Discovery · Recommended · Core Could not verify 0 of 0
Finding

The scan did not collect valid ranked web-search evidence for this query.

Recommended change

Configure the ranked search provider and run capture profile version 26 to collect new evidence.

Check ID
ranked-developer-discoverability@1
Supporting evidence
No linked observation was stored.
042 GraphQL asynchronous job pattern Usability · Recommended · Core Could not verify 0 of 0
Finding

The scan did not collect usable GraphQL introspection evidence.

Recommended change

Run capture profile version 17 and permit bounded public introspection.

Check ID
graphql-async-job-pattern@1
Supporting evidence
No linked observation was stored.
043 GraphQL batch mutations Usability · Recommended · Informational Could not verify Info No score effect
Finding

The scan did not collect usable GraphQL introspection evidence.

Recommended change

Run capture profile version 17 and permit bounded public introspection.

Check ID
graphql-batch-mutations@1
Supporting evidence
No linked observation was stored.
044 GraphQL pagination pattern Usability · Recommended · Core Could not verify 0 of 0
Finding

The scan did not collect usable GraphQL introspection evidence.

Recommended change

Run capture profile version 17 and permit bounded public introspection.

Check ID
graphql-pagination-pattern@1
Supporting evidence
No linked observation was stored.
045 GraphQL schema description coverage Usability · Recommended · Informational Could not verify Info No score effect
Finding

The scan did not collect usable GraphQL introspection evidence.

Recommended change

Run capture profile version 17 and permit bounded public introspection.

Check ID
graphql-schema-completeness@1
Supporting evidence
No linked observation was stored.
046 GraphQL typed error model Usability · Recommended · Core Could not verify 0 of 0
Finding

The scan did not collect usable GraphQL introspection evidence.

Recommended change

Run capture profile version 17 and permit bounded public introspection.

Check ID
graphql-error-type-definition@1
Supporting evidence
No linked observation was stored.
047 GraphQL versioning and deprecation policy Usability · Recommended · Core Could not verify 0 of 0
Finding

The scan did not collect usable GraphQL introspection evidence.

Recommended change

Run capture profile version 17 and permit bounded public introspection.

Check ID
graphql-versioning-policy@1
Supporting evidence
No linked observation was stored.
048 NLWeb /ask endpoint Usability · Emerging · Informational Could not verify Info No score effect
Finding

The scan did not collect usable NLWeb inspection evidence.

Recommended change

Run capture profile version 16 to collect bounded NLWeb evidence.

Check ID
nlweb-ask@1
Supporting evidence
No linked observation was stored.
049 NLWeb streaming support Usability · Emerging · Informational Could not verify Info No score effect
Finding

The scan did not collect usable NLWeb inspection evidence.

Recommended change

Run capture profile version 16 to collect bounded NLWeb evidence.

Check ID
nlweb-streaming@1
Supporting evidence
No linked observation was stored.
050 Sitemap exists Access · Required · Core Could not verify 0 of 0
Finding

The scan could not collect the required discovery evidence.

Recommended change

Run capture profile version 3 and confirm that robots and network access permit this request.

Check ID
sitemap@1
Supporting evidence
View stored observation
051 Sitemap freshness metadata Access · Recommended · Core Could not verify 0 of 0
Finding

The scan could not collect the required discovery evidence.

Recommended change

Run capture profile version 3 and confirm that robots and network access permit this request.

Check ID
sitemap-lastmod@1
Supporting evidence
View stored observation
052 Skills.sh catalog-page quality Access · Emerging · Informational Could not verify Info No score effect
Finding

The scan did not collect valid public skills.sh catalog evidence.

Recommended change

Run capture profile version 25 to collect skills.sh evidence.

Check ID
skills-sh-quality@1
Supporting evidence
No linked observation was stored.
053 Verified skills.sh listing Discovery · Emerging · Informational Could not verify Info No score effect
Finding

The scan did not collect valid public skills.sh catalog evidence.

Recommended change

Run capture profile version 25 to collect skills.sh evidence.

Check ID
skills-sh-listed@1
Supporting evidence
No linked observation was stored.
054 AI Catalog discovery Discovery · Emerging · Informational Passed Info No score effect
Finding

A structured catalog is published at /.well-known/ai-catalog.json.

Check ID
ai-catalog-published@1
Supporting evidence
View stored observation
055 Accessibility-tree instruction safety Usability · Recommended · Core Passed 600 of 600
Finding

No configured instruction-risk pattern was found in the evaluated hidden accessibility text.

Check ID
ax-tree-injection-safe@1
Supporting evidence
View stored observation
056 Accessible names on controls Usability · Recommended · Core Passed 600 of 600
Finding

All 76 detected controls have a computed source name.

Check ID
ax-accessible-names@1
Supporting evidence
View stored observation
057 Agent Skills index conformance Discovery · Emerging · Informational Passed Info No score effect
Finding

All 2 skill entries have the v0.2.0 type, URL, and SHA-256 digest fields.

Check ID
agent-skills-index-v2@1
Supporting evidence
View stored observation
058 Agent crawler reachability Access · Recommended · Core Passed 600 of 600
Finding

robots policy permits all 3 evaluated retrieval crawlers at the root path.

Check ID
agent-crawler-reachability@1
Supporting evidence
View stored observation
059 Agent discovery file Discovery · Required · Core Passed 500 of 500
Finding

The Agent Skills index describes 2 skill(s).

Check ID
agent-discovery-file@1
Supporting evidence
View stored observation
060 Agent onboarding friction Usability · Recommended · Core Passed 200 of 200
Finding

The scan found public entry links and documentation plus 4 of five bounded onboarding signals.

Check ID
onboarding-friction@1
061 Agentic resource catalog Discovery · Emerging · Informational Passed Info No score effect
Finding

A structured agentic resource catalog is available at /.well-known/ard.json.

Check ID
ard-catalog@1
Supporting evidence
View stored observation
062 Content without JavaScript Access · Required · Core Passed 1000 of 1000
Finding

The source HTML has 2374 visible text characters.

Check ID
content-no-js@1
Supporting evidence
View stored observation
063 Developer portal Access · Recommended · Core Passed 600 of 600
Finding

The page links to 1 developer target(s).

Check ID
developer-portal@1
Supporting evidence
View stored observation
064 Form control labeling Usability · Recommended · Core Passed 600 of 600
Finding

All 3 form fields have an explicit computed label.

Check ID
ax-form-labeling@1
Supporting evidence
View stored observation
065 Function calling compatibility Usability · Recommended · Core Passed 600 of 600
Finding

The operations have unique names, descriptions, typed inputs, and bounded schema depth.

Check ID
function-calling-compat@1
Supporting evidence
View stored observation
067 JSON-LD entity linking Access · Recommended · Core Passed 600 of 600
Finding

JSON-LD has 3 unique sameAs link(s).

Check ID
json-ld-entity-linking@1
Supporting evidence
View stored observation
068 JSON-LD structured data Access · Required · Core Passed 1000 of 1000
Finding

The page has 1 valid JSON-LD block(s).

Check ID
json-ld@1
Supporting evidence
View stored observation
069 MCP App view reachable Usability · Recommended · Core Passed 400 of 400
Finding

The linked MCP App view was reachable through resources/read and returned valid UI content.

Check ID
mcp-view-domain@1
Supporting evidence
View stored observation
070 MCP Apps UI quality Usability · Recommended · Informational Passed Info No score effect
Finding

A sampled MCP App view has a complete document and at least five UI quality signals.

Check ID
mcp-apps-ui-quality@1
Supporting evidence
View stored observation
071 MCP Apps support Usability · Recommended · Core Passed 400 of 400
Finding

A tool uses the current MCP Apps resource link and its UI resource is valid.

Check ID
mcp-app-registry@1
Supporting evidence
View stored observation
072 MCP error handling Usability · Recommended · Core Passed 200 of 200
Finding

The server returns a structured error for a guaranteed unlisted tool name.

Check ID
mcp-error-handling@1
Supporting evidence
View stored observation
073 MCP resource quality Usability · Recommended · Core Passed 300 of 300
Finding

Every sampled resource returns non-empty content with a URI and media type.

Check ID
mcp-resource-quality@1
Supporting evidence
View stored observation
074 MCP server card Usability · Recommended · Core Passed 300 of 300
Finding

The server card has complete identity, endpoint, and 13 tool preview(s).

Check ID
mcp-server-card@1
Supporting evidence
View stored observation
075 MCP server identity Usability · Recommended · Core Passed 100 of 100
Finding

The server returns a supported protocol version, name, version, and instructions.

Check ID
mcp-server-identity@1
Supporting evidence
View stored observation
076 MCP server or manifest Usability · Recommended · Core Passed 500 of 500
Finding

The site exposes a static MCP endpoint or manifest signal.

Check ID
mcp-server@1
077 MCP tool descriptions Usability · Recommended · Core Passed 300 of 300
Finding

Each listed tool has a useful description.

Check ID
mcp-tool-descriptions@1
Supporting evidence
View stored observation
078 MCP tool listing Usability · Recommended · Core Passed 300 of 300
Finding

The server lists at least three tools in a valid response.

Check ID
mcp-tool-listing@1
Supporting evidence
View stored observation
079 MCP tool naming Usability · Recommended · Core Passed 200 of 200
Finding

All inspected tool names are descriptive and use one consistent convention.

Check ID
mcp-tool-naming@1
Supporting evidence
View stored observation
080 MCP well-known discovery Accessibility · Recommended · Core Passed 400 of 400
Finding

A bounded well-known MCP endpoint, server card, or manifest signal is available.

Check ID
mcp-well-known-discovery@1
081 Markdown URL fallback Access · Emerging · Informational Passed Info No score effect
Finding

/index.md is a valid Markdown representation.

Check ID
markdown-url-fallback@1
Supporting evidence
View stored observation
082 Markdown agent docs Access · Emerging · Informational Passed Info No score effect
Finding

The canonical root returns valid Markdown when Accept prefers text/markdown.

Check ID
markdown-negotiation@1
Supporting evidence
View stored observation
083 Markdown code fence validity Accessibility · Emerging · Informational Passed Info No score effect
Finding

All 6 served Markdown document(s) have balanced CommonMark fences.

Check ID
code-fence-validity@1
084 Metadata completeness Access · Required · Core Passed 1000 of 1000
Finding

All 9 metadata fields are present.

Check ID
metadata-completeness@1
Supporting evidence
View stored observation
085 Modular llms.txt Accessibility · Emerging · Informational Passed Info No score effect
Finding

A structured scoped llms.txt file is available at /docs/llms.txt.

Check ID
modular-llms-txt@1
Supporting evidence
View stored observation
086 NLWeb Schema Map directive Accessibility · Emerging · Informational Passed Info No score effect
Finding

robots.txt publishes 1 structurally valid Schema Map URL(s).

Check ID
nlweb-schema-feeds@1
Supporting evidence
View stored observation
087 Native interactive controls Usability · Recommended · Core Passed 600 of 600
Finding

All 76 detected controls use native HTML semantics.

Check ID
ax-native-controls@1
Supporting evidence
View stored observation
088 Not blocked by bot detection Access · Required · Core Passed 1000 of 1000
Finding

The scanner received the target content without a bot block.

Check ID
bot-detection@1
Supporting evidence
View stored observation
089 OpenAPI document is published Access · Required · Core Passed 1000 of 1000
Finding

A valid OpenAPI document is available.

Check ID
openapi-spec@1
Supporting evidence
View stored observation
090 Organization schema completeness Access · Recommended · Core Passed 600 of 600
Finding

The Organization entity has all 6 fields.

Check ID
org-schema-completeness@1
Supporting evidence
View stored observation
091 Page token budget Access · Recommended · Core Passed 600 of 600
Finding

The estimated visible-text size is 594 tokens.

Check ID
page-token-budget@1
Supporting evidence
View stored observation
092 Pricing Markdown exists Access · Emerging · Informational Passed Info No score effect
Finding

A readable Markdown pricing file is available at /pricing.md.

Check ID
pricing-md@1
Supporting evidence
View stored observation
093 Public API documentation is linked Access · Required · Core Passed 1000 of 1000
Finding

The page links to 4 API or documentation target(s).

Check ID
public-api-docs@1
Supporting evidence
View stored observation
094 Public API endpoint responds Usability · Required · Core Passed 700 of 700
Finding

A documented GET operation returned a successful machine-readable response.

Check ID
public-api-reachable@1
Supporting evidence
View stored observation
095 REST asynchronous job pattern Usability · Recommended · Core Passed 600 of 600
Finding

All 1 declared 202 responses provide a polling location or job status field.

Check ID
async-job-pattern@1
Supporting evidence
View stored observation
096 REST versioning and deprecation policy Usability · Recommended · Core Passed 600 of 600
Finding

The contract declares API versioning and a machine-readable deprecation signal.

Check ID
api-versioning-policy@1
Supporting evidence
View stored observation
097 Redirect hygiene Access · Recommended · Core Passed 600 of 600
Finding

The target uses 0 same-origin redirect(s) with no downgrade or redirect error.

Check ID
redirect-hygiene@1
Supporting evidence
View stored observation
098 Resource catalog entry quality Discovery · Emerging · Informational Passed Info No score effect
Finding

All 5 catalog entries have a domain-bound urn:air identifier, display name, media type, and exactly one target.

Check ID
ard-entries-valid@1
099 Resource catalog trust manifests Discovery · Emerging · Informational Passed Info No score effect
Finding

All 5 trust manifests have a structurally valid identity binding.

Check ID
ard-trust-manifest@1
100 Schema type breadth Access · Recommended · Core Passed 600 of 600
Finding

The page declares 7 JSON-LD types.

Check ID
schema-type-breadth@1
Supporting evidence
View stored observation
101 Web Bot Auth key directory Usability · Emerging · Informational Passed Info No score effect
Finding

The directory has 1 structurally valid Ed25519 key(s) with unique key IDs.

Check ID
web-bot-auth-directory@1
Supporting evidence
View stored observation
102 auth.md exists Usability · Required · Core Passed 1000 of 1000
Finding

A non-placeholder Markdown walkthrough is available at /auth.md.

Check ID
auth-md-exists@1
Supporting evidence
View stored observation
103 auth.md structure Usability · Recommended · Core Passed 600 of 600
Finding

auth.md covers 7 walkthrough stages and 4 machine-readable anchor terms.

Check ID
auth-md-structure@1
Supporting evidence
View stored observation
104 llms.txt exists Access · Required · Core Passed 1000 of 1000
Finding

A non-empty /llms.txt file is available.

Check ID
llms-txt-exists@1
Supporting evidence
View stored observation
105 llms.txt formatting Access · Recommended · Core Passed 600 of 600
Finding

llms.txt has one leading H1, section headings, and Markdown links.

Check ID
llms-txt-formatting@1
Supporting evidence
View stored observation
106 robots.txt AI crawler policy Discovery · Required · Core Passed 1000 of 1000
Finding

robots.txt has explicit policies for 4 known AI crawler tokens.

Check ID
robots-ai-policy-quality@1
Supporting evidence
View stored observation
107 A2A Agent Card Access · Recommended · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
a2a-agent-card@1
Supporting evidence
View stored observation
108 ACP checkout protocol Payments · Required · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
acp-support@1
Supporting evidence
No linked observation was stored.
109 ACP delegated payment Payments · Recommended · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
acp-delegate-payment@1
Supporting evidence
No linked observation was stored.
110 AP2 mandate capability Payments · Recommended · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
ap2-support@1
Supporting evidence
No linked observation was stored.
111 Agent auth WWW-Authenticate hint Usability · Recommended · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
agent-auth-www-authenticate@1
Supporting evidence
No linked observation was stored.
112 Agent auth discovery metadata Usability · Recommended · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
agent-auth-discovery-metadata@1
113 Agent auth endpoints respond Usability · Emerging · Informational Not applicable Info No score effect
Finding

No identity, claim, or events endpoint was advertised.

Check ID
agent-auth-endpoints-reachable@1
Supporting evidence
No linked observation was stored.
114 MCP OAuth challenge alignment Usability · Recommended · Core Not applicable 0 of 0
Finding

The MCP endpoint appears public and no OAuth metadata was published. A static HEAD probe cannot classify it as a docs or product server.

Check ID
mcp-auth-mechanism@1
Supporting evidence
No linked observation was stored.
115 MCP PKCE S256 support Usability · Recommended · Core Not applicable 0 of 0
Finding

No OAuth authorization server was published for the public MCP signal.

Check ID
mcp-pkce-s256@1
Supporting evidence
No linked observation was stored.
116 MPP payment protocol Payments · Required · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
mpp-support@1
Supporting evidence
No linked observation was stored.
117 Markdown negotiation cache variation Access · Recommended · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
markdown-negotiation-vary@1
Supporting evidence
View stored observation
118 OAuth 2.0 support Usability · Required · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
oauth-support@1
119 OAuth protected resource metadata Usability · Required · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
oauth-protected-resource@1
Supporting evidence
View stored observation
120 Rate limit response headers Usability · Recommended · Core Not applicable 0 of 0
Finding

The primary public response is not rate limited and exposes no API rate-limit contract.

Check ID
rate-limit-headers@1
Supporting evidence
No linked observation was stored.
121 Scoped permissions Usability · Recommended · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
scoped-permissions@1
122 Universal Commerce Protocol Payments · Required · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
ucp-support@1
Supporting evidence
View stored observation
123 auth.md walkthrough simulation Usability · Recommended · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
auth-md-walkthrough-simulation@1
124 x402 payment protocol Payments · Required · Out of scope Not applicable 0 of 0
Finding

This check is outside the selected site type.

Check ID
x402-support@1
Supporting evidence
No linked observation was stored.
Scan evidence and limitsPages read, HTTP records, observations, and scan identity

Initial HTML preview

Ora | Make your site work for agents · HTTP 200

65 of 65 links have names. 0 form controls have no name.

These initial HTML counts are separate from the final accessibility checks.

First result: 9.09 s · Queue: 6.1 s · Total: 22.66 s

Linked pages read

2 of 3 selected pages were read. Maximum: five pages.

These pages add evidence. Model 27 uses main-page and protocol facts for its score.

Access

90/100

91.3% coverage

Accessibility

50/100

100.0% coverage

Discovery

94/100

58.6% coverage

Usability

67/100

95.3% coverage

Scan scope and limits
  • This is a static audit. It does not prove that an agent can complete a task.
  • Browser rendering was not captured.
  • Search checks were unavailable because the scanner has no search provider key.
How the score works

What the scanner tested

Open a rule to inspect its HTTP and extracted evidence.

1 Robots access Can a standards-aware agent access this site? web.robots@4 · Robots · attempt 1 Allowed
Duration
24 ms
Fetches
1
Artifacts
1
Observations
2

Observed facts

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

robots.policy

100.0% confidence
Outcome
allow
Availability
available
Matched Directive
allow
Matched Pattern
/

HTTP transactions

GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/robots.txt

Content type
text/plain
Transferred
567 B
Decoded
567 B
Duration
238 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/html, application/xhtml+xml;q=0.9, application/json;q=0.5, text/plain;q=0.4, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
accept-ranges
bytes
access-control-allow-origin
[value stored]
age
3325
cache-control
public, max-age=3600, s-maxage=3600
content-disposition
[value stored]
content-length
567
content-type
text/plain
date
Wed, 30 Sep 2026 19:02:45 GMT
etag
"89dfa750fea3ee90ff9b65d984f9c8bd"
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
2 Primary HTTP response What does a direct HTTP client receive? web.primary_http@2 · Static capture · attempt 1 Succeeded
Duration
25 ms
Fetches
1
Artifacts
1
Observations
1

Observed facts

transport.fetch

100.0% confidence
Available
Yes
Outcome
success
Https
Yes
Status
200
Content type
text/html
Body bytes
349939
Final url
https://ora.ai/

HTTP transactions

GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/

Content type
text/html
Transferred
46.3 KB
Decoded
341.7 KB
Duration
1.79 s
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/html, application/xhtml+xml;q=0.9, application/json;q=0.5, text/plain;q=0.4, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (18)
age
0
cache-control
public, max-age=0, must-revalidate
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:47 GMT
etag
W/"wcob9s7guh7hz7"
link
[value stored]
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-nextjs-prerender
[value stored]
x-nextjs-stale-time
[value stored]
x-powered-by
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
3 HTML extraction What structure can an agent extract from the HTML? web.html_extract@5 · Extract · attempt 1 Succeeded
Duration
26 ms
Fetches
0
Artifacts
0
Observations
10

Observed facts

html.accessibility

90.0% confidence

Structured evidence was stored. This view has no safe summary for it yet.

html.content

100.0% confidence
Visible chars
2374
Estimated tokens
594
Has pricing language
Yes
Has api language
Yes

html.discovery

100.0% confidence

Structured evidence was stored. This view has no safe summary for it yet.

html.forms

100.0% confidence
Forms
3
Controls
11
Controls missing name
0

html.images

100.0% confidence
Total
30
Missing alt
0

html.links

100.0% confidence
Total
65
Missing name
0

html.metadata

100.0% confidence
Title
Ora | Make your site work for agents
Description
Scan any site, watch real agents try to use it, and fix what turns them away. Ora is the standard for optimizing your site so agents can actually use and recommend you.
Language
en
Charset
utf-8
Canonical
https://ora.ai
Json ld blocks
1
Json ld valid blocks
1

html.structure

100.0% confidence
H1
1
H2
4
H3
10
Landmarks
3
Lists
9
Tables
0
Visible chars
2374
Estimated tokens
594

html.structured_data

100.0% confidence
Blocks
1
Valid blocks
1
Invalid blocks
0
Entity count
7
Type count
7
Same as count
3
Organization count
1
Organization field count
6

html.web_mcp

90.0% confidence
Complete declarative tool count
0
Declarative element count
0
Document registration count
0
Model context reference count
6
Navigator registration count
0
4 Web.http semantics What evidence did this capture rule record? web.http_semantics@2 · Extract · attempt 1 Succeeded
Duration
21 ms
Fetches
0
Artifacts
0
Observations
1

Observed facts

http.semantics

100.0% confidence
Attempt count
1
Cross origin redirect count
0
Final status
200
Https downgrade count
0
Outcome
success
Redirect count
0
Transport available
Yes
5 Web.response semantics What evidence did this capture rule record? web.response_semantics@2 · Extract · attempt 1 Succeeded
Duration
24 ms
Fetches
0
Artifacts
0
Observations
1

Observed facts

response.semantics

100.0% confidence
Available
Yes
Content type
text/html
Status
200
6 Web.core preview What evidence did this capture rule record? web.core_preview@1 · Finalize · attempt 1 Succeeded
Duration
24 ms
Fetches
0
Artifacts
0
Observations
1

Observed facts

scan.core_preview

100.0% confidence
Controls missing name
0
Description present
Yes
Links
65
Named links
65
Provisional
Yes
Status
200
Title
Ora | Make your site work for agents
Visible chars
2374
7 Web.linked pages What evidence did this capture rule record? web.linked_pages@1 · Finalize · attempt 1 Partial
Duration
26 ms
Fetches
6
Artifacts
6
Observations
4

Observed facts

linked_pages.page

100.0% confidence
Category
documentation
Final url
https://ora.ai/docs
Label
API
Outcome
failed
Status
200
Url
https://ora.ai/docs

linked_pages.page

100.0% confidence
Body sha256
88fa49c7262972ffbdbb4f7b6e179b5d44cdf534adf54ae20f623b84c9fc8775
Category
privacy
Final url
https://ora.ai/privacy
Label
Privacy
Outcome
read
Status
200
Text excerpt
Privacy Policy | Ora ora Leaderboard Journey Research API Menu Privacy Policy Effective date: March 25, 2026 | Last updated: September 23, 2026 1. Introduction This Privacy Policy ("Policy") describes how Era Labs ("ora," "we," "us," or "our"), operating at ora.ai, collects, uses, stores, shares, and protects informati…
Title
Privacy Policy | Ora

linked_pages.page

100.0% confidence
Body sha256
d789f40ddaf415ac593d551c596c7d684f1a4c02e99e719a6cfd482b61982235
Category
about
Final url
https://ora.ai/about
Label
About
Outcome
read
Status
200
Text excerpt
About | Ora ora Leaderboard Journey Research API Menu about ora ranking The new layer between people and businesses Businesses spent decades optimizing for humans. SEO, funnels, UX, brand. It worked because humans were the ones making decisions. Agents don't work like that. Agents reason, query, parse structured data, …
Title
About | Ora

linked_pages.summary

100.0% confidence
Maximum pages
5
Read
2
Selected
3

HTTP transactions

GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/robots.txt

Content type
text/plain
Transferred
567 B
Decoded
567 B
Duration
145 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/html, application/xhtml+xml;q=0.9, application/json;q=0.5, text/plain;q=0.4, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
accept-ranges
bytes
access-control-allow-origin
[value stored]
age
3328
cache-control
public, max-age=3600, s-maxage=3600
content-disposition
[value stored]
content-length
567
content-type
text/plain
date
Wed, 30 Sep 2026 19:02:48 GMT
etag
"89dfa750fea3ee90ff9b65d984f9c8bd"
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Transport failure
agent_readiness_req · Protocol not exposed

https://ora.ai/docs

Content type
text/html
Transferred
96.1 KB
Decoded
260.6 KB
Duration
178 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: not exposed Digest: not exposed
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/html, application/xhtml+xml;q=0.9, application/json;q=0.5, text/plain;q=0.4, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (18)
access-control-allow-origin
[value stored]
age
3140
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:48 GMT
etag
W/"933e4bc05f88ec1e2895f90973a15624"
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-nextjs-prerender
[value stored]
x-nextjs-stale-time
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/robots.txt

Content type
text/plain
Transferred
567 B
Decoded
567 B
Duration
99 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/html, application/xhtml+xml;q=0.9, application/json;q=0.5, text/plain;q=0.4, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
accept-ranges
bytes
access-control-allow-origin
[value stored]
age
3328
cache-control
public, max-age=3600, s-maxage=3600
content-disposition
[value stored]
content-length
567
content-type
text/plain
date
Wed, 30 Sep 2026 19:02:48 GMT
etag
"89dfa750fea3ee90ff9b65d984f9c8bd"
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/privacy

Content type
text/html
Transferred
39.3 KB
Decoded
151.3 KB
Duration
262 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/html, application/xhtml+xml;q=0.9, application/json;q=0.5, text/plain;q=0.4, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (18)
access-control-allow-origin
[value stored]
age
3138
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:48 GMT
etag
W/"f5f16cd216bd43773ac6bc494ae5c1c9"
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-nextjs-prerender
[value stored]
x-nextjs-stale-time
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/robots.txt

Content type
text/plain
Transferred
567 B
Decoded
567 B
Duration
127 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/html, application/xhtml+xml;q=0.9, application/json;q=0.5, text/plain;q=0.4, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
accept-ranges
bytes
access-control-allow-origin
[value stored]
age
3329
cache-control
public, max-age=3600, s-maxage=3600
content-disposition
[value stored]
content-length
567
content-type
text/plain
date
Wed, 30 Sep 2026 19:02:49 GMT
etag
"89dfa750fea3ee90ff9b65d984f9c8bd"
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/about

Content type
text/html
Transferred
16.1 KB
Decoded
73.9 KB
Duration
98 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/html, application/xhtml+xml;q=0.9, application/json;q=0.5, text/plain;q=0.4, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (18)
access-control-allow-origin
[value stored]
age
3267
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:49 GMT
etag
W/"9a3cb4450d526c3ddccbde0a1ba36ae9"
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-nextjs-prerender
[value stored]
x-nextjs-stale-time
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
8 Web.discovery files What evidence did this capture rule record? web.discovery_files@12 · Static capture · attempt 1 Succeeded
Duration
26 ms
Fetches
28
Artifacts
26
Observations
27

Observed facts

discovery.a2a_agent_card

100.0% confidence
Body bytes
1460
Body sha256
07ec401ea0e5b433ae24f8bcb1e9897a913fd0dc3e8650be573bf1c02a93cedc
Content type
application/json
Endpoint present
Yes
Final url
https://ora.ai/.well-known/agent-card.json
Format valid
Yes
Id
a2a_agent_card
Interfaces count
0

discovery.acp_checkout_options

100.0% confidence
Allow header count
0
Allow post
No
Body bytes
0
Body sha256
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Final url
https://ora.ai/checkout_sessions
Format valid
No
Id
acp_checkout_options
Method
OPTIONS

discovery.acp_delegate_payment_options

100.0% confidence
Allow header count
0
Allow post
No
Body bytes
0
Body sha256
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Final url
https://ora.ai/agentic_commerce/delegate_payment
Format valid
No
Id
acp_delegate_payment_options
Method
OPTIONS

discovery.agent_friendly_404

100.0% confidence
Body bytes
63066
Body chars
63063
Body concise
No
Body sha256
097d6b130c58eee285204cbdbe043c80e02509c496597c48e5b4a049b12c9ac8
Content type
text/html
Final url
https://ora.ai/.well-known/agent-readiness-probe/not-found-7b91e8d4
Format valid
Yes
Guidance present
Yes

discovery.agent_instructions

100.0% confidence
Agent instruction action signal count
0
Agent instruction heading present
No
Agent instruction section chars
0
Agent instruction valid
No
Body bytes
63066
Body sha256
097d6b130c58eee285204cbdbe043c80e02509c496597c48e5b4a049b12c9ac8
Canonical link present
No
Code fence delimiter count
0

discovery.agent_mode_view

100.0% confidence
Auth signal
Yes
Body bytes
82064
Body sha256
7555d3354461e234efd7349a0b460ae04b7dbcdd9c9932ef6bc772836fdc4c8e
Capability signal
Yes
Content type
text/html
Endpoint signal
Yes
Final url
https://ora.ai/
Format valid
No

discovery.agent_skills_index

100.0% confidence
Body bytes
1279
Body sha256
fe6e7170a8a0b7126d02c000c0ab236348201d1f79df2a32b434d617a192ead8
Content type
application/json
Described skill count
2
Digest skill count
2
Duplicate name count
0
Final url
https://ora.ai/.well-known/agent-skills/index.json
Format valid
Yes

discovery.ai_catalog

100.0% confidence
Attested trust manifest count
0
Body bytes
2738
Body sha256
a6add6be48136b751fe1ba1bd0a32b3c6ac3427fc6c93d0d0d6b729e3b2aae1b
Content type
application/json
Display name entry count
5
Entry count
5
Exclusive target entry count
5
Final url
https://ora.ai/.well-known/ai-catalog.json

discovery.api_catalog

100.0% confidence
Body bytes
481
Body sha256
cc38e5d6205207ec8c0983c2336dfad2e615544df409f36781c4fcc71319b292
Content type
application/linkset+json
Content type valid
Yes
Final url
https://ora.ai/.well-known/api-catalog
Format valid
Yes
Id
api_catalog
Json valid
Yes

discovery.api_catalog_head

100.0% confidence
Api catalog relation present
No
Body bytes
0
Body sha256
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Content type
application/linkset+json
Final url
https://ora.ai/.well-known/api-catalog
Format valid
No
Id
api_catalog_head
Link header count
1

discovery.ard_catalog

100.0% confidence
Attested trust manifest count
0
Body bytes
2738
Body sha256
a6add6be48136b751fe1ba1bd0a32b3c6ac3427fc6c93d0d0d6b729e3b2aae1b
Content type
application/json
Display name entry count
5
Entry count
5
Exclusive target entry count
5
Final url
https://ora.ai/.well-known/ard.json

discovery.auth_md

100.0% confidence
Absolute url count
2
Agent instruction action signal count
0
Agent instruction heading present
No
Agent instruction section chars
0
Agent instruction valid
No
Body bytes
3440
Body sha256
1ab99526d8cac2db772096850018b6865f9517770255db32a55514c8c4de0ee8
Canonical link present
No

discovery.llms_txt

100.0% confidence
Agent instruction action signal count
0
Agent instruction heading present
No
Agent instruction section chars
0
Agent instruction valid
No
Body bytes
8320
Body sha256
8fa326f67e16fa33d913cff327d217fca4aa39986d14756dddd24cf5fc72793f
Canonical link present
No
Code fence delimiter count
0

discovery.markdown_negotiation

100.0% confidence
Agent instruction action signal count
0
Agent instruction heading present
Yes
Agent instruction section chars
350
Agent instruction valid
No
Body bytes
1695
Body sha256
62c7b7f66580f95af90c29b65c66d5adae7aed492663f4c54f415fcd85a77b83
Canonical link present
No
Code fence delimiter count
4

discovery.markdown_url_fallback

100.0% confidence
Agent instruction action signal count
0
Agent instruction heading present
Yes
Agent instruction section chars
350
Agent instruction valid
No
Body bytes
1695
Body sha256
62c7b7f66580f95af90c29b65c66d5adae7aed492663f4c54f415fcd85a77b83
Canonical link present
No
Code fence delimiter count
4

discovery.mcp_endpoint

100.0% confidence
Allow header present
No
Bearer challenge present
No
Body bytes
0
Body sha256
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Challenge count
0
Content type
text/html
Endpoint signal
No
Final url
https://ora.ai/.well-known/mcp

discovery.mcp_manifest

100.0% confidence
Body bytes
63066
Body sha256
097d6b130c58eee285204cbdbe043c80e02509c496597c48e5b4a049b12c9ac8
Content type
text/html
Direct endpoint present
No
Final url
https://ora.ai/.well-known/mcp/manifest.json
Format valid
No
Id
mcp_manifest
Json valid
No

discovery.mcp_server_card

100.0% confidence
Body bytes
5056
Body sha256
71cd01f21708bb3aff4786e1274afb6708548bfb39e88b1a7021846d8257ff80
Content type
application/json
Description present
Yes
Display name present
No
Endpoint count
1
Final url
https://ora.ai/.well-known/mcp/server-card.json
Format valid
Yes

discovery.modular_llms_txt

100.0% confidence
Agent instruction action signal count
0
Agent instruction heading present
No
Agent instruction section chars
0
Agent instruction valid
No
Body bytes
679
Body sha256
bcdce5c3684cba5deba60362f97651143f3dd5e40e172cdf3103357bff2aa5f7
Canonical link present
No
Code fence delimiter count
0

discovery.oauth_authorization_server

100.0% confidence
Body bytes
63066
Body sha256
097d6b130c58eee285204cbdbe043c80e02509c496597c48e5b4a049b12c9ac8
Content type
text/html
Final url
https://ora.ai/.well-known/oauth-authorization-server
Format valid
No
Id
oauth_authorization_server
Method
GET
Outcome
access_denied

discovery.oauth_protected_resource

100.0% confidence
Body bytes
63066
Body sha256
097d6b130c58eee285204cbdbe043c80e02509c496597c48e5b4a049b12c9ac8
Content type
text/html
Final url
https://ora.ai/.well-known/oauth-protected-resource
Format valid
No
Id
oauth_protected_resource
Method
GET
Outcome
access_denied

discovery.openapi

100.0% confidence
Body bytes
193030
Body sha256
fd90872596aefcaeaa8d795b73aa04f69c33524ac093e5008bc04d1ddfdd751d
Content type
application/json
Document valid
Yes
Final url
https://ora.ai/openapi.json
Format
json
Format valid
Yes
Id
openapi

discovery.pricing_markdown

100.0% confidence
Agent instruction action signal count
0
Agent instruction heading present
No
Agent instruction section chars
0
Agent instruction valid
No
Body bytes
743
Body sha256
f7ae81a69a2243a76437c8e645c35208fbf8a9a936356b4db8ff3f37c389941c
Canonical link present
No
Code fence delimiter count
0

discovery.sitemap

100.0% confidence
Body bytes
524749
Body sha256
01d81a6e61e6cb7a02d06a05913fddb5f39d17198bafecd05ce2ac379f8af821
Content type
application/xml
Final url
https://ora.ai/sitemap.xml
Format valid
Yes
Freshest lastmod
2026-09-30
Id
sitemap
Invalid lastmod count
0

discovery.ucp

100.0% confidence
Body bytes
63066
Body sha256
097d6b130c58eee285204cbdbe043c80e02509c496597c48e5b4a049b12c9ac8
Content type
text/html
Final url
https://ora.ai/.well-known/ucp
Format valid
No
Id
ucp
Method
GET
Outcome
access_denied

discovery.web_bot_auth_directory

100.0% confidence
Body bytes
372
Body sha256
1fa648e24ef6330902f07816ee8838a81ae57380b447143f659bd57c55565522
Content type
application/http-message-signatures-directory+json
Final url
https://ora.ai/.well-known/http-message-signatures-directory
Format valid
Yes
Id
web_bot_auth_directory
Json valid
Yes
Key count
1

discovery.x402

100.0% confidence
Body bytes
63066
Body sha256
097d6b130c58eee285204cbdbe043c80e02509c496597c48e5b4a049b12c9ac8
Content type
text/html
Final url
https://ora.ai/discovery/resources
Format valid
No
Id
x402_discovery
Method
GET
Outcome
access_denied

HTTP transactions

GET 200 Transport failure
agent_readiness_req · Protocol not exposed

https://ora.ai/sitemap.xml

Content type
application/xml
Transferred
70.8 KB
Decoded
512.5 KB
Duration
136 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: not exposed Digest: not exposed
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/xml, text/xml;q=0.9, text/plain;q=0.2, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
application/xml
date
Wed, 30 Sep 2026 19:02:49 GMT
etag
W/"0f67a1371cbf0e49da3bd641bae9cba0"
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/llms.txt

Content type
text/plain
Transferred
3.4 KB
Decoded
8.1 KB
Duration
105 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/plain, text/markdown;q=0.9, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/plain; charset=utf-8
date
Wed, 30 Sep 2026 19:02:49 GMT
etag
W/"e8fae94e2a261f86a8c9d78036537e26"
last-modified
Wed, 30 Sep 2026 18:08:15 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/pricing.md

Content type
text/markdown
Transferred
743 B
Decoded
743 B
Duration
99 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/markdown, text/plain;q=0.9, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
accept-ranges
bytes
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-length
743
content-type
text/markdown; charset=utf-8
date
Wed, 30 Sep 2026 19:02:49 GMT
etag
"f4d9f1fbaf32727c350f852804f60eb4"
last-modified
Wed, 30 Sep 2026 18:08:16 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/agent-card.json

Content type
application/json
Transferred
629 B
Decoded
1.4 KB
Duration
108 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
application/json; charset=utf-8
date
Wed, 30 Sep 2026 19:02:49 GMT
etag
W/"b6ff1ae5cf804e661790b47b1a09ea5e"
last-modified
Wed, 30 Sep 2026 18:08:16 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/api-catalog

Content type
application/linkset+json
Transferred
481 B
Decoded
481 B
Duration
95 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/linkset+json, application/json;q=0.8, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
accept-ranges
bytes
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-length
481
content-type
application/linkset+json;profile="https://www.rfc-editor.org/info/rfc9727"
date
Wed, 30 Sep 2026 19:02:49 GMT
etag
"c92898ff6185272b74dc1359d2929908"
last-modified
Wed, 30 Sep 2026 18:08:16 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
HEAD 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/api-catalog

Content type
application/linkset+json
Transferred
0 B
Decoded
0 B
Duration
136 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
*/*
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
accept-ranges
bytes
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-length
481
content-type
application/linkset+json;profile="https://www.rfc-editor.org/info/rfc9727"
date
Wed, 30 Sep 2026 19:02:50 GMT
etag
"c92898ff6185272b74dc1359d2929908"
last-modified
Wed, 30 Sep 2026 18:08:16 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 404 Access denied
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/oauth-protected-resource

Content type
text/html
Transferred
12.7 KB
Decoded
61.6 KB
Duration
109 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (17)
access-control-allow-origin
[value stored]
age
3518
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:50 GMT
etag
W/"f29b1e490f10d465b6e6e908babc3fdf"
last-modified
Wed, 30 Sep 2026 18:04:11 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 404 Access denied
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/ucp

Content type
text/html
Transferred
12.7 KB
Decoded
61.6 KB
Duration
98 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (17)
access-control-allow-origin
[value stored]
age
3518
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:50 GMT
etag
W/"f29b1e490f10d465b6e6e908babc3fdf"
last-modified
Wed, 30 Sep 2026 18:04:11 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/openapi.json

Content type
application/json
Transferred
34.8 KB
Decoded
188.5 KB
Duration
169 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, application/yaml;q=0.9, application/x-yaml;q=0.9, text/yaml;q=0.8, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (13)
age
0
cache-control
public, max-age=0, must-revalidate
content-encoding
gzip
content-type
application/json
date
Wed, 30 Sep 2026 19:02:50 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/auth.md

Content type
text/markdown
Transferred
1.6 KB
Decoded
3.4 KB
Duration
107 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/markdown, text/plain;q=0.9, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/markdown; charset=utf-8
date
Wed, 30 Sep 2026 19:02:50 GMT
etag
W/"37abfab29836f3bc7fb9ea3869d3e825"
last-modified
Wed, 30 Sep 2026 18:08:17 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 404 Access denied
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/oauth-authorization-server

Content type
text/html
Transferred
12.7 KB
Decoded
61.6 KB
Duration
92 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (17)
access-control-allow-origin
[value stored]
age
3519
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:50 GMT
etag
W/"f29b1e490f10d465b6e6e908babc3fdf"
last-modified
Wed, 30 Sep 2026 18:04:11 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/index.md

Content type
text/markdown
Transferred
861 B
Decoded
1.7 KB
Duration
91 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/markdown, text/plain;q=0.8, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/markdown; charset=utf-8
date
Wed, 30 Sep 2026 19:02:50 GMT
etag
W/"74f47a4926ebca759ca3652e4f9d0e31"
last-modified
Wed, 30 Sep 2026 18:08:17 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/

Content type
text/markdown
Transferred
861 B
Decoded
1.7 KB
Duration
95 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/markdown, text/plain;q=0.8, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (17)
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/markdown; charset=utf-8
date
Wed, 30 Sep 2026 19:02:50 GMT
etag
W/"74f47a4926ebca759ca3652e4f9d0e31"
last-modified
Wed, 30 Sep 2026 18:08:17 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
Accept
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 404 Access denied
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/agent-readiness-probe/not-found-7b91e8d4

Content type
text/html
Transferred
12.7 KB
Decoded
61.6 KB
Duration
105 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/problem+json, application/json;q=0.9, text/markdown;q=0.8, text/plain;q=0.5, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (17)
access-control-allow-origin
[value stored]
age
3519
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:50 GMT
etag
W/"f29b1e490f10d465b6e6e908babc3fdf"
last-modified
Wed, 30 Sep 2026 18:04:11 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/agent-skills/index.json

Content type
application/json
Transferred
690 B
Decoded
1.2 KB
Duration
93 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
application/json; charset=utf-8
date
Wed, 30 Sep 2026 19:02:51 GMT
etag
W/"5bcf5866b68a9bf890d83b33cc1be13a"
last-modified
Wed, 30 Sep 2026 18:08:17 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/docs/llms.txt

Content type
text/plain
Transferred
679 B
Decoded
679 B
Duration
92 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/plain, text/markdown;q=0.9, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
accept-ranges
bytes
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-length
679
content-type
text/plain; charset=utf-8
date
Wed, 30 Sep 2026 19:02:51 GMT
etag
"7f911d175aeba0566debffc732803b85"
last-modified
Wed, 30 Sep 2026 18:08:17 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 404 Access denied
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/agent-instructions.md

Content type
text/html
Transferred
12.7 KB
Decoded
61.6 KB
Duration
612 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/markdown, text/plain;q=0.9, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (17)
access-control-allow-origin
[value stored]
age
3520
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:51 GMT
etag
W/"f29b1e490f10d465b6e6e908babc3fdf"
last-modified
Wed, 30 Sep 2026 18:04:11 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 404 Access denied
agent_readiness_req · Protocol not exposed

https://ora.ai/agent-instructions.md

Content type
text/html
Transferred
12.7 KB
Decoded
61.6 KB
Duration
96 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/markdown, text/plain;q=0.9, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (17)
access-control-allow-origin
[value stored]
age
3520
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:51 GMT
etag
W/"f29b1e490f10d465b6e6e908babc3fdf"
last-modified
Wed, 30 Sep 2026 18:04:11 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/ard.json

Content type
application/json
Transferred
890 B
Decoded
2.7 KB
Duration
130 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, application/ld+json;q=0.9, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (15)
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=3600
content-encoding
gzip
content-type
application/json
date
Wed, 30 Sep 2026 18:08:18 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-nextjs-rewritten-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/ai-catalog.json

Content type
application/json
Transferred
890 B
Decoded
2.7 KB
Duration
106 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, application/ld+json;q=0.9, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (15)
access-control-allow-origin
[value stored]
age
3274
cache-control
public, max-age=3600
content-encoding
gzip
content-type
application/json
date
Wed, 30 Sep 2026 18:08:18 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-nextjs-rewritten-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
HEAD 404 Transport failure
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/mcp

Content type
text/html
Transferred
0 B
Decoded
0 B
Duration
132 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: not exposed Digest: not exposed
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, text/event-stream;q=0.9, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
access-control-allow-origin
[value stored]
age
3520
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:52 GMT
etag
W/"f29b1e490f10d465b6e6e908babc3fdf"
last-modified
Wed, 30 Sep 2026 18:04:11 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/mcp/server-card.json

Content type
application/json
Transferred
1.5 KB
Decoded
4.9 KB
Duration
96 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/mcp-server-card+json, application/json;q=0.9, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (16)
access-control-allow-origin
[value stored]
age
3272
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
application/json; charset=utf-8
date
Wed, 30 Sep 2026 19:02:52 GMT
etag
W/"7d49135865ead089921b0a74f3bbcbed"
last-modified
Wed, 30 Sep 2026 18:08:19 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 404 Access denied
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/mcp/manifest.json

Content type
text/html
Transferred
12.7 KB
Decoded
61.6 KB
Duration
95 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (17)
access-control-allow-origin
[value stored]
age
3520
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:52 GMT
etag
W/"f29b1e490f10d465b6e6e908babc3fdf"
last-modified
Wed, 30 Sep 2026 18:04:11 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/.well-known/http-message-signatures-directory

Content type
application/http-message-signatures-directory+json
Transferred
372 B
Decoded
372 B
Duration
121 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (14)
access-control-allow-origin
[value stored]
age
3273
cache-control
public, max-age=3600
content-type
application/http-message-signatures-directory+json
date
Wed, 30 Sep 2026 18:08:19 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-nextjs-rewritten-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/

Content type
text/html
Transferred
19.8 KB
Decoded
80.1 KB
Duration
113 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, text/markdown;q=0.9, text/plain;q=0.8, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (19)
access-control-allow-origin
[value stored]
age
3272
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:52 GMT
etag
W/"7da9bab8d1c56fcb97c4083f76518a5e"
link
[value stored]
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-nextjs-prerender
[value stored]
x-nextjs-stale-time
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
OPTIONS 204 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/checkout_sessions

Content type
Not recorded
Transferred
0 B
Decoded
0 B
Duration
54 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (10)
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
date
Wed, 30 Sep 2026 19:02:52 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
OPTIONS 204 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/agentic_commerce/delegate_payment

Content type
Not recorded
Transferred
0 B
Decoded
0 B
Duration
62 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (10)
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
date
Wed, 30 Sep 2026 19:02:52 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 404 Access denied
agent_readiness_req · Protocol not exposed

https://ora.ai/discovery/resources

Content type
text/html
Transferred
12.7 KB
Decoded
61.6 KB
Duration
121 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (17)
access-control-allow-origin
[value stored]
age
3521
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-encoding
gzip
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 19:02:52 GMT
etag
W/"f29b1e490f10d465b6e6e908babc3fdf"
last-modified
Wed, 30 Sep 2026 18:04:11 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
10 Web.mcp inspection What evidence did this capture rule record? web.mcp_inspection@2 · Finalize · attempt 1 Succeeded
Duration
23 ms
Fetches
8
Artifacts
8
Observations
1

Observed facts

mcp.inspection

100.0% confidence
Advertised
Yes
Attempted
Yes
Candidate count
1
Endpoint transport
unspecified-http
Initialized notification accepted
Yes
Outcome
succeeded
Session established
No

HTTP transactions

POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
1.1 KB
Decoded
1.1 KB
Duration
80 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (8)
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:54 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 202 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
Not recorded
Transferred
0 B
Decoded
0 B
Duration
108 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (10)
cache-control
public, max-age=0, must-revalidate
content-length
0
date
Wed, 30 Sep 2026 19:02:54 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
46.1 KB
Decoded
46.1 KB
Duration
127 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:55 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
1.8 KB
Decoded
1.8 KB
Duration
106 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:55 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
40.6 KB
Decoded
40.6 KB
Duration
124 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:55 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
4.3 KB
Decoded
4.3 KB
Duration
115 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:55 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
1.4 KB
Decoded
1.4 KB
Duration
199 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:55 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
100 B
Decoded
100 B
Duration
117 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:55 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
11 Web.nlweb inspection What evidence did this capture rule record? web.nlweb_inspection@1 · Finalize · attempt 1 Partial
Duration
22 ms
Fetches
2
Artifacts
1
Observations
1

Observed facts

nlweb.inspection

100.0% confidence
Outcome
partial

HTTP transactions

OPTIONS 204 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/ask

Content type
Not recorded
Transferred
0 B
Decoded
0 B
Duration
142 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
accept
*/*
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (10)
allow
[value stored]
cache-control
public, max-age=0, must-revalidate
date
Wed, 30 Sep 2026 19:02:56 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST No status Transport failure
agent_readiness_req · Protocol not exposed

https://ora.ai/ask

Content type
Not recorded
Transferred
Not recorded
Decoded
Not recorded
Duration
912 ms
Headers: not exposed Redirects: not exposed DNS: recorded TLS: not exposed Timings: not exposed Sizes: not exposed Digest: not exposed
Request headers (8)
content-type
[value stored]
accept
application/json
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (0)
12 Web.graphql inspection What evidence did this capture rule record? web.graphql_inspection@1 · Finalize · attempt 1 Partial
Duration
23 ms
Fetches
3
Artifacts
3
Observations
1

Observed facts

graphql.inspection

100.0% confidence
Auth required count
0
Candidate count
3
Checked count
2
Outcome
unavailable
Robots denied count
0

HTTP transactions

OPTIONS 204 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/graphql

Content type
Not recorded
Transferred
0 B
Decoded
0 B
Duration
92 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
accept
*/*
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (10)
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
date
Wed, 30 Sep 2026 19:02:57 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
x-matched-path
[value stored]
x-next-error-status
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
OPTIONS 204 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/api/graphql

Content type
Not recorded
Transferred
0 B
Decoded
0 B
Duration
117 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
accept
*/*
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (10)
allow
[value stored]
cache-control
public, max-age=0, must-revalidate
date
Wed, 30 Sep 2026 19:02:57 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 404 Access denied
agent_readiness_req · Protocol not exposed

https://ora.ai/api/graphql

Content type
application/json
Transferred
160 B
Decoded
153 B
Duration
112 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (8)
content-type
[value stored]
accept
application/graphql-response+json, application/json;q=0.9
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (12)
cache-control
public, max-age=0, must-revalidate
content-encoding
gzip
content-type
application/json
date
Wed, 30 Sep 2026 19:02:57 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
13 Web.mcp apps inspection What evidence did this capture rule record? web.mcp_apps_inspection@1 · Finalize · attempt 1 Succeeded
Duration
57 ms
Fetches
7
Artifacts
7
Observations
1

Observed facts

mcp_apps.inspection

100.0% confidence
Candidate count
1
Initialized notification accepted
Yes
Linked resource count
3
Outcome
succeeded
Session established
No

HTTP transactions

POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
1.1 KB
Decoded
1.1 KB
Duration
83 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (8)
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:57 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 202 Success
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
Not recorded
Transferred
0 B
Decoded
0 B
Duration
111 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (10)
cache-control
public, max-age=0, must-revalidate
content-length
0
date
Wed, 30 Sep 2026 19:02:57 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
46.1 KB
Decoded
46.1 KB
Duration
131 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:57 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
1.8 KB
Decoded
1.8 KB
Duration
125 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:58 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
10.7 KB
Decoded
10.7 KB
Duration
113 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:58 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
12.9 KB
Decoded
12.9 KB
Duration
109 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:58 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
POST 200 Unsupported media type
agent_readiness_req · Protocol not exposed

https://ora.ai/api/mcp

Content type
text/event-stream
Transferred
13.8 KB
Decoded
13.8 KB
Duration
197 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (9)
mcp-protocol-version
[value stored]
content-type
[value stored]
accept
application/json, text/event-stream
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
ora.ai
Response headers (11)
cache-control
no-cache
content-type
text/event-stream
date
Wed, 30 Sep 2026 19:02:58 GMT
link
[value stored]
server
Vercel
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
14 Web.developer tooling inspection What evidence did this capture rule record? web.developer_tooling_inspection@1 · Finalize · attempt 1 Succeeded
Duration
28 ms
Fetches
2
Artifacts
1
Observations
1

Observed facts

developer_tooling.inspection

100.0% confidence
Candidate count
1
Candidate limit
6
Cli link candidate count
0
Inspected link count
65
Install command count
0
Install command present
No
Not found count
0
Npm candidate count
1

HTTP transactions

GET 403 Success
agent_readiness_req · Protocol not exposed

https://www.npmjs.com/robots.txt

Content type
text/html
Transferred
3.2 KB
Decoded
5.4 KB
Duration
80 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/plain, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
www.npmjs.com
Response headers (22)
accept-ch
[value stored]
cf-mitigated
[value stored]
cf-ray
[value stored]
connection
[value stored]
content-encoding
gzip
content-security-policy
default-src 'none'; script-src 'nonce-XF4lploAXncawKJd0S8uf8' 'unsafe-eval' https://challenges.cloudflare.com; script-src-attr 'none'; style-src 'unsafe-inline'; img-src 'self' https://challenges.cloudflare.com; connect-src 'self' https://challenges.cloudflare.com; frame-src 'self' https://challenges.cloudflare.com blob:; child-src 'self' https://challenges.cloudflare.com blob:; worker-src blob:; form-action http: https:; base-uri 'self'
content-type
text/html; charset=UTF-8
critical-ch
[value stored]
cross-origin-embedder-policy
[value stored]
cross-origin-opener-policy
[value stored]
cross-origin-resource-policy
[value stored]
date
Wed, 30 Sep 2026 19:02:58 GMT
origin-agent-cluster
[value stored]
permissions-policy
accelerometer=(),camera=(),clipboard-read=(),clipboard-write=(),geolocation=(),gyroscope=(),hid=(),magnetometer=(),microphone=(),payment=(),publickey-credentials-get=(),screen-wake-lock=(),serial=(),sync-xhr=(),usb=(),xr-spatial-tracking=*
referrer-policy
same-origin
server
cloudflare
server-timing
[value stored]
set-cookie
[REDACTED]
strict-transport-security
max-age=31536000; includeSubDomains; preload
transfer-encoding
[value stored]
x-content-type-options
nosniff
x-frame-options
SAMEORIGIN
GET 200 Success
agent_readiness_req · Protocol not exposed

https://www.npmjs.com/package/ax

Content type
text/html
Transferred
31.0 KB
Decoded
108.9 KB
Duration
96 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/html, application/json;q=0.8, text/plain;q=0.7, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
www.npmjs.com
Response headers (22)
age
3267
cache-control
public, max-age=14400
cf-cache-status
[value stored]
cf-ray
[value stored]
connection
[value stored]
content-encoding
gzip
content-security-policy
connect-src 'self' checkout.stripe.com https://checkout.stripe.com https://billing.stripe.com/session https://api.funcaptcha.com https://api.arkoselabs.com https://api-js.datadome.co https://ct.captcha-delivery.com sentry.io api.github.com www.npmjs.com static-production.npmjs.com;default-src 'none';img-src * data: https://*.stripe.com;script-src 'self' data: 'unsafe-inline' https://checkout.stripe.com/checkout.js https://checkout.stripe.com https://js.stripe.com/v3 https://octocaptcha.com https…
content-type
text/html
date
Wed, 30 Sep 2026 19:02:59 GMT
last-modified
Wed, 30 Sep 2026 18:08:31 GMT
npm-cost
[value stored]
npm-remaining
[value stored]
server
cloudflare
set-cookie
[REDACTED]
set-cookie
[REDACTED]
strict-transport-security
max-age=31536000; includeSubDomains; preload
transfer-encoding
[value stored]
vary
x-requested-with, x-spiferack
x-content-security-policy
[value stored]
x-content-type-options
nosniff
x-frame-options
DENY
x-xss-protection
[value stored]
15 Web.repository inspection What evidence did this capture rule record? web.repository_inspection@1 · Finalize · attempt 1 Not applicable
Duration
30 ms
Fetches
0
Artifacts
0
Observations
1

Observed facts

repository.inspection

100.0% confidence
Candidate count
0
Inspection complete
No
Outcome
no_candidate
Repository advertised
No
Root response valid
No
16 Web.mcp registry inspection What evidence did this capture rule record? web.mcp_registry_inspection@1 · Finalize · attempt 1 Succeeded
Duration
24 ms
Fetches
2
Artifacts
2
Observations
1

Observed facts

mcp_registry.inspection

100.0% confidence
Outcome
succeeded
Query available
Yes
Repository available
No

HTTP transactions

GET 404 Success
agent_readiness_req · Protocol not exposed

https://registry.modelcontextprotocol.io/robots.txt

Content type
application/problem+json
Transferred
155 B
Decoded
155 B
Duration
118 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/plain, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
registry.modelcontextprotocol.io
Response headers (7)
connection
[value stored]
content-length
155
content-type
application/problem+json
date
Wed, 30 Sep 2026 19:02:59 GMT
strict-transport-security
max-age=31536000; includeSubDomains
vary
Origin
x-content-type-options
nosniff
GET 200 Success
agent_readiness_req · Protocol not exposed

https://registry.modelcontextprotocol.io/v0.1/servers

Content type
application/json
Transferred
14.6 KB
Decoded
14.6 KB
Duration
634 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
registry.modelcontextprotocol.io
Response headers (7)
connection
[value stored]
content-type
application/json
date
Wed, 30 Sep 2026 19:03:00 GMT
strict-transport-security
max-age=31536000; includeSubDomains
transfer-encoding
[value stored]
vary
Origin
x-registry-cache
[value stored]
17 Web.wikimedia inspection What evidence did this capture rule record? web.wikimedia_inspection@1 · Finalize · attempt 1 Succeeded
Duration
32 ms
Fetches
3
Artifacts
3
Observations
1

Observed facts

wikimedia.inspection

100.0% confidence
Direct wikidata link count
0
Direct wikipedia link count
0
Outcome
succeeded
Query available
Yes

HTTP transactions

GET 301 Transport failure
agent_readiness_req · Protocol not exposed

https://api.wikimedia.org/robots.txt

Content type
text/html
Transferred
293 B
Decoded
293 B
Duration
134 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/plain, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
api.wikimedia.org
Response headers (19)
age
33342
cache-control
max-age=2592000
content-length
293
content-type
text/html; charset=iso-8859-1
date
Wed, 30 Sep 2026 09:47:18 GMT
expires
Fri, 30 Oct 2026 09:47:18 GMT
location
[value stored]
nel
[value stored]
report-to
[value stored]
server
mw-web.eqiad.main-69cd799d9d-s952z
server-timing
[value stored]
set-cookie
[REDACTED]
strict-transport-security
max-age=106384710; includeSubDomains; preload
vary
X-Forwarded-Proto
x-analytics
[value stored]
x-cache
[value stored]
x-cache-status
[value stored]
x-client-ip
[value stored]
x-request-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://api.wikimedia.org/core/v1/wikidata/search/page

Content type
application/json
Transferred
886 B
Decoded
3.2 KB
Duration
220 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
application/json
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
api.wikimedia.org
Response headers (22)
accept-ranges
bytes
access-control-allow-origin
[value stored]
age
0
cache-control
no-cache
content-encoding
gzip
content-type
application/json
date
Wed, 30 Sep 2026 19:03:00 GMT
nel
[value stored]
report-to
[value stored]
server
mw-api-ext.eqiad.main-7d5459bd5c-lgfj7
server-timing
[value stored]
set-cookie
[REDACTED]
strict-transport-security
max-age=106384710; includeSubDomains; preload
transfer-encoding
[value stored]
vary
x-restbase-compat, Accept-Encoding
x-analytics
[value stored]
x-cache
[value stored]
x-cache-status
[value stored]
x-client-ip
[value stored]
x-content-type-options
nosniff
x-request-id
[value stored]
x-search-id
[value stored]
GET 200 Success
agent_readiness_req · Protocol not exposed

https://api.wikimedia.org/core/v1/wikidata/page/Q656774/html

Content type
text/html
Transferred
16.5 KB
Decoded
193.7 KB
Duration
174 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/html
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
api.wikimedia.org
Response headers (26)
accept-ranges
bytes
access-control-allow-origin
[value stored]
age
0
cache-control
no-cache
content-encoding
gzip
content-language
en
content-revision-id
[value stored]
content-type
text/html; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/HTML/0.0.0"
date
Wed, 30 Sep 2026 19:03:00 GMT
etag
W/"2549988765/52def9d6-ba65-11f1-9f4d-591ac9998e16/view+lang:en-us"
last-modified
Sun, 27 Sep 2026 11:19:27 GMT
nel
[value stored]
report-to
[value stored]
server
mw-api-ext.eqiad.main-7d5459bd5c-g64jl
server-timing
[value stored]
set-cookie
[REDACTED]
strict-transport-security
max-age=106384710; includeSubDomains; preload
transfer-encoding
[value stored]
vary
Accept-Language,x-restbase-compat, Accept-Encoding
x-analytics
[value stored]
x-cache
[value stored]
x-cache-status
[value stored]
x-client-ip
[value stored]
x-content-type-options
nosniff
x-mediawiki-render-id
[value stored]
x-request-id
[value stored]
18 Web.skills sh inspection What evidence did this capture rule record? web.skills_sh_inspection@1 · Finalize · attempt 1 Partial
Duration
27 ms
Fetches
2
Artifacts
2
Observations
1

Observed facts

skills_sh.inspection

100.0% confidence
Direct skills link count
0
Github association count
1
Outcome
fetch_error

HTTP transactions

GET 200 Success
agent_readiness_req · Protocol not exposed

https://www.skills.sh/robots.txt

Content type
text/plain
Transferred
149 B
Decoded
149 B
Duration
300 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/plain, */*;q=0.1
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
www.skills.sh
Response headers (20)
accept-ranges
bytes
access-control-allow-origin
[value stored]
age
371044
cache-control
public, max-age=0, must-revalidate
content-disposition
[value stored]
content-length
149
content-security-policy
default-src 'self'; script-src 'self' 'unsafe-inline' https://va.vercel-scripts.com https://vercel.live; script-src-elem 'self' 'unsafe-inline' https://va.vercel-scripts.com https://vercel.live; style-src 'self' 'unsafe-inline' https://vercel.live; img-src 'self' data: blob: https://vercel.com https://vercel.live; connect-src 'self' https://vercel.live wss://ws-us3.pusher.com; font-src 'self' https://vercel.live https://assets.vercel.com; frame-src https://vercel.live; frame-ancestors 'none'; ba…
content-type
text/plain; charset=utf-8
date
Wed, 30 Sep 2026 19:03:01 GMT
etag
"62699308568d3029fd19b6bc00791b65"
last-modified
Sat, 26 Sep 2026 11:58:56 GMT
referrer-policy
strict-origin-when-cross-origin
server
Vercel
set-cookie
[REDACTED]
strict-transport-security
max-age=63072000
x-content-type-options
nosniff
x-frame-options
DENY
x-matched-path
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
GET 307 Transport failure
agent_readiness_req · Protocol not exposed

https://www.skills.sh/eralabs-ai

Content type
text/html
Transferred
21.2 KB
Decoded
21.2 KB
Duration
121 ms
Headers: not exposed Redirects: recorded DNS: recorded TLS: not exposed Timings: not exposed Sizes: recorded Digest: recorded
Request headers (7)
user-agent
AgentReadinessBot/0.1 (+https://readiness.sh/scanner)
accept
text/html, application/xhtml+xml;q=0.9
accept-language
en-US,en;q=0.8
accept-encoding
gzip
cache-control
no-cache
pragma
no-cache
host
www.skills.sh
Response headers (18)
age
3261
cache-control
public, max-age=0, must-revalidate
content-security-policy
default-src 'self'; script-src 'self' 'unsafe-inline' https://va.vercel-scripts.com https://vercel.live; script-src-elem 'self' 'unsafe-inline' https://va.vercel-scripts.com https://vercel.live; style-src 'self' 'unsafe-inline' https://vercel.live; img-src 'self' data: blob: https://vercel.com https://vercel.live; connect-src 'self' https://vercel.live wss://ws-us3.pusher.com; font-src 'self' https://vercel.live https://assets.vercel.com; frame-src https://vercel.live; frame-ancestors 'none'; ba…
content-type
text/html; charset=utf-8
date
Wed, 30 Sep 2026 18:08:39 GMT
location
[value stored]
referrer-policy
strict-origin-when-cross-origin
server
Vercel
set-cookie
[REDACTED]
strict-transport-security
max-age=63072000
transfer-encoding
[value stored]
vary
rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-content-type-options
nosniff
x-frame-options
DENY
x-matched-path
[value stored]
x-nextjs-stale-time
[value stored]
x-vercel-cache
[value stored]
x-vercel-id
[value stored]
19 Web.ranked search inspection What evidence did this capture rule record? web.ranked_search_inspection@1 · Finalize · attempt 1 Partial
Duration
27 ms
Fetches
0
Artifacts
0
Observations
1

Observed facts

ranked_search.inspection

100.0% confidence
Brand
ora
Brand source
og:site_name
Category
DeveloperApplication
Category source
json_ld_category
Outcome
provider_unconfigured
Provider
brave_web_search
Provider api version
2023-10-11
Query template revision
1

Immutable scan identity

Capture profile
static@28
Rule set
web-capture@28
Time bucket
2026-09-30 19:02:00 UTC
Scan ID
4d3c2fd2-b8d6-4782-aee2-90621ac53633

Versioned evidence first

A later criteria version can evaluate this same stored scan without changing what the scanner observed.

Open this exact snapshot

Give your team a clear next step.

Share this report, apply the relevant changes, then scan again to check the result.

completed finalize 2026-09-30 19:02:45 UTC