◎ Discry Score
snowplow.com
analytics · API
A
0 / 100
DISCOVERY0
COMPREHENSION0
Category leader: 92 (A)
Discry your API →
ANALYTICS · RANK #1 OF 29

Snowplow is Agent-Ready to agents.

Discry independently scored how well an AI agent can discover and understand the Snowplow 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 · 88/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.Partial
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.Fail
MCP registryThe API is listed in a public MCP registry.Partial
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.Pass
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.Partial

What we found

  • An agent looking for Snowplow would land in near-ideal conditions: docs.snowplow.io ships both a structured llms.txt and a 6.3MB llms-full.txt, robots.txt allows all crawlers, and every documentation page is available as clean markdown via a .md suffix — agent-native delivery, not an afterthought.
  • Snowplow has gone further than almost any analytics vendor on agent tooling: an official remote MCP server (console.snowplowanalytics.com/api/agent/mcp), a dedicated snowplow/skills repo bundling six SKILL.md agent skills, a native Claude Code plugin marketplace, and a /docs/llms-support/ section explicitly for working with AI.
  • The Console (BDP) API is fully described by a public OpenAPI 3.1 spec with task-oriented endpoint descriptions, named Simple/Complex examples using realistic UUIDs and ISO-8601 timestamps, documented auth, rate limits, and pagination — an agent can plan multi-step calls without guessing.
  • Comprehension is excellent for chaining work: end-to-end tutorials (abandoned-browse CCDP, Android tracking, AWS/GCP/Azure setup) and a dedicated failed-event recovery workflow with retry/backoff guidance give an agent explicit self-correction paths beyond bare error codes.
  • Two soft spots keep discovery off an A: there is no literal AGENTS.md or .well-known/mcp.json, and the llms.txt index is oversized at ~287KB (well past the ~50KB / 12K-token sweet spot), so an agent ingesting the index alone pays a heavy token cost.

What to change

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

  1. 01Trim or split the llms.txt index — at ~287KB it doubles as a near-full dump. Keep llms.txt to a concise, descriptive link map (<50KB) and let llms-full.txt carry the depth, so agents can cheaply orient before deep-reading.
  2. 02Add a literal AGENTS.md (or root CLAUDE.md) to the primary snowplow/snowplow and snowplow/skills repos. The skills bundle and component-level CLAUDE.md files already exist; a top-level AGENTS.md is the rising convention coding agents check first.
  3. 03Publish a .well-known/mcp.json at docs.snowplow.io (or the console domain) declaring the official MCP server endpoint, tools, and auth, so agents can auto-discover the MCP server without reading a blog post.
  4. 04Confirm and claim listings for the official Snowplow MCP server in the major third-party registries (Glama, Smithery, PulseMCP). The server is official and installable today, but no major-registry entry was found — registry presence is how most agents discover it.
  5. 05Add a short 'core capabilities in 5 minutes' overview that an agent can read in <5K tokens to grasp the platform (trackers → collector → enrich → load → Signals/Console API) before navigating the large component docs.

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-API-Key + X-API-Key-Id)Bearer JWT access token (exchanged via Credentials API, 24h lifetime) Error format documented Rate limits documented Pagination documented Idempotency documented

Execution characteristics are documented to an unusually high standard in a public OpenAPI 3.1 spec: Bearer-JWT auth obtained by exchanging an API key, a machine-parseable ApiError JSON shape for 400/401/403/429, an explicit token-bucket rate limit (40-request burst, 20 req/s sustained, 429 on breach), and limit/offset + ISO-8601 timestamp cursor pagination. Idempotency keys are the one undocumented gap.

See your own Discry Score.

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

Discry your API — free