Paragon is Agent-Ready to agents.
Discry independently scored how well an AI agent can discover and understand the Paragon 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 · 93/100Comprehension
55% of score · 87/100What we found
- An agent can consume nearly the entire documentation surface without HTML scraping: every docs page is served as native markdown (.md, text/markdown), backed by llms.txt, a 2MB llms-full.txt, a .well-known/mcp.json, and a hosted 2.5MB OpenAPI 3.0 spec (docs.useparagon.com/actionkit/openapi.json) covering the full tool catalog.
- The docs robots.txt explicitly opts INTO AI consumption with Content-Signal: ai-train=yes, search=yes, ai-input=yes — an agent crawler is affirmatively welcomed rather than merely tolerated.
- Paragon ships first-party agent tooling beyond docs: an official paragon-mcp MCP server (listed on mcp.so, LobeHub, PulseMCP) and a paragon-ai-skills repo with AGENTS.md providing setup skills for agentic IDEs.
- Rate limits are completely undocumented — the words 'rate' and 'limit' do not appear in the docs index, so an agent discovers throttling only by failing at runtime. Idempotency is also unmentioned.
- Error responses are machine-parseable with requestIds and sample payloads, but recovery guidance is dashboard-oriented (Monitoring page log traces) — an agent hitting a common error gets no explicit 'do X to fix it' instructions.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Publish a rate limits page documenting per-endpoint limits, 429 behavior, and retry/Retry-After header semantics — the single biggest capability-boundary gap.
- 02Add actionable recovery guidance for the top 5-10 error scenarios (e.g., expired Paragon User Token, missing actionkit JWT permission, integration OAuth failures) instead of pointing only to dashboard log traces.
- 03Slim llms.txt below 50KB and add one-line descriptions per link — it is currently a ~100KB flat link list, so an agent burns tokens navigating it.
- 04Add tool declarations to .well-known/mcp.json and host the MCP endpoint on a first-party domain (it currently points to a paragon.main-kill-isr.mintlify.me URL).
- 05Unify casing conventions across the API surface — query params are snake_case (limit_to_available) while body fields are camelCase (paginationParameters, pageCursor).
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.
Auth (JWT Bearer via Paragon User Token), a machine-parseable JSON error format with message/code/status/requestId, and cursor-based pagination (paginationParameters/pageCursor) are all documented. Rate limits and idempotency support are not documented anywhere in the docs index.