Model Context Protocol (MCP) server that gives LLM agents and chatbots direct access to the World Bank's Data360 Platform. Search, validate, and retrieve development indicators—from GDP and poverty to gender equality and climate—with structured metadata and time-series data, without hallucinating values.
Four tools with comprehensive schemas and detailed descriptions. All tools have clear verb-noun naming (search_, get_) and well-documented parameters with types. Descriptions are 50-200 chars, meeting LLM-optimization baselines. However, output schemas are not explicitly documented in the source code provided, and error handling guidance is minimal. Tools follow composition patterns well (search → get metadata → get data chain), but lack explicit error recovery hints and confirmation patterns for data retrieval operations.
Retrieve indicator observations from the Data360 API. Use when you need actual numeric values (OBS_VALUE) for specific countries and years. Ensure the database ID and the indicator ID are already in context before using this tool. Do not guess or hallucinate these IDs. Call `data360_get_disaggregation` first to find available years and breakdowns for the `disaggregation_filters`.
Get metadata and disaggregation options for a Data360 indicator. Use when you need detailed methodology, source notes, or limitations for an indicator. Ensure the database ID and the indicator ID are already in context (e.g., from `data360_search_indicators`) before using this tool. Do not guess or hallucinate these IDs.
Search for Data360 datasets matching a query. Use when the user asks for dataset details, catalogs, or source databases (e.g. "Findex", "WDI").
Search for Data360 indicators with enriched metadata for selection. Use when the user asks for data on a development topic (e.g. GDP, poverty, education). Default to using the single `query` parameter for any single topic/indicator search. Use the `queries` or `query_groups` parameters ONLY when the request involves multiple topics or scopes (2 or more). Provide exactly one of `query`, `queries`, or `query_groups`. One of these is strictly required.
Output schemas not documented in source. Tool descriptions explain inputs but do not specify return value structure (fields, types, pagination). LLMs cannot plan downstream calls without knowing what fields to extract.
No error handling guidance in tool descriptions. Tools do not explain what errors are retryable, what user-fixable errors look like, or how to recover from API failures. Agents lack recovery paths.
data360_search_indicators has complex parameter logic (query vs queries vs query_groups) documented in description but not enforced via schema constraints. LLMs may pass multiple simultaneously, causing ambiguity.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 79 | 2026-07-28+ | v2 |
No pagination guidance in tool descriptions. data360_search_indicators and data360_search_datasets accept limit/offset but do not document total count or next_cursor in return. Agents cannot determine if more results exist.
data360_get_data accepts year (single year) and start_year/end_year (range) but does not explicitly state these are mutually exclusive. LLMs may pass conflicting parameters.