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
- 01Get station water levels
- 02Retrieve high and low tide predictions
- 03Look up station information
Use cases
- 01Check observed water levels at a station
- 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.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMENOAA 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:
-
get_water_levels: Get water level data for a specific station- Parameters:
station_id: 7-digit station IDbegin_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)
- Parameters:
-
get_tide_predictions: Get tide predictions for a specific station- Parameters:
station_id: 7-digit station IDbegin_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)
- Parameters:
-
get_station_info: Get information about a specific station- Parameters:
station_id: 7-digit station ID
- Parameters:
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
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.