◎ Discry Score
chroma.com
ai · API
A
0 / 100
DISCOVERY0
COMPREHENSION0
Category leader: 99 (A)
Discry your API →
AI · RANK #4 OF 43

Chroma is Agent-Ready to agents.

Discry independently scored how well an AI agent can discover and understand the Chroma API from what’s public — not whether it’s usable. Below: every signal we checked, what’s costing the score, and what to change.

Discry your API — freeView the docs ↗

SCORED UNDER RUBRIC 1.2 · A full re-launch under Discry Score 2.5 — a new behavioral instrument, not comparable to these scores — is in progress.

Discovery

45% of score · 100/100
OpenAPI specA machine-readable OpenAPI/Swagger spec agents can parse.Pass
llms.txtAn llms.txt index that points agents to the docs that matter.Pass
llms.txt qualityThe llms.txt is focused, current, and well under the size budget.Pass
llms-full.txtA full-text bundle agents can load in one request.Pass
AGENTS.mdAn AGENTS.md that tells coding agents how to build on the API.Pass
.well-known/mcp.jsonA discoverable MCP manifest at a well-known path.Pass
MCP registryThe API is listed in a public MCP registry.Pass
robots.txt AI directivesrobots.txt allows (or explicitly guides) AI crawlers.Pass
SitemapA sitemap so agents can enumerate the docs surface.Pass

Comprehension

55% of score · 96/100
Task-oriented descriptionsEndpoints described by what they accomplish, not just their shape.Pass
Realistic examplesRunnable, real-world request/response examples.Pass
Multi-step workflowsDocs that chain calls into complete jobs an agent can follow.Pass
Error-recovery guidanceDocumented failure modes and how to recover from them.Partial
Answer-first formatThe answer leads; preamble does not bury it.Pass
Capability boundariesClear limits — what the API can and cannot do.Pass
Naming consistencyConsistent, predictable naming across endpoints.Pass
Heading hierarchyClean heading structure agents can navigate.Pass
Markdown docsDocs available as clean markdown, not JS-rendered HTML only.Pass
Token efficiencyDocs are concise enough to fit an agent context window.Pass

What we found

  • An agent looking for Chroma would find it instantly and completely: robots.txt explicitly opts in to AI training and input, a well-structured API-focused llms.txt indexes every doc page, a valid .well-known/mcp.json points to a live MCP endpoint, and the official Chroma MCP server is listed on both PulseMCP and Glama — a perfect discovery sweep.
  • Every REST reference page ships as clean markdown with an embedded, complete OpenAPI 3.1 fragment (real spec live at api.trychroma.com/openapi.json), including multi-language x-codeSamples in Python, TypeScript, and Rust — an agent can read the exact request/response schema and copy working code without JS rendering.
  • Endpoint descriptions are task-oriented ('Queries a collection using dense vector search with metadata and full-text search filtering') rather than bare interface notes, and the getting-started guide even hands agents a ready-made install prompt for Claude Code / Cursor / Codex.
  • Capability boundaries are exceptionally well documented: a full quotas-and-limits table (max dimensions, records per collection, concurrent reads/writes, results returned) plus a troubleshooting page — an agent learns limits from docs rather than by failing against them.
  • The one gap is REST-level error recovery: HTTP 401/404/500 responses are documented with a JSON shape but no per-error 'what to do next' guidance, and there is no rate-limit retry/backoff instruction — so an agent hitting a 401 or a concurrency ceiling must infer the fix.

What to change

Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.

  1. 01Add per-status error-recovery guidance to the REST reference (e.g. '401: verify the x-chroma-token header and that the key matches the target tenant'; '404: confirm the collection UUID/CRN and database exist') so agents can self-correct instead of guessing.
  2. 02Document behavior at the concurrency and quota ceilings — what status/error surfaces when the 10-concurrent-reads or 300-results-per-query limit is exceeded, and the recommended backoff or batching pattern.
  3. 03State idempotency semantics explicitly for write endpoints (add/upsert/create-collection), clarifying which operations are safe to retry and whether get_or_create is the idempotent path, so agents can safely re-issue failed writes.
  4. 04Fix the /api-reference/openapi.json endpoint, which currently serves the Mintlify 'Plant Store' placeholder spec; point it at the real chroma-frontend spec so agents probing the conventional path don't ingest a decoy.

Execution coverage · INFORMATIONAL, UNSCORED

Whether an agent can actually complete a call and recover from errors is the deeper Audit layer — documented here, but not part of the Discry Score.

API key (x-chroma-token header) Error format documented Rate limits documented Pagination documented Idempotency documented

Chroma documents a machine-parseable JSON error format ({error, message}) with standard HTTP status codes (401/404/500) on every endpoint. Auth is a single API-key scheme (x-chroma-token). Cloud quotas and per-collection concurrency limits (10 concurrent reads/writes) are published rather than request-rate limits, and pagination is documented via limit/offset query parameters. Idempotency keys are not documented, though get_or_create semantics provide idempotent-like collection creation.

See your own Discry Score.

Drop your API docs URL. See what an agent sees — in 60 seconds, free.

Discry your API — free