Noaa MCP Server

Find NOAA tide stations and NDBC buoys, fetch tide predictions, currents, and live conditions.

Remote serverstreamable-http

What is the Noaa MCP server?

Find NOAA tide stations and NDBC buoys, fetch tide predictions, currents, and live conditions. That is what the noaa mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.

The short version

  • Declarative tool and resource definitions — single file per primitive, framework handles registration and validation
  • Unified error handling — handlers throw, framework catches, classifies, and formats with typed error contracts
  • Structured logging with optional OpenTelemetry tracing
  • STDIO and Streamable HTTP transports
  • Pluggable auth: none, jwt, oauth
  • In-memory station cache (6-hour TTL) for CO-OPS and NDBC station lists — discovery is fast after first startup

Getting it running

Because this one is hosted, setup is mostly authentication — you point your client at the endpoint and approve access. Nothing runs on your machine, so there is no runtime to keep patched.

The tools it exposes

The server publishes 9 tools. What each one is for:

  • noaa_marine_find_stations — Find CO-OPS tide/water-level/current stations and NDBC buoys near a location or by name/state. Required first step to resolve place names or
  • noaa_marine_get_tide_predictions — High/low tide predictions for a CO-OPS tide station over a date range. Supports 6-minute interval output and multiple datums (defaults to MLLW — US
  • noaa_marine_get_water_level — Observed water level (real-time or historical) for a CO-OPS station, paired with predictions to compute storm surge or anomalous drawdown
  • noaa_marine_get_currents — Tidal current predictions for a CO-OPS current station: max flood/ebb speeds, slack times, and directions. Defaults to MAX_SLACK (practical
  • noaa_marine_get_conditions — Live marine conditions from an NDBC buoy: wave height/period/direction, wind, sea-surface temp, air temp, and barometric pressure
  • noaa_marine_get_current_profile — Observed ocean-current depth profile from an NDBC ADCP buoy: speed and direction at each depth bin. Distinct from noaa_marine_get_currents, which is
  • noaa_marine_get_ocean_observations — Sub-surface water-column observations from an NDBC station: water temperature, salinity, dissolved oxygen, chlorophyll, turbidity, and pH at each
  • Prerequisites — The Prerequisites tool exposed by this server
  • Installation — The Installation tool exposed by this server

What it needs from you

Configuration is passed through the environment: MCP_TRANSPORT_TYPE, MCP_LOG_LEVEL, NOAA_APPLICATION_ID. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  • Bun v1.3.14 or higher (or Node.js v24+). - No external API keys needed — NOAA CO-OPS and NDBC are fully open.

Things to watch

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 9 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Noaa.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

How it compares

Plenty of team communication servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Noaa's toolset — noaa_marine_find_stations, noaa_marine_get_tide_predictions, noaa_marine_get_water_level and 6 more — is a fair guide to whether it matches your workflow. It is maintained by cyanheads; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Available tools

ToolWhat it does
noaa_marine_find_stationsFind CO-OPS tide/water-level/current stations and NDBC buoys near a location or by name/state. Required first step to resolve place names or coordinates to station IDs.
noaa_marine_get_tide_predictionsHigh/low tide predictions for a CO-OPS tide station over a date range. Supports 6-minute interval output and multiple datums (defaults to MLLW — US nautical chart standard).
noaa_marine_get_water_levelObserved water level (real-time or historical) for a CO-OPS station, paired with predictions to compute storm surge or anomalous drawdown.
noaa_marine_get_currentsTidal current predictions for a CO-OPS current station: max flood/ebb speeds, slack times, and directions. Defaults to MAX_SLACK (practical passage-planning view).
noaa_marine_get_conditionsLive marine conditions from an NDBC buoy: wave height/period/direction, wind, sea-surface temp, air temp, and barometric pressure.
noaa_marine_get_current_profileObserved ocean-current depth profile from an NDBC ADCP buoy: speed and direction at each depth bin. Distinct from noaa_marine_get_currents, which is a CO-OPS tidal-current forecast.
noaa_marine_get_ocean_observationsSub-surface water-column observations from an NDBC station: water temperature, salinity, dissolved oxygen, chlorophyll, turbidity, and pH at each reported depth. The water-column counterpart to noaa_marine_get_conditions
PrerequisitesThe Prerequisites tool exposed by this server.
InstallationThe Installation tool exposed by this server.

How to install the Noaa MCP server

{
  "mcpServers": {
    "noaa-marine": {
      "type": "streamable-http",
      "url": "https://noaa-marine.caseyjhand.com/mcp"
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Bun v1.3.14 or higher (or Node.js v24+). - No external API keys needed — NOAA CO-OPS and NDBC are fully open.
VariableDescriptionRequired
MCP_TRANSPORT_TYPEConfiguration value read at startup.Optional
MCP_LOG_LEVELConfiguration value read at startup.Optional
NOAA_APPLICATION_IDConfiguration value read at startup.Optional

Example prompts to try

  • Use Noaa to noaa marine find stations.
  • Use Noaa to noaa marine get tide predictions.
  • Use Noaa to noaa marine get water level.

Frequently asked questions

It connects Noaa to MCP-compatible AI assistants such as Claude and Cursor, exposing 9 tools (noaa_marine_find_stations, noaa_marine_get_tide_predictions, noaa_marine_get_water_level, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Noaa directly.