DBnomics MCP — meta-aggregator over 80+ stats providers. One uniform API for ECB / BLS / Eurostat / FRED / IMF / OECD / WB and most national stats agencies. Covers ~1 billion time series.
DBnomics MCP has well-structured tool definitions with clear naming (verb_noun pattern) and reasonable descriptions (avg 140 chars). All 5 tools have complete input schemas with proper JSON Schema types. However, parameter descriptions are sparse, many lack actionable constraints (e.g., 'limit' accepts 1-1000 but no validation guidance). Output schemas are entirely undocumented, forcing LLMs to guess response structure. Error handling is minimal (only HTTP status checks, no recovery guidance). No tool annotations (readOnlyHint, etc.). The server is read-only and stateless, which is good, but lacks the polish expected of production tools.
Browse series with structured filters. Useful when you know the provider+dataset and want to enumerate series by dimensions.
Fetch a specific time series. Series identified by (provider, dataset, series_code). Include observations to get the actual data points.
List all datasets available from a given provider.
List all available statistics providers in DBnomics.
Full-text search across all providers. Returns matching series with provider/dataset/series codes and human labels.
Output schemas completely undocumented. LLMs cannot predict response structure (fields, types, pagination). Forces trial-and-error parsing.
Parameter constraints (limit 1-1000, offset ≥0) stated in descriptions but not enforced in schema. No enum, minValue, maxValue, or pattern fields. LLMs may pass invalid values.
Error handling returns raw HTTP status codes and truncated response text. No recovery guidance (e.g., 'Try search_providers() first' or 'Rate-limited; retry in 60s'). LLMs cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, idempotentHint). All tools are read-only and safe to retry, but LLMs cannot infer this without explicit hints.
list_providers has empty inputSchema.properties but no description of what it returns or when to call it. Minimal guidance for discovery.