Free, read-only access to official Brazilian economic data through semantic discovery, REST-aligned MCP tools, and source-preserving results.
Open Economics provides 4 well-named, read-only tools with clear semantic purpose (search, get_dataset, get_schema, get_observations). All tools have descriptions (10 - 200 chars) and input schemas with typed parameters. However, output schemas are not documented in the visible code, responses are shaped via modelVisibleResult() but the structured return type is not formally declared. Parameter descriptions are minimal (e.g., 'Stable official dataset ID' lacks format/constraint details). Error handling is absent, no guidance on retryability, user-fixable errors, or recovery paths. The server correctly avoids secrets in parameters and uses read-only operations, but lacks pagination documentation and per-parameter validation rules.
Retrieve official dataset identity, source, provenance, and query capability.
Query the explicit official selection of observations for a dataset with optional filtering.
Retrieve measures, dimensions, unit, and methodology for an official dataset.
Resolve an economic need and discover official datasets with semantic search.
Output schemas not documented. Tools return structured objects via result() but no formal schema is declared for clients to validate or plan downstream calls.
Parameter descriptions lack format/constraint details. 'Stable official dataset ID' does not specify format, length, or valid patterns. 'Natural-language economic need' lacks guidance on length or complexity.
No error handling or recovery guidance. Tools do not document what errors are possible, whether they are retryable, or what the LLM should do next (e.g., 'Dataset not found, try search() first').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2025-06-18+ | v2 |
Pagination not documented. get_observations accepts 'limit' but no 'offset' or 'cursor' parameter, and no total count or next_cursor is mentioned in the description.
Date parameters (start, end in get_observations) lack validation rules. Description says 'YYYY-MM-DD format' but does not specify whether dates are inclusive, exclusive, or what happens if start > end.