Skip to main content

MCP server providing access to NOAA CO-OPS tides, water levels, currents, and meteorological data

Project description

CO-OPS MCP Server

MCP server providing AI assistants with access to NOAA CO-OPS water levels, tides, currents, and coastal oceanographic data.

No API key required — all CO-OPS APIs are free and public.

Features

  • Station Discovery — List, search, and find nearest CO-OPS stations by type, state, or coordinates
  • Water Levels — Real-time and historical observed water levels with multiple datum references
  • Tide Predictions — Harmonic tide predictions (6-min, hourly, or high/low)
  • Meteorological Data — Wind, air/water temperature, pressure, humidity, visibility, and more
  • Currents — Current observations and predictions from PORTS stations
  • Derived Products — Extreme water levels, flood statistics, sea level trends, storm events, tidal datums

Quick Start

Install with uv

git clone https://github.com/mansurjisan/ocean-mcp.git
cd ocean-mcp/servers/coops-mcp
uv sync

Configure your MCP client

Add to your MCP settings:

{
  "mcpServers": {
    "coops": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/ocean-mcp/servers/coops-mcp", "python", "-m", "coops_mcp"]
    }
  }
}

Or if installed as a package:

{
  "mcpServers": {
    "coops": {
      "command": "uvx",
      "args": ["coops-mcp"]
    }
  }
}

Available Tools

Tool Description Key Parameters
coops_list_stations List CO-OPS stations by type/state station_type, state, limit
coops_get_station Get detailed station metadata station_id, expand (sensors, datums, etc.)
coops_find_nearest_stations Find stations near coordinates latitude, longitude, radius_km
coops_get_water_levels Observed water level data station_id, begin_date, end_date, datum
coops_get_tide_predictions Tide predictions station_id, begin_date, end_date, interval
coops_get_meteorological Met observations (wind, temp, etc.) station_id, product, date
coops_get_currents Current observations/predictions station_id, product, bin_num
coops_get_extreme_water_levels Record water levels station_id, datum
coops_get_flood_stats Flood day counts & HTF outlook station_id, year
coops_get_sea_level_trends Sea level trend data station_id
coops_get_peak_storm_events Peak storm surge events station_id, year
coops_get_datums Tidal datum values station_id, units

Usage Examples

Ask naturally — the right tool will be selected automatically:

  • "Get current water levels at The Battery, NY"coops_get_water_levels(station_id="8518750", date="latest")
  • "Find tide stations near Miami Beach"coops_find_nearest_stations(latitude=25.77, longitude=-80.13, station_type="waterlevels")
  • "What were the highest water levels ever recorded at San Francisco?"coops_get_extreme_water_levels(station_id="9414290")
  • "Show me wind data for Key West today"coops_get_meteorological(station_id="8724580", product="wind", date="today")
  • "What are the flood statistics for The Battery?"coops_get_flood_stats(station_id="8518750")
  • "Get tide predictions for Charleston, SC for next week"coops_get_tide_predictions(station_id="8665530", begin_date="...", end_date="...")

API Reference

This server wraps three NOAA CO-OPS APIs:

Development

# Install dev dependencies
uv sync

# Run unit tests
uv run pytest tests/test_models.py tests/test_utils.py tests/test_client.py -v

# Run live integration tests (makes real API calls)
uv run pytest tests/test_live.py -v -s

# Start the server
uv run python -m coops_mcp

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coops_mcp-0.1.0.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coops_mcp-0.1.0-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file coops_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: coops_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for coops_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 60ef8910661d57efcd8dd60dea239e14a914384a089967f37c6c554ac6792d57
MD5 70ee97742b72c7b7e441e27264c60766
BLAKE2b-256 6e4915c89d8e57b143a5eae8af39abe8afd01f0a06a40adf1d927b5adca7075b

See more details on using hashes here.

File details

Details for the file coops_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: coops_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for coops_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d6b3ae0f492577e1ead1104df1dc978e37f83c6f15ac301cb7f616303a6ad14d
MD5 f01e100fcfef7e0f35247586364b0d9d
BLAKE2b-256 384ef85ce546ff2d3d81a90fb3f8525642fdc860bcc065c68d6944beb18c35ed

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page