Fairfax County GIS — Fairfax County, Virginia open geospatial data (ArcGIS).
Three well-named, read-only tools with clear descriptions and complete input schemas. Tool names follow verb_noun pattern (search_datasets, query_layer, layer_info). Descriptions are substantive (150 - 200 chars) and explain what each tool does and when to use it. All required parameters are marked. However, output schemas are not documented, LLMs cannot predict response structure. Parameter descriptions lack format constraints (e.g., 'url must be https and end in /FeatureServer/<n>' is in code validation, not schema). No error handling guidance in descriptions. Missing pagination documentation for search_datasets despite returning a 'total' field.
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 Fairfax County GIS open geospatial datasets (parcels, zoning, public safety & planning) 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 not documented. LLMs cannot predict response structure (fields, types, nesting). search_datasets returns {total, count, datasets[{id, name, summary, org, org_id, record_count, type, url}]} but this is invisible to the agent.
Parameter format constraints embedded in code validation (layerUrl function) but not in schema descriptions. LLMs cannot read code, they need 'url must be https, public ArcGIS host, and end in /FeatureServer/<n> or /MapServer/<n>' in the description field.
search_datasets returns 'total' count but no pagination guidance. Description does not explain how to iterate through large result sets or what happens if total > limit. Agents cannot discover page[size] parameter from ArcGIS Hub API.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
No error handling guidance in tool descriptions. If a query fails (invalid SQL, missing layer), LLMs receive raw ArcGIS error responses with no recovery hints. Descriptions should state 'If query fails, check where clause syntax or verify layer url with layer_info first.'
query_layer 'where' parameter description includes example SQL but no format constraints. LLMs may hallucinate invalid SQL syntax. Should specify 'Standard ArcGIS SQL-92 syntax; use single quotes for strings, double quotes for field names.'