ThinAirTelematics is Needs Work to agents.
Discry independently scored how well an AI agent can discover and understand the ThinAirTelematics 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 · 38/100Comprehension
55% of score · 84/100What we found
- The docsUrl on record (thinair.io) is a registry error — that domain is an unrelated pre-launch aviation 'Density Altitude Warning' app with no API. The real ThinAirTelematics product is ThinAir Data, a read-only database MCP + REST API at data.thinair.co; this scan assessed that surface.
- An agent looking for this API would find it well-served once inside the docs: a complete OpenAPI 3.1.0 spec (publicly at /v1/openapi.yaml), official listings on Glama, PulseMCP and Smithery, and a clean 23-tool catalog make discovery-of-capability and comprehension strong.
- But an autonomous crawler is actively locked out at the door — robots.txt (Cloudflare-managed) disallows ClaudeBot, GPTBot, Google-Extended, CCBot, Amazonbot, Applebot-Extended and meta-externalagent, and sets Content-Signal ai-train=no. Combined with no llms.txt / llms-full.txt / .well-known/mcp.json, discovery scores an F despite excellent underlying docs.
- Comprehension is genuinely agent-first: operation descriptions are task-oriented ('Scan a table for volume drops/spikes, data gaps, high null rates — severity-ranked'), errors carry actionable recovery guidance, and capability boundaries (read-only SQL firewall, tier gates, quotas, sampling) are documented explicitly — an agent learns limits by reading, not by failing.
- Field naming is inconsistent: the OpenAPI spec mixes snake_case (row_count, retry_after_ms, null_pct) with camelCase (executionTimeMs, rowCount, isPrimaryKey) inside the same schemas, which forces an agent to track two conventions.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Fix the directory record: the canonical docs/API home is data.thinair.co (spec at data.thinair.co/v1/openapi.yaml), not thinair.io. Re-point the registry entry so agents don't land on the aviation app.
- 02Stop blocking AI agents in robots.txt. The Cloudflare-managed block disallows every major AI crawler and sets ai-train=no — for an explicitly agent-facing MCP/API product this is self-defeating. At minimum allow ClaudeBot/GPTBot to reach /docs and /developers.
- 03Add an llms.txt at data.thinair.co linking the getting-started guide, the 23-tool catalog, /docs/errors, and the OpenAPI spec. This is the single highest-leverage discovery fix — it turns a scattered JS-rendered docs site into an agent-navigable index.
- 04Normalize field casing across the OpenAPI schema (pick snake_case OR camelCase and apply it everywhere, including the meta object) so agents don't have to reconcile executionTimeMs vs row_count.
- 05Publish a couple of task-oriented multi-step guides (e.g. 'connect → profile → find PII → firewall a table', 'cross-DB compare across regions') and expose docs as clean markdown; the onboarding quickstart is strong but tool-chaining workflows are currently implied rather than documented.
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.
Strong, machine-parseable execution documentation. Errors follow RFC 7807 problem+json with ThinAir extensions (code, request_id, retry_after_ms, upgrade_url) and per-status recovery hints (e.g. 409 deadlock 'safe to retry'). Quota/tier model is explicit (25 free queries/day, 1 unit per call, 429 with retry_after_ms). Result-size handling is documented via applied_limit/truncated/row_count (limit up to 1000) rather than cursor/offset pagination. No idempotency-key mechanism is documented — largely moot for a read-only API.