CVS Health: 54 of 100 on Ora's agent-readiness scan

In short

CVS Health scores 54 of 100 on Ora's agent-readiness scan, grade C, read on 9 November 2026. 60 percent of the 132,085 domains Ora ranks score under 50, and the average score is 44. A readable site with broken JSON-LD and a developer portal written for people.

The score

CVS Health runs a pharmacy chain, the insurer Aetna and a pharmacy benefit manager from Rhode Island.

  • 54of 100, grade C
    Ora's agent-readiness scan of cvshealth.com, read 9 November 2026.
  • 13Discovery, of 15
    Whether assistants find the company: search presence, Wikipedia and Wikidata, catalogues.
  • 31Access, of 57
    Whether they can read it: the door, text without JavaScript, llms.txt, structured data.
  • 23Usability, of 63
    Whether they can act through it: an MCP server, an API with a specification, sign-in for agents.
  • 0Payments, of 0
    No check in this layer applied to the site.

60 percent of the 132,085 domains Ora ranks score under 50, and the average score is 44.

Ora's one-line summary: CVS Health offers brand discoverability, but lacks an OpenAPI specification.

What an assistant meets at the door

Before an assistant can read, compare or buy, it has to get in. These rows are the door: whether the bot shield lets the main agents through, what robots.txt tells the search, training and user-triggered agents, and whether the home page has text without running JavaScript.

The door at cvshealth.com
CheckResultWhat Ora saw
Not blocked by bot detectionPass, 2 of 2Site accessible to 4 agent user-agents (ChatGPT-User, OAI-SearchBot, Claude-User, PerplexityBot).
Agent crawler reachabilityPass, 2 of 2Reachable to every agent we tested - ChatGPT-User: reachable, OAI-SearchBot: reachable, Claude-User: reachable, PerplexityBot: reachable
robots.txt AI crawler policyPass, 2 of 2AI search crawlers: allowed in 3 of 3 checks (3 crawlers on 1 page). AI training crawlers: allowed in 2 of 2 checks (2 crawlers on 1 page), not scored.
robots.txt agent-user policyPass, 2 of 2No applicable crawl or usage restriction found for 3 user-triggered agents (chatgpt-user, claude-user, perplexity-user) on 1 public page: https://cvshealth.com/. Declared policy only;
Content without JavaScriptPass, 3 of 34230 chars, semantic headings (1 H1 + 8 H2s + 11 H3s), 6.1% content ratio
Homepage not hidden from searchPass, 1 of 1No noindex on the homepage: no robots, googlebot or bingbot meta tag and no X-Robots-Tag header hides it from search.

What it can read, and what it can do

The reading layer is what an assistant takes away from the pages: a text file written for it, markdown on request, structured data about the company, a sitemap. The act layer is whether it can do anything through a published interface rather than by clicking through the site.

