Taiwan MCP server: taiwan-flood (flood and water resource data)
Server defines 5 tools with consistent verb_noun naming (get_*) and Chinese descriptions. All tools have input schemas with Zod validation and parameter descriptions. However, descriptions are brief (10-20 chars in English equivalent) and lack actionable context for LLM selection. No output schemas documented. Parameters are all optional strings with minimal constraint guidance. Error handling is basic (isError flag only). No tool annotations (readOnlyHint, destructiveHint). Composition is sound, each tool has one responsibility and tools chain via natural identifiers (county, city, river_name). Missing: pagination guidance, result limits, recovery hints in error responses.
查詢台灣各地區淹水潛勢資料,可依縣市或鄉鎮篩選
取得即時淹水警報,來自 Civil IoT 感測器
查詢即時雨量觀測資料,可依縣市或測站篩選
取得全台水庫即時水情,含蓄水量與進出水量
取得河川水位觀測資料,含警戒狀態
No output schemas documented. LLMs cannot plan downstream calls or extract required fields without knowing response structure (e.g., does get_flood_potential return risk_level, affected_areas, timestamp?).
Descriptions are minimal (10-20 chars) and lack WHEN/WHY context. E.g., 'get_flood_potential' should explain: 'Retrieve flood risk zones for a region. Use this to assess vulnerability before heavy rain. Returns risk level (low/medium/high) and affected areas.'
All parameters are optional strings with no enums, ranges, or format constraints. LLMs may pass invalid county names or malformed station names. Add validation hints: 'county: valid Taiwan county name (e.g., 臺北市, 新北市)' or use enum constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
No pagination or result limit guidance. If get_flood_warnings returns 1000+ alerts, context window explodes. Add limit parameter (default 20, max 100) and document in description.
Error responses only return isError flag with no recovery guidance. When a county name is invalid, return: 'County not found. Valid counties: 臺北市, 新北市, ...' to enable LLM self-correction.