vatnode is Good to agents.
Discry independently scored how well an AI agent can discover and understand the vatnode 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 · 100/100What we found
- An agent looking to validate an EU VAT number would find vatnode extremely fast: it ships an official MCP server (vatnode-mcp on npm, MIT-licensed) listed across Glama, Smithery, the official MCP Registry and multiple marketplaces, with five well-annotated tools tuned for agent tool selection — the strongest discovery signal in this category.
- Comprehension is effectively flawless (100/100): every endpoint is task-oriented, examples use real values (IE6388047V → GOOGLE IRELAND LIMITED) across five languages, and each error code carries explicit 'How to handle' recovery steps (Retry-After, exponential backoff, clearing the requester in Settings) — an agent can self-correct without human help.
- A well-structured, API-focused llms.txt (7.8KB) and a public OpenAPI 3.1 spec at vatnode.dev/openapi.yaml (Scalar reference + one-click Postman) mean an agent has both a token-cheap overview and a machine-readable contract.
- Discovery is held back only by three near-universal misses: no llms-full.txt, no /.well-known/mcp.json, and no AGENTS.md in the public repos — none critical, but each is an easy point.
- The primary domain split is worth noting: vatnode.com is a marketing splash with no llms.txt, while all real docs, discovery signals and the API live on vatnode.dev — an agent handed only vatnode.com would need one hop to reach the documented surface.
What to change
Prioritized by impact on discoverability. You (or your docs platform) deploy these — Discry never touches your API.
- 01Add an AGENTS.md to the vatnode-mcp repo (and eu-vat-rates-data repos) with build/test commands and integration context — a rising standard and a free discovery point for coding agents.
- 02Publish a /.well-known/mcp.json on vatnode.dev pointing at the existing MCP server so agents can auto-discover it from the domain, not just from registries.
- 03Generate an llms-full.txt (the OpenAPI spec + core endpoint docs concatenated as markdown) so agents can ingest the full contract in one fetch.
- 04Add an llms.txt to vatnode.com (or 301 it to vatnode.dev) so an agent that lands on the apex marketing domain is routed straight to the documented API surface.
- 05List individual /docs/* endpoint pages in the sitemap (currently only /docs and /guides landings appear) to improve crawl coverage of the reference.
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.
Exceptional execution documentation. Auth is a single Bearer API key with distinct live (vat_live_) and test (vat_test_) prefixes. Errors are machine-parseable JSON with a stable {code, message, requestId, details} envelope, full HTTP status table, and VIES sub-codes. Rate limits are fully specified (per-IP 30/min for unauthenticated calls, monthly plan quotas, plus X-RateLimit-* and Retry-After headers). Pagination and idempotency-key mechanisms are not documented because the public surface is single-resource GETs (inherently idempotent); a bulk endpoint is mentioned as roadmap.