
NOAA潮汐和洋流
STDIONOAA潮汐和海流数据访问服务器
NOAA潮汐和海流数据访问服务器
🚀 Lightning-fast access to NOAA's oceanic and atmospheric data through MCP
Your one-stop solution for tides, currents, weather, astronomy, and climate data
🌊 25+ Specialized Tools - From basic tide data to advanced climate projections
⚡ Lightning Fast - Built on FastMCP for optimal performance
🎯 Zero Config - Works out of the box with Claude Desktop
🌍 Comprehensive Data - Water levels, currents, weather, moon phases, sun data
📊 Climate Research Ready - Sea level trends, flooding projections, extreme events
🚀 NPX Ready - Install and run with a single command
# Install and run immediately - no setup required! npx @ryancardin/noaa-tides-currents-mcp-server # Or use the shorter alias npx noaa-mcp
STDIO Mode (Default - MCP Protocol)
# Standard MCP server for Claude Desktop integration npx @ryancardin/noaa-tides-currents-mcp-server # Or use the shorter alias npx noaa-mcp
HTTP Streamable Mode (Web Integration)
# Start HTTP server on default port 3000 npx @ryancardin/noaa-tides-currents-mcp-server --http # Specify custom port npx @ryancardin/noaa-tides-currents-mcp-server --http --port 8080 # Using shorter alias npx noaa-mcp --http --port 8080 # Access via Server-Sent Events curl http://localhost:3000/sse
Install directly to Claude Desktop via Smithery:
npx -y @smithery/cli install @RyanCardin15/tidesandcurrents --client claude
# Clone and build git clone https://github.com/RyanCardin15/NOAA-Tides-And-Currents-MCP.git cd NOAA-Tides-And-Currents-MCP npm install && npm run build # Start the server npm start # Test with FastMCP npx fastmcp dev dist/index.js
get_water_levels
- Real-time and historical water level dataget_tide_predictions
- High/low tide predictions and continuous dataget_currents
- Real-time and historical current measurementsget_current_predictions
- Current speed and direction forecastsget_meteorological_data
- Wind, air temp, water temp, pressure, etc.get_stations
- Search and list monitoring stationsget_station_details
- Detailed station metadata and capabilitiesget_sea_level_trends
- Long-term sea level rise trends and ratesget_extreme_water_levels
- Statistical analysis of extreme eventsget_high_tide_flooding_daily
- Daily flood event countsget_high_tide_flooding_monthly
- Monthly flooding patternsget_high_tide_flooding_seasonal
- Seasonal flood analysisget_high_tide_flooding_annual
- Yearly flooding trendsget_high_tide_flooding_projections
- Future flood risk scenariosget_high_tide_flooding_likelihoods
- Daily flood probabilityget_top_ten_water_levels
- Highest/lowest water levels on recordget_moon_phase
- Current moon phase and illuminationget_moon_phases_range
- Moon phases over date rangesget_next_moon_phase
- Find next new/full/quarter moonsget_sun_times
- Sunrise, sunset, dawn, dusk timesget_sun_times_range
- Solar times over date rangesget_sun_position
- Real-time sun azimuth and elevationget_next_sun_event
- Next sunrise, sunset, or solar noonget_parameter_definitions
- Valid values for all API parameters# Get latest water levels for Boston Harbor get_water_levels station="8443970" date="latest" # Get today's tide predictions for Miami get_tide_predictions station="8723214" begin_date="today" end_date="today" interval="hilo"
# Get extreme water level statistics for storm planning get_extreme_water_levels station="8518750" units="english" # Check flooding likelihood for tomorrow get_high_tide_flooding_likelihoods station="8518750" date="2024-12-16" threshold="minor"
# Analyze 30-year sea level trends get_sea_level_trends station="8518750" affiliation="US" # Get high tide flooding projections for 2050s under intermediate sea level rise get_high_tide_flooding_projections station="8518750" scenario="intermediate" decade="2050s"
# Get tonight's moon phase for navigation get_moon_phase date="2024-12-15" latitude="42.3601" longitude="-71.0589" # Calculate sunrise/sunset for sailing get_sun_times date="2024-12-15" latitude="25.7617" longitude="-80.1918" timezone="America/New_York"
# Best fishing times with current predictions get_current_predictions station="ACT0446" date="today" interval="MAX_SLACK" # Wind and weather conditions get_meteorological_data station="8443970" product="wind" date="today"
# Run in development mode (stdio) npm run dev # Development with HTTP transport npm run dev:http # Production builds with different transports npm start # STDIO mode (default) npm run start:http # HTTP on port 3000 npm run start:http:3001 # HTTP on port 3001 npm run start:http:8080 # HTTP on port 8080 # Inspect server capabilities npx fastmcp inspect dist/index.js
When running in HTTP mode, the server provides Server-Sent Events (SSE) at /sse
:
# Start HTTP server npx @ryancardin/noaa-tides-currents-mcp-server --http --port 3000 # Test the endpoint curl -N http://localhost:3000/sse # Or integrate with web applications fetch('http://localhost:3000/sse') .then(response => response.body.getReader()) .then(reader => { // Handle streaming MCP responses });
Use Cases for HTTP Mode:
All tools support multiple output formats:
This server integrates with three NOAA APIs:
API | Purpose | Base URL |
---|---|---|
Data API | Real-time observations & predictions | api.tidesandcurrents.noaa.gov/api/prod/ |
Metadata API | Station information & capabilities | api.tidesandcurrents.noaa.gov/mdapi/prod/ |
Derived Products API | Climate analysis & research data | api.tidesandcurrents.noaa.gov/dpapi/prod/ |
# Check Node.js version node --version # Should be 18+ # Rebuild TypeScript npm run build
get_stations
to find valid stationschmod +x dist/index.js
We love contributions! Here's how to get started:
git checkout -b amazing-feature
)npm test
npm run build # Build TypeScript npm run dev # Development mode npm run test # Run test suite npm run format # Format with Prettier
MIT License - see LICENSE file for details.
Built with ❤️ by Ryan Cardin
⭐ Star this repo if it helped you!
Made possible by NOAA's commitment to open oceanic data 🌊