Nearest NOAA buoy readings, tides and 7-day swell forecast for 150+ surf spots.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
What the water is doing at one surf spot now: the nearest NOAA wave buoy (wave height, period and direction, swell and wind waves apart, water temperature, wind) with its measurement time, the next high and low tides, and a 7-day model swell forecast with morning wind. Where no buoy reports nearby (most spots outside the US) the "now" values are model values and say so. Accepts a spot id or name. Heights in metres with feet in brackets.
Spot id (e.g. "pipeline") or name (e.g. "Lower Trestles")
Include the 7-day swell forecast
What the water is doing at one surf spot now: the nearest NOAA wave buoy (wave height, period and direction, swell and wind waves apart, water temperature, wind) with its measurement time, the next high and low tides, and a 7-day model swell forecast with morning wind. Where no buoy reports nearby (most spots outside the US) the "now" values are model values and say so. Accepts a spot id or name. Heights in metres with feet in brackets.
| Argument | Type | Description |
|---|---|---|
| spot* | string | Spot id (e.g. "pipeline") or name (e.g. "Lower Trestles") |
| include_forecast | boolean | Include the 7-day swell forecast |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"spot"
],
"properties": {
"spot": {
"type": "string",
"description": "Spot id (e.g. \"pipeline\") or name (e.g. \"Lower Trestles\")"
},
"include_forecast": {
"type": "boolean",
"default": true,
"description": "Include the 7-day swell forecast"
}
}
}Find the surf spots this server covers, by name, id, area (e.g. "Oahu", "California", "Bali") or country. Returns spot ids for surf_get_spot_status. Leave query empty to list everything.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query | string | Name, id, area or country, case-insensitive |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 200,
"minimum": 1
},
"query": {
"type": "string",
"default": "",
"description": "Name, id, area or country, case-insensitive"
}
}
}