City of Onkaparinga GIS — Onkaparinga, South Australia open geospatial data (ArcGIS). Provides access to parcels, zoning, public works & city services datasets via ArcGIS Feature Service queries.
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 - 180 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 or plan downstream calls. Parameter descriptions lack format constraints (e.g., 'url must be https and end in /FeatureServer/<n>' is stated in code but not in schema description). No error handling guidance in descriptions. No pagination metadata documented 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 City of Onkaparinga GIS open geospatial datasets (parcels, zoning, public works & 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, nested objects) for any tool. Breaks downstream tool chaining and forces agents to guess field names.
Parameter descriptions lack format constraints. 'url' param states 'Feature/Map Service layer url' but does not document the https-only, no-IP, /FeatureServer/<n> or /MapServer/<n> suffix requirements visible in layerUrl() validation. LLMs cannot self-validate.
No error handling guidance in tool descriptions. Agents do not know what to do if a query fails (e.g., 'Invalid SQL where clause' or 'Feature Service returned 403'). Descriptions should hint at recovery steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
search_datasets returns 'total' and 'count' but pagination parameters (page, offset, cursor) are not documented in the response schema. Agents cannot plan multi-page queries or know if results are truncated.
query_layer 'limit' parameter description states '1-2000, default 50' but does not explain why 2000 is the cap or what happens if the user requests more. No guidance on result size impact on LLM context.