# aquaview-mcp MCP server

AQUAVIEW MCP Server - Search and access global oceanographic and environmental datasets.

## Links
- Registry page: https://www.getdrio.com/mcp/org-aquaview-aquaview-mcp
- Repository: https://github.com/AQUAVIEW-DAH/aquaview-mcp

## Install
- Endpoint: https://mcp.aquaview.org/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://mcp.aquaview.org/mcp
- Remote endpoint: https://mcp.aquaview.org/sse

## Tools
- 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. Endpoint: https://mcp.aquaview.org/mcp
- get_item - Fetch a single AQUAVIEW dataset item with full details, properties, and download links (assets).

STAC items embed assets inline — each asset includes an href (download URL) and media type, so there is no need for a separate "files" call.

Args:
    collection: The collection ID the item belongs to (e.g., "NOAA", "NDBC", "WOD"). Available from search results or list_collections.
    item_id: The unique item identifier (e.g., "wod_xbt_ZZ144579"). Available from search results.
    output_format: "toon" (default) or "json".

Returns:
    Full STAC item with geometry, properties (title, description, datetime, institution, variables, etc.), and assets (download links with media types). Endpoint: https://mcp.aquaview.org/mcp
- list_collections - List all available AQUAVIEW data collections (sources).

Returns a summary of each collection with ID, title, description, spatial/temporal extent, and keywords. Use collection IDs to filter searches.

Args:
    output_format: "csv" (default, sectioned CSV — ~20% fewer tokens than TOON for this tabular response), "json", or "toon". Use "json" for deterministic/structured consumers.

Returns:
    List of collections with count. CSV mode emits a single `## collections`
    section with columns id,title,bbox,temporal,keywords,description;
    bbox is rendered as "west,south,east,north"; temporal as "min|max";
    keywords ";"-joined. Endpoint: https://mcp.aquaview.org/mcp
- aggregate - Run aggregation queries on the AQUAVIEW catalog — get counts, spatial distributions, temporal distributions, and per-collection breakdowns without fetching individual items.

Args:
    aggregations: Comma-separated aggregation types (required). Valid types: total_count, datetime_max, datetime_min, datetime_frequency, collection_frequency, geometry_geohash_grid_frequency, geometry_geotile_grid_frequency.
    collections: Comma-separated collection IDs to scope the aggregation (e.g., "NOAA,NDBC").
    exclude_collections: Comma-separated collection IDs to omit from the aggregation (e.g., "INCIDENT_NEWS"). Applied as a CQL2 NOT filter, so it composes with `filter`.
    bbox: Bounding box as "west,south,east,north".
    datetime: Temporal filter (same format as search_datasets).
    q: Free-text search to scope the aggregation. Multi-word queries are tokenised on whitespace and OR-combined to mirror search_datasets semantics (aggregate compiles q to CQL2 LIKE clauses on title/description; a raw %multi word% substring match would return 0 for most queries).
    filter: CQL2-JSON filter as an object or JSON-encoded string. Flat example: {"op": "=", "args": [{"property": "aquaview:institution"}, "NOAA"]}. Nested example: {"op": "<=", "args": [{"property": "aquaview:column_stats_summary.variables.Pressure.min"}, 10]}.
    license: Comma-separated SPDX license id(s) to scope the aggregation (e.g., "CC-BY-4.0,CC0-1.0"), or one of "public-domain", "proprietary", "various", "unknown". Matched against `aquaview:license`.
    precision: Grid precision for geo aggregations (1-12, higher = finer grid). Applied to whichever geo aggregation type is requested.
    datetime_frequency_interval: Interval for datetime_frequency (e.g., "month", "year", "day").
    output_format: "csv" (default, sectioned CSV — ~50% fewer tokens than TOON for bucket responses), "json" (structured STAC API response), or "toon". Use "json" for deterministic/structured consumers.

Returns:
    Aggregation results. In CSV mode: one `## <name>` section per aggregation;
    scalars render on a single line; bucket aggregations render as CSV with a
    `# rows: N` header, a `# key=value` line for columns that are constant
    across all rows, and a conventional CSV table of the varying columns.
    In JSON/TOON mode: the raw SFEOS response with `name`, `data_type`, and
    `value`/`buckets` for each requested aggregation. Endpoint: https://mcp.aquaview.org/mcp

## Resources
- aquaview://geo_hints - Geographic location hints (TOON format for token efficiency). MIME type: text/plain

## Prompts
Not captured

## Metadata
- Owner: org.aquaview
- Version: 0.2.0
- Runtime: Sse, Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Oct 31, 2025
- Source: https://registry.modelcontextprotocol.io
