Server has 5 tools with basic descriptions and input schemas, but significant gaps in parameter documentation, output schema clarity, and error handling. Tool names follow verb_noun convention (get_, search_, list_) which is good. However, most parameters lack descriptions, e.g., search_datasets has 10 parameters but only 'erddap_url' and 'page' have descriptions; spatial/temporal filters are undescribed. Output schemas are not documented: tools return raw strings or lists without field definitions. No error handling guidance. Descriptions are present but generic (e.g., 'List all datasets in an ERDDAP server' appears twice). No validation of datetime formats, coordinate ranges, or pagination bounds. Overall pattern adherence is weak.
Get data for a variable in a dataset served by an ERDDAP server. Time is always included in the results.
List all variable parameter CF standard names in datasets served by this ERDDAP server. These variable parameter standard names can be used when searching an ERDDAP for datasets containing variables measuring specific parameters. If we are looking for datasets with variables measuring a specific property, we should retrieve this list first and then use a discovered standard name value when searching the ERDDAP server.
List all variables for a dataset in an ERDDAP server
List all datasets in an ERDDAP server
List all datasets in an ERDDAP server
search_datasets has 10 parameters but only 2 have descriptions. Parameters like 'standard_name', 'min_longitude', 'max_longitude', 'min_latitude', 'max_latitude', 'min_time', 'max_time' lack any guidance on format, range, or constraints. LLMs cannot infer that coordinates must be floats in [-180, 180] or that times must be ISO 8601.
Output schemas are not documented. Tools return raw strings (list_datasets, list_dataset_variables, get_dataset_variable_data return CSV text) or untyped lists (search_datasets returns list of dicts with no field definitions). LLMs cannot plan downstream calls or extract structured data reliably.
No error handling or recovery guidance. Tools call external ERDDAP APIs with no try-catch, timeout handling, or user-facing error messages. If an ERDDAP server is down or returns 404, the agent receives a raw exception with no guidance on what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Duplicate tool names and descriptions. Both 'search_datasets' and 'list_datasets' have description 'List all datasets in an ERDDAP server'. LLMs cannot distinguish when to use each. search_datasets should clarify it filters/searches; list_datasets should clarify it returns all without filtering.
get_dataset_variable_data has a TODO comment ('assuming time variable is named time here') indicating incomplete implementation. The tool may fail silently if a dataset uses a different time variable name. No validation or error message guides the LLM.