Prince William County GIS — Prince William County, Virginia open geospatial data (ArcGIS).
Three tools with clear verb-noun naming (search_datasets, query_layer, layer_info) and solid descriptions (150 - 200 chars). All tools have input schemas with typed properties and required fields. However, parameter descriptions lack actionable constraints (e.g., 'limit' has no min/max stated in description, only in code). Output schemas are undocumented, LLMs cannot predict response structure. Error handling is minimal (generic HTTP status errors). No enum constraints on free-form string parameters like 'where' clause. Missing guidance on chaining (e.g., 'pass url from search_datasets to query_layer'). Security: SSRF guard in layerUrl() is good, but no mention of rate limits or API quotas.
Get an ArcGIS Feature/Map Service layer's schema by url: fields (name + type), geometry type, total record count, and capabilities.
Query an ArcGIS Feature Service / Map Service layer by its url (from search_datasets). SQL-like `where`, comma-separated `out_fields`, `order_by`, `limit`, `offset`. Returns attribute rows (and geometry). Use where="1=1" + out_fields="*" to sample.
Search Prince William County GIS open geospatial datasets (parcels, addresses, zoning & public works) by keyword. Returns each dataset's name, summary, record_count, owner/org, and its Feature Service `url` — pass that url to query_layer / layer_info.
Output schemas undocumented. LLMs cannot predict response structure (fields, types, pagination). search_datasets returns {total, count, datasets[]} but this is invisible to the agent.
Parameter constraints not in descriptions. 'limit' accepts 1 - 50 (search_datasets) and 1 - 2000 (query_layer), but descriptions omit min/max. LLMs may pass invalid values.
Error handling is generic. 'ArcGIS Hub: 401' or 'ArcGIS query: 500' gives no recovery guidance. Should indicate retryable vs. user-fixable errors and suggest next steps.
No tool chaining hints. Descriptions mention 'pass that url to query_layer / layer_info' but do not explain the workflow or when to call each tool. Agents must infer the sequence.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
SQL 'where' clause is free-form string with no validation or examples. LLMs may generate invalid SQL syntax. Should provide examples or link to ArcGIS SQL reference.