City of Irvine GIS — Irvine, California open geospatial data (ArcGIS). Provides access to parcels, zoning, parks & city services datasets via ArcGIS Feature Services.
Three well-named, read-only tools with clear descriptions and complete input schemas. All tools follow verb_noun naming (search_*, query_*, layer_info). Descriptions are concise (100 - 200 chars) and explain WHAT, WHEN, and WHAT-TO-DO-NEXT. Input schemas include types and descriptions for all parameters. However, output schemas are not documented, LLMs cannot predict response structure. Parameter descriptions lack format constraints (e.g., 'limit: 1 - 50' is stated but not formalized). No error handling guidance or recovery paths. SSRF guard in layerUrl() is a security plus, but not reflected in tool descriptions.
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 City of Irvine GIS open geospatial datasets (parcels, zoning, parks & city services) 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, pagination). Agents must guess what fields to extract for downstream calls.
No error handling guidance. Tools throw generic errors ('ArcGIS Hub: 404', 'Invalid input') without recovery hints. LLMs cannot self-correct or know whether to retry.
Parameter constraints stated in descriptions but not formalized in schema. 'limit: 1 - 50' is prose, not a JSON Schema minValue/maxValue. LLMs may pass invalid values; validation happens at runtime.
query_layer and layer_info accept arbitrary ArcGIS URLs. While layerUrl() validates HTTPS and path format, descriptions do not explain the SSRF guard or what URLs are valid. Agents may attempt invalid URLs without understanding constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
search_datasets returns raw ArcGIS Hub response fields (id, attributes, meta.stats). Response includes irrelevant metadata (type, org_id). Should strip to essentials: name, summary, record_count, url.