Geospatial and astronomy observation tools for AI assistants via MCP protocol
Two tools with complete input schemas and descriptions, but both descriptions are in Chinese and lack LLM-optimized English clarity. Schemas are well-formed with proper types and nested object definitions. However, descriptions are verbose (200+ chars) and lack actionable guidance on when/why to use each tool. No output schema documentation visible. No error handling guidance. Parameter descriptions exist but are minimal. Tool names are reasonably clear (analyze_*, compare_*) but lack verb-noun English convention. Missing security considerations, idempotency hints, and recovery guidance.
综合分析天文观测点条件 Args: latitude: 纬度坐标 (-90 到 90) longitude: 经度坐标 (-180 到 180) detail_level: 分析详细程度 ("basic" | "detailed") Returns: 包含海拔、光污染、综合评分的完整分析报告
对比多个观测点的条件 Args: locations: 待对比的地点列表,每个地点包含name, latitude, longitude Returns: 包含排名、对比表格和最佳推荐的对比报告
Descriptions are in Chinese and lack English clarity for LLM parsing. 'analyze_astronomy_site' description is 200+ chars with embedded Args/Returns format instead of natural prose. LLMs struggle with non-English descriptions and verbose formatting.
No output schema documented. The code shows SiteAnalysis dataclass and result dict construction, but tool definitions do not declare what fields the LLM should expect. LLMs cannot plan downstream calls or extract data without knowing response structure.
No error handling guidance. Code validates latitude/longitude ranges and detail_level enum, but tool definitions do not document what errors can occur or how to recover. LLMs receive raw exceptions with no actionable next steps.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
Parameter descriptions are minimal. 'detail_level' description is just '分析详细程度 ("basic" | "detailed")', no explanation of what 'detailed' returns vs 'basic', when to use each, or what extra data is included. Enum values are documented in description text rather than as formal enum constraint.
Tool names lack English verb-noun convention. 'analyze_astronomy_site' and 'compare_observation_sites' are clear but use underscores inconsistently with domain terminology. No indication these are read-only (safe to retry) vs state-modifying operations.