surfline-mcp
Minimal Python MCP server with one tool: get_surf_forecast.
It fetches both Surfline forecast endpoints:
conditionsrating
The spot is fixed by environment variable (SURFLINE_SPOT_ID) so this server is effectively single-spot.
Setup
cd surfline-mcp
uv sync
Run (stdio MCP server)
cd surfline-mcp
export SURFLINE_SPOT_ID=5842041f4e65fad6a7708852
uv run surfline-mcp
Run via uvx (from GitHub)
export SURFLINE_SPOT_ID=5842041f4e65fad6a7708852
uvx --from git+https://github.com/ivoytov/surfline-mcp surfline-mcp
Nanobot MCP config (uvx)
{
"tools": {
"mcpServers": {
"surfline": {
"command": "uvx",
"args": ["--from", "git+https://github.com/ivoytov/surfline-mcp", "surfline-mcp"],
"env": {
"SURFLINE_SPOT_ID": "5842041f4e65fad6a7708852"
}
}
}
}
}
Tool
get_surf_forecast(days=3)
Returns:
spot_iddaysdaily_forecast[]with:forecastDaydayToWatchheadlineobservationrating_summary.dominant_keyrating_summary.min_valuerating_summary.max_valuerating_summary.avg_valuerating_windows[]as compact 3-hour snapshots:local_hourkeyvalue