status.live surf
Server Details
Nearest NOAA buoy readings, tides and 7-day swell forecast for 150+ surf spots.
- Status
- Healthy
- Uptime
- 100.0% over 20 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have clearly separate jobs: surf_search_spots resolves names/areas to spot ids, and surf_get_spot_status fetches conditions for one id/name. The description of the search tool even names the status tool, making the workflow unambiguous.
Both names follow the same surf_ verb_noun pattern (surf_get_spot_status, surf_search_spots) with a consistent server prefix and snake_case throughout. No deviation or mixed convention.
Two tools is thin, though the server's scope (look up a spot, then read its conditions) is genuinely narrow and read-only. A multi-spot or forecast-listing tool would make the set feel less minimal.
Search-plus-status covers the core read-only lifecycle for surf conditions (spot discovery, buoy/tide/swell data, 7-day forecast) with no dead ends. Missing only conveniences like batch lookup of several spots or comparable-spot listing.
Available Tools
2 toolssurf_get_spot_statusGet surf spot statusARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| spot | Yes | Spot id (e.g. "pipeline") or name (e.g. "Lower Trestles") | |
| include_forecast | No | Include the 7-day swell forecast |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the NOAA buoy is the preferred source, and outside the US the 'now' values fall back to model output and are labelled as such. It also pins down units (metres with feet in brackets). No auth or rate-limit notes, but for a read-only status call this is strong disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with what the agent gets back, followed by the fallback caveat and the input/units note. Dense but every clause carries information; only the parenthetical enumeration of buoy fields is slightly list-heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry the return-value burden, and it does: it names the data sources, the fields returned, the units, and the degradation case where model values substitute for buoy readings. Nothing an agent needs to call or interpret this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (spot, include_forecast) are already documented in the schema. The description restates that a spot id or name is accepted and alludes to the forecast, but adds no format, matching, or defaulting nuance beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (what the water is doing at one surf spot) and enumerates the returned content: buoy readings, tides, and a 7-day swell forecast. This clearly separates it from surf_search_spots (discovery) and the status tools of other domains, so an agent can route without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the description frames the tool as reporting on 'one surf spot', which suggests it is for a spot you have already identified. It never names surf_search_spots as the alternative for finding spots, nor states any when-not condition. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
surf_search_spotsSearch surf spotsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | Name, id, area or country, case-insensitive |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and a closed-world scope, so safety is covered. The description adds the empty-query behavior and the return type (spot ids), but omits pagination/limit behavior for a tool that caps results at 200 with a default of 25.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, with the purpose and the search facets front-loaded ahead of the empty-query fallback and the downstream tool reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly discloses what comes back ('spot ids for surf_get_spot_status'). It is nearly complete, but the undocumented limit/pagination behavior is an unaddressed gap for an agent that may need to page through all spots.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (query documented, limit not). The description enriches the query parameter with concrete area examples ('Oahu', 'California', 'Bali') and the empty-string behavior, which the schema does not state. However it says nothing about the undocumented limit parameter or result capping, so it only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Find the surf spots this server covers') and enumerates the searchable facets (name, id, area, country). It also distinguishes itself from the sibling surf_get_spot_status by positioning that tool as the consumer of the returned ids.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: use a query for name/id/area/country, or 'Leave query empty to list everything', which is an explicit when-to-use condition. It routes the agent to surf_get_spot_status for follow-up but states no exclusions or cases where another search tool is preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
surf_get_spot_status - First observed
surf_search_spots
Related MCP Connectors
7 day surf forecasts (wave, wind, period) for any coordinate or named surf spot.
Surf trip planner: live 0-100 Strike Scores, 10-day forecasts, and trip picks for 1,100+ spots.
Ocean conditions by location: water visibility, swell, wind, tide, plus dive and snorkel spot picks.
Tides, currents, marine forecasts and warnings for paddlers, anglers and small boats, 26 countries.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides real-time water temperature and tide predictions for any lake, river, ocean, bay, or beach using NOAA, USGS, and other sources.MIT
- FlicenseNot gradedqualityCmaintenanceEnables checking live tide, swell, and wind data for La Jolla surf spots, with an AI agent that makes judgment calls like a local surfer.-
- AlicenseNot gradedqualityBmaintenanceEnables users to check whether a beach suits a beach day or a surf session today or up to six days ahead, using Open-Meteo weather and marine forecasts scored by deterministic, documented rules. It exposes tools for raw hourly forecast data, suitability scores and verdicts by activity and skill level, and finding the best multi-hour window within a day.MIT
- FlicenseNot gradedqualityDmaintenanceEnables access to comprehensive surf forecasts from Surfline including current conditions, swell analysis, forecaster insights, tides, and timing information for Santa Cruz surf spots. Provides detailed 8-hour forecasts with expert observations through secure Google OAuth authentication.8-
Glama MCP Gateway
Add one secure layer between your agents and this server.