MCP Server for coordinate conversion and spatial calculations
GeoCalculator has three tools with complete input schemas and descriptions in Chinese. However, naming violates verb-noun conventions (mcp_geo_convert, mcp_geo_calculate_distance, mcp_geo_calculate_area use prefixes instead of action verbs like convert_coordinates, calculate_polyline_distance). Descriptions are present but generic, they explain WHAT the tools do but lack WHEN to use them or prerequisites. Parameter descriptions are minimal (e.g., 'longitude' and 'latitude' lack range/format guidance). Output schemas are not documented, callers cannot predict response structure. Error handling is absent from visible code. No tool annotations (readOnlyHint, destructiveHint). Schemas are well-formed with proper types and enums, but lack constraints (e.g., coordinate bounds, unit validation). Overall: functional but below production baseline.
计算多边形面积。支持多种坐标系统输入,内部会先转换为WGS84坐标,再通过Web Mercator投影进行平面面积计算。多边形无需手动闭合。适用于中小尺度的面积计算。
计算折线的距离。支持多种坐标系统输入,内部会先转换为WGS84坐标,再通过Web Mercator投影进行平面距离计算。适用于中小尺度的距离计算。
在不同坐标系统之间转换坐标。支持BD09(百度)、GCJ02(火星)、WGS84(GPS)和Web Mercator投影坐标系统之间的互相转换。
Tool names do not follow verb_noun convention. 'mcp_geo_convert' should be 'convert_coordinates'; 'mcp_geo_calculate_distance' should be 'calculate_polyline_distance'. Prefix-heavy names obscure intent and violate 90% baseline of A+ tools starting with action verbs.
Output schemas are not documented. Callers cannot predict response structure (e.g., does convert_coordinates return [lon, lat] or {longitude, latitude}?). This forces LLMs to guess and breaks downstream tool chaining.
Parameter descriptions lack actionable constraints. 'longitude' and 'latitude' do not specify valid ranges (e.g., -180 to 180 for longitude, -90 to 90 for latitude). 'coordinates' array lacks minItems/maxItems guidance. LLMs cannot validate inputs without explicit bounds.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Descriptions lack WHEN-to-use guidance. 'mcp_geo_calculate_distance' states it supports 'multiple coordinate systems' and 'Web Mercator projection' but does not explain when to use this tool vs alternatives or what accuracy to expect. Descriptions should answer: What? When? Prerequisites?
No error handling guidance visible. Code lacks try-catch recovery paths or actionable error messages. If an LLM passes invalid coordinates, the tool will fail silently or return NaN. Error responses should guide the LLM: 'Invalid latitude: got 95, must be -90 to 90.'