mcpField
N
NOAA Tides MCP Server

NOAA Tides MCP Server

Local
github.com/seanofaheyScience & Education1Updated 76w ago

About NOAA Tides MCP Server

NOAA Tides MCP Server provides NOAA CO-OPS water-level observations, tide predictions, and station details. It is for applications and assistants that need tide data by station and date.

Key features

  1. 01Get station water levels
  2. 02Retrieve high and low tide predictions
  3. 03Look up station information

Use cases

  1. 01Check observed water levels at a station
  2. 02Plan around predicted high and low tides

MCP support

The server exposes three tools to MCP clients: `get_water_levels`, `get_tide_predictions`, and `get_station_info`, covering observations, predictions, and station metadata.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

NOAA Tides MCP Server

This MCP server provides access to NOAA CO-OPS (Center for Operational Oceanographic Products and Services) data through the Model Context Protocol.

Features

  • Get water level data for specific stations
  • Get tide predictions (high/low tides)
  • Get station information and metadata

Installation

uv add mcp[cli]
uv add httpx

Development Setup

To set up the development environment with test dependencies:

# Install test dependencies
uv add pytest pytest-asyncio pytest-httpx pytest-mock

Testing

The project uses pytest for testing. The test suite includes:

  • Unit tests for all API endpoints
  • Error handling tests
  • Parameter validation tests
  • Mock HTTP responses using pytest-httpx

To run the tests:

# Run all tests with verbose output
pytest -v

# Run a specific test file
pytest tests/test_server.py -v

# Run a specific test function
pytest tests/test_server.py::test_get_water_levels -v

Usage

The server provides three main tools:

  1. get_water_levels: Get water level data for a specific station

    • Parameters:
      • station_id: 7-digit station ID
      • begin_date: Start date in yyyyMMdd format (optional)
      • end_date: End date in yyyyMMdd format (optional)
      • datum: Vertical datum (default: MLLW)
      • time_zone: Time zone (default: gmt)
      • units: Units of measurement (default: english)
  2. get_tide_predictions: Get tide predictions for a specific station

    • Parameters:
      • station_id: 7-digit station ID
      • begin_date: Start date in yyyyMMdd format (optional)
      • end_date: End date in yyyyMMdd format (optional)
      • datum: Vertical datum (default: MLLW)
      • time_zone: Time zone (default: gmt)
      • units: Units of measurement (default: english)
      • interval: Prediction interval (default: hilo for high/low tides)
  3. get_station_info: Get information about a specific station

    • Parameters:
      • station_id: 7-digit station ID

Example Station IDs

  • 9414290: San Francisco, CA
  • 8518750: The Battery, NY
  • 8557863: Rehoboth Beach, MD

Running the Server

python server.py

Using with Claude Desktop

To use this server with Claude Desktop, add it using the following configuration string:

python:/path/to/your/server.py

Replace /path/to/your/server.py with the actual path to your server.py file.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.