Reading cvshealth.com
CheckResultWhat Ora saw
llms.txt existsPass, 1 of 1Found the llms.txt at https://developer.cvshealth.com/llms.txt.
llms.txt formattingPartial, 1 of 2The llms.txt starts with a heading and has 65 lines, but it contains no markdown links.
Markdown agent docsFail, 0 of 1Missing markdown content negotiation. Homepage returned text/html when probed with Accept: text/markdown (expected text/markdown), and none of the well-known root paths (/llms.md, /auth.md, /agents.md, /developers.md).
Bot-UA markdown servingFail, 0 of 1No probed bot User-Agent (ChatGPT-User, Claude-User, Perplexity-User) receives markdown when requesting HTML. Optional: detect AI-bot UAs server-side and serve them a markdown representation directly.
JSON-LD structured dataPartial, 1 of 4JSON-LD blocks found but contain invalid JSON
Organization schema completenessFail, 0 of 2No Organization type found in JSON-LD
Sitemap existsPass, 2 of 2Valid sitemap found at https://www.cvshealth.com/sitemap.xml with 1163 entries
Metadata completenessPartial, 1 of 22/4 metadata signals present - missing: canonical URL, og:type
Page token budgetPass, 1 of 1All 6 measured pages fit an agent context budget (largest ~2K tokens)
Acting through cvshealth.com
CheckResultWhat Ora saw
MCP server / manifestFail, 0 of 6No MCP server or manifest found
MCP well-known discoveryFail, 0 of 2No MCP server URL discovered
Public API with reachable endpointsPartial, 3 of 7API described in documentation at https://developer.cvshealth.com but no machine-verifiable API surface confirmed. Best-of-protocols score: 3/7.
Public API/docs linked from homepagePass, 3 of 3Documentation site found at https://developer.cvshealth.com
OpenAPI spec publishedFail, 0 of 7No OpenAPI/Swagger specification found
Developer portalPass, 6 of 6Developer portal found at https://developer.cvshealth.com
OAuth 2.0 supportFail, 0 of 5No OAuth 2.0 or OpenID Connect support detected
Scoped permissionsPartial, 2 of 5Scoped permissions described at https://developer.cvshealth.com, but no machine-readable scope declaration found (OpenAPI oauth2 scopes or RFC 9728 scopes_supported)
Multi-language SDK packagesFail, 0 of 3No SDK packages found across language ecosystems
CLI tool availableFail, 0 of 3No CLI tool found
WebMCP supportFail, 0 of 5No WebMCP support detected - no document.modelContext / navigator.modelContext usage found (scanned 3 of 3 same-origin script bundle(s) for modelContext registrations)
Finding CVS Health
CheckResultWhat Ora saw
Wikipedia / Wikidata entity presencePass, 4 of 4Wikipedia "CVS Health" and Wikidata Q624375 both verified - domain confirmed on both sources
Brand name discoverabilityPass, 3 of 3cvshealth.com ranks #2 for "CVS Health insurance"
Category share of voiceDid not apply, 0 of 6Category share of voice is in beta. It measures whether agents surface you for capability and use-case searches (not just your name).
Developer resource discoverabilityPass, 3 of 3Agent discovered 1 developer-resource type by name (developer portal) across 1 page

The six payment checks did not apply on this read: Ora did not read the site as a shop.

Three fixes to hand to the web team

Ora estimates how many points each open check would return. These are the largest on this read, in Ora's words where it gave them, so a leader can hand the list over without translating it.

  1. MCP server / manifest, worth about 4.2 points by Ora's estimate: No MCP server or manifest found.
  2. OpenAPI spec published, worth about 4.1 points by Ora's estimate: No OpenAPI/Swagger specification found.
  3. OAuth 2.0 support, worth about 3.5 points by Ora's estimate: No OAuth 2.0 or OpenID Connect support detected.

Our read

CVS Health is the better-built of the health groups read so far. All four agent user agents get in, robots.txt allows the search and training crawlers, the home page gives 4,230 characters at a 6.1 percent text ratio under a proper heading tree, five of five sampled pages read, the sitemap lists 1,163 pages and an llms.txt sits at developer.cvshealth.com, so the Access layer reads 31 of 57; the JSON-LD blocks are present but contain invalid JSON, and the metadata lacks its canonical URL and og:type. The act layer is a portal with the machine half missing: developer.cvshealth.com documents an API and describes scopes in prose, but Ora found no machine-verifiable surface and neither an OpenAPI specification nor OAuth discovery, and no MCP server, so the Usability layer reads 23 of 63. The domain ranks second for its insurance term and is confirmed on Wikipedia and Wikidata. Repairing the JSON-LD is a morning's work; the MCP server Ora values at 4.2 points is a quarter's.

Test your own site

Run the same scan on your own domain at ora.ai. The score, the layers and the fixes on this page come from its public result for cvshealth.com; a scan of a public site takes a few minutes and needs no account.

Sources

  1. Ora report for cvshealth.com (ora.ai/score/cvshealth.com), read 9 Nov 2026. Vendor claim.

Last reviewed