Get surf/weather conditions for any beach using the beach-safety MCP server.
bash
mcporter call beach-safety get_beach_report --args '{"beach_name": "Waikiki"}'
mcporter call beach-safety get_beach_report --args '{"beach_name": "Hapuna Beach, Hawaii"}'
ToolUse Caseget_beach_reportFull text report — waves, swell, wind, UV, safety score, recommendationsget_beach_jsonSame data as JSON for programmatic useget_surf_forecastSurf-specific: wave height, swell, period, direction, rip riskget_uv_forecastUV index with sun protection guidance
ScoreMeaningAction9-10Generally safeEnjoy with normal precautions7-8Minor concernsCaution advised4-6CautionSwim near lifeguard1-3DangerousStay out of the water
Always include BOTH current UV and daily max UV in surf summaries. The API returns them as current=X (daily max=Y). Never just say "UV max" — say "UV current=X (daily max=Y)" so the user knows if it's day or night at the beach.
bash
pip install -r requirements.txt
(Requires Python 3.10+ and httpx>=0.27.0)
After clawhub install beach-safety, the skill lands in your skills directory (e.g. ~/.openclaw/workspace/skills/beach-safety/). The MCP server is at:
text
<install-dir>/src/server.py
For example, if you installed into ~/.openclaw/workspace/skills/:
bash
# Confirm the path
ls ~/.openclaw/workspace/skills/beach-safety/src/server.py
Add this to your mcporter config (e.g. ~/.openclaw/workspace/config/mcporter.json):
json
{
"mcpServers": {
"beach-safety": {
"command": "python3",
"args": ["<path-to>/src/server.py"]
}
}
}
Replace <path-to> with the actual install location from step 2.
bash
mcporter call beach-safety get_beach_report --args '{"beach_name": "Waikiki"}'
SourceDataOpenStreetMap / PhotonsBeach name → coordinatesOpen-Meteo MarineWave height, swell, ocean currentsOpen-Meteo WeatherAir temp, wind, precipitation, UV indexNOAA NWSRip current risk, surf zone forecast (US only)