Skip to main content
Glama

search_datasets

Search the AQUAVIEW catalog — a comprehensive collection of 268K+ global oceanographic, atmospheric, and marine datasets from 15 sources (NOAA, NDBC, IOOS, WOD, CoastWatch, etc.), intended for scientific research, data analysis, and environmental monitoring.

You must provide at least one of: q, bbox, datetime, collections, filter, or token. Hint: When the user asks for a region, prefer the 'bbox' parameter over including region name in 'q'. Use the geo_hints resource for common bounding boxes.

Args: q: Free-text search across title, description, and keywords (e.g., "sea surface temperature"). Case-insensitive, OR logic across terms. bbox: Bounding box as "west,south,east,north" (e.g., "-98,24,-80,31" for Gulf of Mexico). datetime: Temporal filter. Single datetime, range ("2020-01-01T00:00:00Z/2024-12-31T23:59:59Z"), or open-ended ("../2024-01-01T00:00:00Z" or "2020-01-01T00:00:00Z/.."). collections: Comma-separated collection IDs to search within (e.g., "NOAA,NDBC,WOD"). Use list_collections to see available IDs. exclude_collections: Comma-separated collection IDs to omit from results (e.g., "INCIDENT_NEWS" to drop oil-spill reports from free-text searches). Applied as a CQL2 NOT filter, so it composes with filter. filter: CQL2-JSON filter as an object or JSON-encoded string. Supports flat and nested property paths. Flat example: {"op": "=", "args": [{"property": "aquaview:institution"}, "NOAA/NCEI"]}. Nested example (filter by per-variable stats summary): {"op": "<=", "args": [{"property": "aquaview:column_stats_summary.variables.Pressure.min"}, 10]}. Supported operators: =, <>, <, >, <=, >=, like, between, in, and, or, not. license: Comma-separated SPDX license id(s) to match exactly (e.g., "CC-BY-4.0,CC0-1.0"). Also accepts the controlled extra values "public-domain", "proprietary", "various", "unknown". Matched against aquaview:license, which is normalized on every item regardless of source. sortby: Sort specification as "+field,-field" (e.g., "+properties.datetime,-id"). + = ascending, - = descending. limit: Number of results to return, 1-100. Defaults to 10. token: Pagination token from a previous response's 'next_token' field. Pass this to get the next page of results. fields: Comma-separated list of fields to include in results (e.g., "id,geometry,properties.title"). Reduces response size. When set in CSV mode, emits projected columns (no canonical columns, no asset_keys, no ## assets section). include_assets: If False (default), asset download records are omitted to save ~60-70% of response tokens; CSV mode still emits a capped asset_keys hint column (e.g. column_stats;overview;gdac_prof;+[N]) so an agent can see what kinds of assets exist. To get full URLs, call get_item(collection, item_id) for the specific id. If True, assets are included inline (full dict for JSON/TOON; ## assets section with item_id,key,href,type,title rows for CSV). output_format: "csv" (default, sectioned CSV — canonical columns including asset_keys hint), "json", or "toon".

