medialit.cloud
Finalizing the report
Preparing the stored Is Agentic score
medialit.cloud
Preparing the stored Is Agentic score
medialit.cloud
These checks describe whether an ordinary agent can enter, read, and operate the public site.
Agents can reach the site
Crawler access and bot defenses.
Core content is available
Useful content remains accessible without a fragile browser-only path.
Navigation fails safely
Redirects and missing pages give agents a recoverable path.
Controls are understandable
Forms and interactive controls expose usable names and structure.
The public website is always evaluated. Optional surfaces appear when the scan finds positive evidence that they apply.
Needs work
Weighted across 16 applicable checks
Needs work
Weighted across 12 applicable checks
Needs work
Weighted across 3 applicable checks
Ready with gaps
Weighted across 1 applicable check
Critical access gaps come first, followed by other applicable readiness gaps.
Keep the correct HTTP 404 status. The remaining requirement is a Markdown error body when agents request Accept: text/markdown. Include at least 20 characters explaining the error and a link to your docs, sitemap, or llms.txt. Verify with curl -sS -L -i -H 'Accept: text/markdown' https://yourdomain.com/some-path-that-does-not-exist. Check both the final 404 status and the Markdown body with Content-Type: text/markdown. Checking the status alone does not verify the missing requirement.
Serve at least 500 characters of meaningful homepage content in raw HTML. Add a clear H1, keep deeper heading levels sequential, and remove excessive non-content markup. Inner pages need their main text in the raw HTML too, not only after JavaScript runs.
Return structured JSON error responses with error codes, messages, and resolution hints. Agents can't parse HTML error pages.
Enable Markdown negotiation on the scanned homepage. Supporting it only on /docs or a separate .md URL does not satisfy this check. Requests with Accept: text/markdown must receive a nonempty Markdown body with Content-Type: text/markdown and Vary: Accept. Keep serving HTML for Accept: text/html. Adding Vary alone does not create a Markdown response. Verify both with curl -sS -L -i -H 'Accept: text/markdown' https://yourdomain.com/ and curl -sS -L -i -H 'Accept: text/html' https://yourdomain.com/. Check the final response headers and body: Markdown with Vary: Accept for the first request, HTML for the second.
Declare scoped API permissions where machines can read them: named OAuth scopes in your OpenAPI security schemes, or scopes_supported in RFC 9728 protected-resource metadata. Prose descriptions of roles help humans, but agents need the machine-readable declaration to request least-privilege access.
Checks are grouped by relevance for App sites.
Homepage: 5943 chars with H1, but heading hierarchy skips H2 to H4. 1 of 1 sampled inner page has text without JavaScript.
How to pass
Serve at least 500 characters of meaningful homepage content in raw HTML. Add a clear H1, keep deeper heading levels sequential, and remove excessive non-content markup. Inner pages need their main text in the raw HTML too, not only after JavaScript runs.
Site accessible to 4 agent user-agents (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot).
No meta-refresh or JavaScript-redirect stubs across 10 checked pages
All 1 sampled page is publicly readable (1 with substantive content)
OpenAPI spec found at https://medialit.cloud/openapi.json (version: 3.0.3)
Homepage https://medialit.cloud does not meet the Markdown negotiation requirements: Accept: text/markdown returned text/html; charset=utf-8; Vary header missing Accept (got "rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, accept-encoding")
How to pass
Enable Markdown negotiation on the scanned homepage. Supporting it only on /docs or a separate .md URL does not satisfy this check. Requests with Accept: text/markdown must receive a nonempty Markdown body with Content-Type: text/markdown and Vary: Accept. Keep serving HTML for Accept: text/html. Adding Vary alone does not create a Markdown response. Verify both with curl -sS -L -i -H 'Accept: text/markdown' https://yourdomain.com/ and curl -sS -L -i -H 'Accept: text/html' https://yourdomain.com/. Check the final response headers and body: Markdown with Vary: Accept for the first request, HTML for the second.
OAuth authorization server metadata at https://api.medialit.cloud/api/auth
OpenAPI declares security schemes but no named OAuth scopes - agents get all-or-nothing access. Declare per-scope grants (e.g. read:*, write:*) in the spec.
How to pass
Declare scoped API permissions where machines can read them: named OAuth scopes in your OpenAPI security schemes, or scopes_supported in RFC 9728 protected-resource metadata. Prose descriptions of roles help humans, but agents need the machine-readable declaration to request least-privilege access.
API does not return JSON error responses (or no API detected)
How to pass
Return structured JSON error responses with error codes, messages, and resolution hints. Agents can't parse HTML error pages.
The nonexistent path https://medialit.cloud/__ora-404-probe-sov43fbv correctly returns HTTP 404. Partial credit: no Markdown error body was detected.
How to pass
Keep the correct HTTP 404 status. The remaining requirement is a Markdown error body when agents request Accept: text/markdown. Include at least 20 characters explaining the error and a link to your docs, sitemap, or llms.txt. Verify with curl -sS -L -i -H 'Accept: text/markdown' https://yourdomain.com/some-path-that-does-not-exist. Check both the final 404 status and the Markdown body with Content-Type: text/markdown. Checking the status alone does not verify the missing requirement.
No noindex on the homepage: no robots, googlebot or bingbot meta tag and no X-Robots-Tag header hides it from search.
Valid sitemap found at https://medialit.cloud/sitemap.xml with 39 entries
JSON-LD Organization found - missing description and one of sameAs / logo / address / contactPoint on this entity
How to pass
Add description and one of sameAs / logo / address / contactPoint to the Organization JSON-LD entity for full score.
Pricing link found but no dedicated pricing page at standard path
How to pass
Make pricing discoverable - add a /pricing page, or schema.org/Offer structured data that carries a price and currency. For a store, put Product markup with an Offer price on each product page, so agents can read prices without running JavaScript.
Documentation site found at https://medialit.cloud
3/4 metadata signals present - missing: og:type
How to pass
Add all four signals to your homepage: <link rel="canonical"> pointing to the page on your own site, <html lang="...">, <meta property="og:image">, and <meta property="og:type">. Agents use these for entity resolution and attribution.
Organization schema found but missing: contactPoint, address
How to pass
Add Organization JSON-LD that includes both contactPoint (with email/phone and contactType) and address (PostalAddress). This lets AI verify your business legitimacy and answer contact queries.
Only Privacy page verified - missing: About, Contact
How to pass
Publish real /about, /contact, and /privacy pages with at least 500 characters of content each. These are the pages AI agents check to verify your business is legitimate before recommending you.
All 2 measured pages fit an agent context budget (largest ~1K tokens)
REST API documentation found at /docs/api. Best-of-protocols score: 7/7.
Onboarding signals described but not verified live: free tier available, self-serve key generation, sandbox/test environment, zero-auth access
How to pass
Offer a free tier or trial, self-serve API key generation, and a sandbox environment. Agents can't fill out 'contact sales' forms.
MCP server detected at https://api.medialit.cloud/mcp; it requires authentication. Presence is verified (5/6), but Ora could not inspect its tools or verify access scopes without credentials.
How to pass
Keep authentication enabled. Verify tool listing with an authorized MCP client. This unauthenticated scan cannot establish whether protected tools are missing or unusable.
No REST rate-limit headers found on probed endpoints
How to pass
Return standard rate-limit headers on your API responses (the RFC RateLimit headers, plus Retry-After on a 429) so agents can self-throttle in real time, and document the conventions alongside your API.
OpenAPI defines a typed error schema in components.schemas and 4xx/5xx responses reference it
No API versioning strategy found - add URL path versioning (/v1/, /v2/) or a versioned header parameter in your OpenAPI spec
How to pass
Declare a versioning policy agents can rely on: version your API (in the URL path or a version header) and publish how you signal deprecation (a Sunset/Deprecation header or a documented timeline). Agents avoid integrating against a surface that can change without warning.
No CLI tool found
How to pass
Publish an official CLI tool on npm, PyPI, or Homebrew. A CLI lets agents and developers script interactions with your product without building API integrations from scratch.
100% of operations define typed response schemas, 100% use application/json
REST: agent-friendly schema (11 operations, 100% with operationIds, 100% documented by description or summary)
Partial compatibility: 11/11 operationIds, 6/11 typed schemas
How to pass
Ensure API endpoints have unique operation IDs, typed schemas, and descriptions compatible with LLM function-calling formats.
In a search for your API docs, your docs came up at #1 (https://medialit.cloud/docs/mcp-server). In a search for your MCP server, SDK or CLI, we found your MCP server at #6 (https://medialit.cloud/docs/mcp-server)
medialit.cloud ranks #6 for "MediaLit" (searched your brand name alone: no main product term from your homepage qualified)
How to pass
Make sure your own domain ranks in the top results when people search your brand together with your main product (for example "Acme payments API"). Ora first reads product terms from your homepage's JSON-LD keywords or knowsAbout, or its meta keywords tag. If none qualifies, it checks the main service's serviceType in JSON-LD, then a short product phrase in the page title. If those do not qualify, it checks product names in the homepage business's JSON-LD offers. Use clear product terms that also appear on the page. If no term qualifies, Ora searches your brand name alone. If your domain does not rank, your brand may be too generic, conflict with a more established term, or not yet indexed. Strengthen it by describing your main product clearly in your homepage title and headings, earning press mentions that link to your domain, and avoiding redirect chains that mask your main domain in search results.
Agent config found: github.com/codelitdev/medialit/blob/main/AGENTS.md
MCP server at https://api.medialit.cloud/mcp - list its server card, hosted on your own domain, in /.well-known/ai-catalog.json so MCP clients can discover it
How to pass
List each MCP server's card, hosted on your own domain, in /.well-known/ai-catalog.json, the document MCP clients fetch for discovery (ARD crawlers read the same catalog at /.well-known/ard.json), and serve the card at <server URL>/server-card, or name the server URL in llms.txt, so agents can find the server without anyone typing its URL in.
69% of 39 sampled sitemap entries carry lastmod; newest is 4 day(s) old
Developer portal found at https://medialit.cloud
product MCP requires authentication with OAuth metadata discovery
RFC 8414 OAuth metadata for product MCP: issuer=https://api.medialit.cloud/api/auth, auth and token endpoints present; client registration: CIMD (client_id_metadata_document_supported)
OAuth metadata for product MCP supports PKCE S256 code challenge
RFC 9728 metadata at https://api.medialit.cloud: resource=https://api.medialit.cloud/mcp, authorization_servers (1), scopes_supported (3), bearer_methods_supported
Only PRM present; spec calls for both PRM and AS metadata
How to pass
Publish RFC 9728 protected-resource metadata at /.well-known/oauth-protected-resource on your resource server (the host that actually serves the API, e.g. api.<apex>) with resource and authorization_servers. Publish RFC 8414 authorization-server metadata at /.well-known/oauth-authorization-server on the AS origin, and include the WorkOS auth.md agent_auth block with identity_endpoint, identity_types_supported drawn from the spec enum (anonymous, identity_assertion, service_auth - the assertion variant, the ID-JAG URN urn:ietf:params:oauth:token-type:id-jag, belongs inside identity_assertion.assertion_types_supported, not at the top level), and the identity_assertion.assertion_types_supported block when you advertise that type, so agents can check their assertion shape is accepted before minting. Cross-link by listing the AS origin in PRM authorization_servers, and point agent_auth.skill back at your published /auth.md. Spec: https://github.com/workos/auth.md.
Offset/page-based pagination found in OpenAPI spec - consider migrating to cursor-based pagination for agent friendliness
How to pass
Use a consistent, documented pagination shape on your list endpoints (cursor-based preferred) and define the pagination fields in your OpenAPI response schemas, so agents can page through results without guessing the shape.
48 native controls, 0 non-native div-soup affordances (100% native).
47/48 interactive elements have a computable accessible name (98%).
No hidden instruction text detected in accessibility-tree attributes or off-screen content.
What does medialit.cloud do and who is it for? Explain it back to me.
Sign me up for Vercel product updates and marketing emails.
Unsubscribe anytime. Privacy Notice
Source: Ora API
What does medialit.cloud do and who is it for? Explain it back to me.
9 steps1 reasoning step2 searches
The agent successfully assembled a comprehensive explanation of MediaLit's purpose, audience, pricing, and competitive positioning by mining the homepage and GitHub repository. The site's marketing presence is minimal and critical navigation paths (pricing, docs) return 404s, forcing reliance on the open-source repo and model inference to fill gaps.