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.
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/100Comprehension
55% of score · 96/100What 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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.