Returns: Search results with metadata (total matched, returned, next_token) and items. CSV mode emits ## metadata + ## items sections and a ## assets section when include_assets=True; columns are id,collection,bbox,datetime,title,institution, platform_type,cdm_data_type,variables,keywords,source_url,description, column_stats_summary,geometry,asset_keys. JSON/TOON return the STAC feature shape, with the assets dict present only when include_assets=True.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNo
bboxNo
limitNo
tokenNo
fieldsNo
filterNo
sortbyNo
licenseNo
datetimeNo
collectionsNo
output_formatNocsv
include_assetsNo
exclude_collectionsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed14 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / bbox / description
      Removed value: -"Bounding box as \"west,south,east,north\" (e.g., \"-98,24,-80,31\" for Gulf of Mexico)."
    • removedInput schema / properties / collections / description
      Removed value: -"Comma-separated collection IDs to search within (e.g., \"NOAA,NDBC,WOD\"). Use list_collections to see available IDs."
    • removedInput schema / properties / datetime / description
      Removed value: -"Temporal filter. Single datetime, range (\"2020-01-01T00:00:00Z/2024-12-31T23:59:59Z\"), or open-ended (\"../2024-01-01T00:00:00Z\" or \"2020-01-01T00:00:00Z/..\")."
    • removedInput schema / properties / exclude_collections / description
      Removed value: -"Comma-separated collection IDs to omit from results (e.g., \"INCIDENT_NEWS\" to drop oil-spill reports from free-text searches). Applied as a CQL2 NOT filter, so it composes with `filter`."
    • removedInput schema / properties / fields / description
      Removed value: -"Comma-separated list of fields to include in results (e.g., \"id,geometry,properties.title\"). Reduces response size. When set in CSV mode, emits projected columns (no canonical columns, no asset_keys, no `## assets` section)."
    • removedInput schema / properties / filter / description
      Removed value: -"CQL2-JSON filter as an object or JSON-encoded string. Supports flat and nested property paths. Flat example: {\"op\": \"=\", \"args\": [{\"property\": \"aquaview:institution\"}, \"NOAA/NCEI\"]}. Nested example (filter by per-variable stats summary): {\"op\": \"<=\", \"args\": [{\"property\": \"aquaview:column_stats_summary.variables.Pressure.min\"}, 10]}. Supported operators: =, <>, <, >, <=, >=, like, between, in, and, or, not."
    • removedInput schema / properties / include_assets / description
      Removed value: -"If False (default), asset download records are omitted to save ~60-70% of response tokens; CSV mode still emits a capped `asset_keys` hint column (e.g. `column_stats;overview;gdac_prof;+[N]`) so an agent can see what kinds of assets exist. To get full URLs, call `get_item(collection, item_id)` for the specific id. If True, assets are included inline (full dict for JSON/TOON; `## assets` section with item_id,key,href,type,title rows for CSV)."
    • removedInput schema / properties / license / description
      Removed value: -"Comma-separated SPDX license id(s) to match exactly (e.g., \"CC-BY-4.0,CC0-1.0\"). Also accepts the controlled extra values \"public-domain\", \"proprietary\", \"various\", \"unknown\". Matched against `aquaview:license`, which is normalized on every item regardless of source."
    • removedInput schema / properties / limit / description
      Removed value: -"Number of results to return, 1-100. Defaults to 10."
    • removedInput schema / properties / output_format / description
      Removed value: -"\"csv\" (default, sectioned CSV — canonical columns including asset_keys hint), \"json\", or \"toon\"."
    • removedInput schema / properties / q / description
      Removed value: -"Free-text search across title, description, and keywords (e.g., \"sea surface temperature\"). Case-insensitive, OR logic across terms."
    • removedInput schema / properties / sortby / description
      Removed value: -"Sort specification as \"+field,-field\" (e.g., \"+properties.datetime,-id\"). + = ascending, - = descending."
    • removedInput schema / properties / token / description
      Removed value: -"Pagination token from a previous response's 'next_token' field. Pass this to get the next page of results."
  2. Changed1 schema field changed
    • addedInput schema / properties / license
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Comma-separated SPDX license id(s) to match exactly (e.g., \"CC-BY-4.0,CC0-1.0\"). Also accepts the controlled extra values \"public-domain\", \"proprietary\", \"various\", \"unknown\". Matched against `aquaview:license`, which is normalized on every item regardless of source."
      +}
  3. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden and excels: it explains token savings with include_assets=False, the effect of fields parameter, output format details (CSV sections, JSON/TOON shape), and that full asset URLs require a separate call to get_item. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: a concise purpose statement, a required-parameter hint, then a detailed parameter list, and a returns section. It is somewhat lengthy but every sentence adds value. Could be slightly more efficient, but overall good.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 13 parameters, no schema descriptions, and an existing output schema, the description covers all parameters, edge cases (open-ended datetime, CQL2 examples, CSV mode details), and references siblings (list_collections, get_item). The return format is detailed, making it complete for correct tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description fully compensates. Every parameter is explained with format, examples, defaults, and constraints (e.g., bbox 'west,south,east,north', datetime range syntax, CQL2 filter syntax, sortby syntax, license values). This adds critical meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: searching the AQUAVIEW catalog of oceanographic datasets. It specifies the catalog scope (268K+ datasets from 15 sources) and intended use (scientific research, data analysis, environmental monitoring). This distinguishes it from siblings like get_item (single dataset) or list_collections (listing collections).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: 'You must provide at least one of: q, bbox, datetime, collections, filter, or token.' It also offers a hint on preferring bbox over q for region queries and references the geo_hints resource. It mentions using list_collections for collection IDs. However, it does not directly contrast with aggregate (e.g., when to use aggregation vs search).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.7/5.0
Disambiguation5/5

Each tool targets a distinct operation: listing collections, searching datasets, fetching item details, and running aggregations. No functional overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern: list_collections, search_datasets, get_item, aggregate.

Tool Count5/5

Four tools cover the core operations of a catalog server without being excessive or insufficient. The scope is well-defined.

Completeness5/5

The tool set provides a complete read-only interface: list collections, search with filters, retrieve items with assets, and aggregate statistics. No obvious gaps.

Resources