MCP server exposing a fixed GIS tool allowlist for governed execution of geospatial operations with deterministic validation
GeoAgent defines 13 tools with complete input schemas and descriptions. Naming follows verb_noun convention (inspect_*, plan_*, assess_*, run_*, validate_*) and is generally clear. However, descriptions are terse (10-60 chars, well below the 194-char baseline), lacking context on WHEN to use each tool and what downstream actions they enable. Output schemas are not documented, LLMs cannot predict what fields to extract for chaining. Error handling and recovery guidance are absent. Two write tools (run_approved_vector_postgis_workflow, run_approved_recipe) lack confirmation/dry-run patterns despite irreversible consequences. Parameter descriptions are minimal; execution_envelope and plan_filename lack detail on expected structure.
Classify deterministic PostGIS comparison evidence.
Assess an approved vector input against a contract.
Compare two approved PostGIS relations without mutation.
Return only non-secret status and policy information.
Inspect one approved GeoServer publication target read-only.
Inspect bounded metadata for one approved PostGIS table.
Inspect a vector file inside the approved input root.
Descriptions are terse (10-60 chars vs 194-char baseline). Missing WHEN to use each tool, prerequisites, and downstream dependencies. LLMs cannot distinguish between similar inspect_* and plan_* tools.
Output schemas not documented. LLMs cannot predict what fields plan_* and assess_* tools return, blocking downstream tool chaining and forcing discovery calls.
Two write tools (run_approved_vector_postgis_workflow, run_approved_recipe) lack dry-run or confirmation patterns despite irreversible consequences. Agents cannot preview impact before execution.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Plan, but do not execute, one exact GeoServer publication.
Create a non-executing PostGIS load plan.
Plan an exact approved PostGIS relation promotion.
Run one exact server-verified approved recipe.
Run only an exact server-verified approved workflow.
Deterministically validate one PostGIS layer.
execution_envelope parameter (object type) lacks schema definition and description. LLMs cannot infer required fields, structure, or valid values.
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. LLMs cannot recover from failures.