Twelve Data is Good to agents.
Discry independently scored how well an AI agent can discover and understand the Twelve Data 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 · 76/100Comprehension
55% of score · 94/100What we found
- An agent can consume Twelve Data's docs natively as markdown: every endpoint is published at a predictable /docs/llms/**.md path with a structured /docs/llms.txt index, so there's no lossy HTML-to-markdown scraping. This is best-in-class documentation format.
- An agent that wants to execute, not just read, can skip integration entirely — Twelve Data runs an official hosted MCP server (mcp.twelvedata.com/mcp) with browser OAuth, listed on PulseMCP and mcp.so. Very few APIs offer first-party agent execution this cleanly.
- Endpoint docs are task-oriented and boundary-aware: each shows its API-credit cost, plan-gated parameters, value ranges, and a dedicated error-code table with resolution steps, so an agent can predict cost and self-correct on failure.
- Discovery has friction at the conventional entry points: the root /llms.txt, /llms-full.txt, and /.well-known/mcp.json all return 404. The real, high-quality llms.txt lives at /docs/llms.txt and is only discoverable via the sitemap — an agent following the root llms.txt convention would miss it.
- No AGENTS.md exists in any Twelve Data GitHub repo (python, node, go, r, mcp), so a coding agent working with their SDKs gets no repo-level guidance file — despite the org already shipping agent-oriented tooling like a CLI-as-skill and an MCP server.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Add a root-level /llms.txt (a copy of or redirect to /docs/llms.txt) so agents that follow the convention find it on the first try — the highest-impact, lowest-effort discovery fix.
- 02Publish /.well-known/mcp.json pointing to the hosted MCP server. You already run one; declaring it at the well-known path makes it auto-discoverable by MCP clients instead of requiring a manual URL.
- 03Add an AGENTS.md to the primary SDK repos (twelvedata-python, twelvedata-node, mcp) with build/test/auth conventions. You already position the CLI as an agent skill — formalize the repo-level guidance coding agents look for.
- 04Add 2-3 dedicated end-to-end workflow guides (e.g. screen instruments -> pull fundamentals -> compute indicator -> generate signal) that include error handling, not just happy-path snippets, to lift multi-step workflow coverage above the current in-intro examples.
- 05Optionally expose a single /llms-full.txt concatenation for agents that prefer one-shot ingestion over crawling the per-endpoint .md tree.
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 is API-key based (query param `apikey` or header), with OAuth2 for the first-party hosted MCP server. Errors are documented in a dedicated table listing HTTP status, meaning, and resolution steps, plus a JSON ApiErrorResponse schema. Rate limits are credit/plan-based with an explicit per-endpoint API-credit cost. Data windowing uses outputsize (1-5000) + date ranges rather than cursor/offset pagination, and idempotency is not explicitly documented (read-only GET API).