geoBoundaries MCP — open database of political administrative boundaries.
Two well-defined tools with clear naming (get_boundaries, get_geometry), complete input schemas with proper enums and descriptions, and thoughtful parameter validation. Descriptions are detailed and explain constraints (e.g., 4 MB geometry cap, ADM level restrictions). However, output schemas are not formally documented, responses are inferred from code. Error handling is present but generic. No tool annotations (readOnlyHint, idempotentHint). Naming follows verb_noun pattern correctly. Parameters have types and descriptions. Composition is clean: each tool has one responsibility.
Get administrative boundary metadata for a country from geoBoundaries: unit count, year represented, source, license, and download URLs for full GeoJSON (gjDownloadURL), simplified GeoJSON (simplifiedGeometryGeoJSON), TopoJSON (tjDownloadURL) and a static zip. ISO3 is the 3-letter country code (USA, FRA, KEN, IND). ADM level: ADM0=country, ADM1=state/province, ADM2=county/district, ADM3/ADM4=finer, ALL=every level. Default product gbOpen is CC-BY.
Fetch the actual simplified GeoJSON FeatureCollection geometry for a country/ADM level from geoBoundaries. WARNING: geometry payloads are large (a simplified national ADM1 set can be several MB); this only returns the simplified geometry and refuses payloads over ~4 MB — for those use get_boundaries and download the URL directly. Prefer get_boundaries unless you explicitly need the coordinates. Not valid for adm="ALL".
Output schemas not formally documented. Callers must infer response structure from code (e.g., get_boundaries returns metadata object; get_geometry returns {iso3, adm, product, source, license, admUnitCount, geojson}). LLMs cannot plan downstream tool calls without knowing what fields to expect.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Both tools are read-only and idempotent, but this is not declared in the schema. Agents cannot distinguish safe tools from destructive ones without explicit hints.
Error messages are generic ('geoBoundaries: 404 ...', 'Unknown tool: ...'). No recovery guidance. When a combination is not found, the error does not suggest alternatives or next steps. Agents cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
get_geometry description warns about 4 MB cap but does not explain what happens if the limit is exceeded. The error message is clear ('simplified geometry is X bytes > 4MB cap'), but the description should preemptively state: 'Returns error if simplified geometry exceeds ~4 MB; use get_boundaries to download directly.'
No pagination or result limits documented. get_boundaries returns a single metadata object (not paginated), but if geoBoundaries API ever returns arrays, the tool lacks limit/offset parameters. Current design is acceptable but not future-proof.