MCP server for China National Bureau of Statistics (CNBS) data access, supporting NBS, World Bank, IMF, OECD, BIS, census and department statistics
Server has 25 tools with consistent naming (verb_noun pattern: cnbs_*, ext_*) and descriptions present for all. However, parameter descriptions are minimal (often single-phrase), output schemas are not documented in source, and error handling guidance is absent. Tool names are clear but descriptions average ~80 chars, below the 194-char baseline for A+ tools. No tool annotations (readOnlyHint, destructiveHint) despite all being READ_ONLY. Parameter validation rules not visible in descriptions (e.g., cnbs_get_data accepts 'periods' array but format not specified). Composition is good, tools are single-purpose and chainable, but LLM-facing descriptions lack actionable context.
Find and fetch CNBS data in one call
Get CNBS time series data
Get complete guide for all CNBS tools and data sources
Get metrics for a CNBS data set
Get CNBS data tree nodes for a category
List all CNBS regions
Search CNBS indicators by keyword
Search CNBS regions by keyword
Fetch BIS (Bank for International Settlements) data
Output schemas not documented in source code. Tool descriptions state what is returned (e.g., 'Get CNBS time series data') but do not specify the structure of the response object, field names, or types. LLMs cannot plan downstream tool calls or extract data without knowing response shape.
Parameter descriptions are minimal (single phrase, <20 chars). E.g., 'periods' param: 'Array of period strings (e.g., 2024YY, 2024A, 202401MM)' lacks format specification, valid range, or error guidance. LLMs cannot validate input without explicit constraints.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
List BIS datasets
Search BIS datasets
Fetch China census data
Search China census indicators
Fetch China department statistics
Search China department statistics
Compare indicators across multiple international data sources
Fetch IMF DataMapper data
List IMF indicator categories
Search IMF indicators
Fetch OECD SDMX data
List OECD datasets
Search OECD indicators
Fetch World Bank data by indicator and countries
List World Bank indicator categories
Search World Bank indicators
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all 25 tools being READ_ONLY. Tool annotations enable clients to optimize caching, retry logic, and safety checks. Missing annotations force clients to assume worst-case (non-idempotent, destructive).
No error handling guidance in tool descriptions. Tools that call external APIs (World Bank, IMF, OECD, BIS) can fail due to network, rate limits, or invalid parameters. Descriptions do not explain what errors are possible, whether they are retryable, or what the LLM should do next.
Tool 'cnbs_find_and_fetch' combines search and fetch in one call. While convenient, it violates single-responsibility principle. If search succeeds but fetch fails, the LLM cannot retry fetch alone. Consider splitting into separate tools or documenting the combined behavior and error modes.