Hong Kong recreation MCP Server providing recreation data tools for creative goods trade data
Single tool server with adequate naming and schema structure. Tool name 'get_creative_goods_trade' follows verb_noun convention and is clear. Input schema is properly defined with Pydantic Field annotations and Annotated types. However, description is somewhat generic and lacks context about when to use the tool or what makes it unique. Parameter descriptions are minimal (5-10 words each). Output schema is partially documented in docstring but not explicitly in the code structure. No error handling guidance for common failure cases (API timeout, malformed CSV, invalid year ranges). The server is simple and functional but lacks polish expected for production-grade tools.
Domestic Exports, Re-exports and Imports of Creative Goods in Hong Kong
Tool description lacks guidance on when to use it and what problem it solves. Current description 'Domestic Exports, Re-exports and Imports of Creative Goods in Hong Kong' is purely functional but does not explain use cases or context for LLM decision-making.
Parameter descriptions are extremely sparse (5-10 characters each: 'Start year of range', 'End year of range'). Current annotations lack constraint information (e.g., valid year ranges, whether years must be YYYY format, whether range is inclusive).
Output schema is documented only in the function docstring (returns List[Dict]) with no inline type hints visible in the tool registration. LLMs cannot infer the structure of 'processed_row' dict keys (year, category_code, category, trade_type_code, trade_type, value, percentage) without reading implementation code.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 64 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 45 | - | v1 |
No error handling guidance. If the CSV fetch fails (network error, encoding error, malformed data), the function returns {'type': 'Error', 'error': <message>} but provides no recovery hint for the LLM.
No input validation or constraint documentation. Parameters accept optional integers but do not specify: (1) valid year range (earliest/latest available years), (2) whether end_year must be >= start_year, (3) behavior if both are None (returns all data, potentially thousands of rows without pagination). No limit is documented in the tool description.
No pagination support. Tool returns all matching rows in a single response (List[Dict]). If the dataset grows (e.g., adding more years or categories), the response could exhaust context window. No limit parameter, no cursor/offset, no total count.