@pipeworx/ioos-erddap

Connect: https://gateway.pipeworx.io/ioos-erddap/mcp · Install: one-click buttons

No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.

Tools: 4

US Integrated Ocean Observing System data — buoys, tide gauges, gliders, HF radar currents, water quality and regional ocean model grids — read live from the IOOS regional associations’ ERDDAP servers.

Tools

  • ioos_erddap_search_datasets(query, protocol?, node?, limit?) — full-text search of one node’s catalogue. Start here: every other tool takes a dataset_id from these results.
  • ioos_erddap_dataset_info(dataset_id, node?) — variables, units, axes, time coverage, licence.
  • ioos_erddap_tabledap(dataset_id, variables?, constraints?, node?, limit?) — station and glider timeseries rows.
  • ioos_erddap_griddap_point(dataset_id, variable, latitude, longitude, time?, depth?, node?) — one gridded value from a regional model or radar grid.

Auth

Keyless. Every node serves anonymously.

Data sources

Six nodes, selected with node. A dataset lives on exactly one of them, so getting node right is the first thing a caller has to do; a wrong id raises an error that lists them all.

nodeServerCoverage
nationalhttps://erddap.ioos.us/erddapIOOS-wide inventories, asset and metric datasets
sensors (default)https://erddap.sensors.ioos.us/erddapthe national in-situ sensor network
glidershttps://gliders.ioos.us/erddapevery US underwater glider deployment
paciooshttps://pae-paha.pacioos.hawaii.edu/erddapHawaii and the Pacific Islands; ROMS and WRF grids
secoorahttps://erddap.secoora.org/erddapthe US Southeast
gcooshttps://erddap.gcoos.org/erddapthe Gulf of Mexico

NERACOOS and NANOOS are deliberately absent. https://www.neracoos.org/erddap and https://data.nanoos.org/erddap both answer 301 from our egress (measured 2026-09-17). Adding them without resolving where they redirect would ship two node ids that fail for every caller. If you add them, verify a live search first, not just a reachable root.

Traps

Protocol-level traps live in shared/src/erddap.ts (shared with noaa-coastwatch) and are documented in full at the top of that file. Two matter most here:

  • erddap.ioos.us has almost no griddap. The national node is inventories and metrics; the gridded fields are on the regional nodes. A griddap_point call against national is not a bug.
  • PacIOOS ROMS grids are 4-D: time, depth, latitude, longitude. depth is required on those, and omitting it is an axis error rather than a defaulted surface reading. depth: 0.25 is the shallowest level of roms_hiig.

And the one this pack found the hard way: ERDDAP’s first &-segment is positional — the server reads it as the variable list whatever it contains. Asking for every column (no variables) while dropping the now-empty first segment slides the row-cap expression into the variable slot and the server answers Unrecognized variable="orderByLimit("5")", which reads as a broken dataset rather than a malformed URL. The shared client keeps the empty segment.

Tools

Tools

Regenerated from source · build September 18, 2026