Global Surfari Surf Forecasts
Server Details
7 day surf forecasts (wave, wind, period) for any coordinate or named surf spot.
- Status
- Healthy
- Uptime
- 100.0% over 40 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a distinct input method: get_surf_forecast uses latitude/longitude, get_surf_forecast_by_spot uses a named spot, and list_surf_spots returns a list of spots. No overlap in purpose.
All tool names follow a consistent verb_noun pattern with snake_case: get_surf_forecast, get_surf_forecast_by_spot, list_surf_spots. The naming is uniform and predictable.
With 3 tools, the server is slightly small but still reasonable for its focused domain. Additional tools like a spot detail or search could enhance completeness, but the count is not problematic.
The server covers the primary use cases: forecast by coordinates, forecast by named spot, and listing spots. Minor gaps exist (e.g., no spot details, no date range specification), but the core functionality is well-covered.
Available Tools
3 toolsget_surf_forecastGet surf forecast for coordinatesAInspect
7 day surf forecast (wave height in feet, wave period in seconds, wind speed in mph, wind direction in degrees) for the nearest coastal forecast point to a latitude/longitude. Data from NOAA wave models.
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | Yes | Latitude in decimal degrees (-90 to 90) | |
| longitude | Yes | Longitude in decimal degrees (-180 to 180) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the data returned (wave height, period, wind speed, direction) with units and source (NOAA wave models). No mention of destructive actions, which is acceptable for a forecast tool.
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?
Two sentences with no fluff. First sentence covers purpose and output details; second adds data source. Extremely efficient.
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?
For a simple tool with two parameters and no output schema, the description provides sufficient information about inputs (lat/lon) and outputs (forecast details with units). No obvious gaps given the low complexity.
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 100%, so baseline is 3. The description adds value by explaining that the tool finds the nearest coastal forecast point, which is not in the schema. This clarifies the tool's behavior beyond mere coordinate input.
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?
The description clearly states the verb 'Get' and the resource 'surf forecast'. It specifies the returned data types and units (wave height, period, wind speed, direction), and differentiates from siblings by mentioning 'nearest coastal forecast point' given coordinates, implying an alternative by spot ID.
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?
The description implies usage when coordinates are available versus needing a spot name for the sibling tool, but does not explicitly state when to use this tool or alternatives. It lacks explicit 'when-not' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_surf_forecast_by_spotGet surf forecast for a named spotAInspect
7 day surf forecast for a named surf spot. Tries saved Global Surfari locations first, then geocodes the name. Example: "Bondi Beach", "Mavericks", "Bells Beach".
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Surf spot or beach name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the behavior of trying saved locations first, then geocoding, and states the forecast duration (7 days). This is sufficient for a read-only forecast tool, though it could mention whether the tool might return partial data or fail gracefully.
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?
Two sentences with no wasted words. The first sentence states what it does, the second explains how it works and gives examples. Information is front-loaded and easy to parse.
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?
Given one required parameter, no output schema, and low complexity, the description is largely complete. It explains the tool's purpose, input resolution, and duration. A minor gap is the absence of any information about the output format, which might be assumed from a shared forecast schema, but it's not provided.
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 100% (one parameter with description). The description adds value beyond the schema by explaining the resolution logic and giving examples. This helps the agent understand what constitutes a valid 'name' input.
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?
The description clearly states the tool provides a '7 day surf forecast for a named surf spot'. It distinguishes from siblings by specifying the input is a spot name and that it tries saved locations then geocodes. Examples like 'Bondi Beach' make the purpose concrete.
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?
The description gives implicit guidance by stating the resolution strategy (saved locations then geocoding), which helps the agent understand how to use the tool. However, it does not explicitly contrast with siblings like 'get_surf_forecast' or 'list_surf_spots', nor provide when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_surf_spotsList known surf spotsAInspect
Lists surf spots saved by Global Surfari users (popular and recently added).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it returns a list of spots, popular and recently added, implying a read-only operation. However, with no annotations, it does not clarify whether it requires authentication or has any side effects, though none are expected.
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?
The description is a single, efficient sentence that communicates the tool's purpose without any extraneous words.
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?
For a simple list tool with no parameters and no output schema, the description provides adequate context: what it lists and a hint about ordering (popular and recently added). Could mention that it returns spot IDs or details, but it's sufficient.
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?
No parameters exist, and the schema description coverage is 100%. The description adds no parameter info, but none is needed. Baseline for 0 parameters is 4.
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?
The description clearly states the verb (lists) and the resource (surf spots saved by Global Surfari users), and the qualifier (popular and recently added) distinguishes it from sibling tools like get_surf_forecast, which deal with forecasts.
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?
No guidance on when or when not to use this tool, nor any mention of alternatives. The sibling tool names imply that list_surf_spots is for obtaining spot IDs before using forecast tools, but this is not explicitly stated.
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.
3 tool updates
- First observed
get_surf_forecast - First observed
get_surf_forecast_by_spot - First observed
list_surf_spots
Related MCP Connectors
Surf trip planner: live 0-100 Strike Scores, 10-day forecasts, and trip picks for 1,100+ spots.
Surf park sessions schedule availability and notifications for wave park surfers worldwide
Signed proof-of-time, 30-day stash, live NOAA surf data. No auth. The hut keeps honest clocks.
Live scuba dive planning: forecast windows, best-time climatology, species seasons, 4,800+ sites.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides surf forecast data including swell height, period, direction, and wind conditions for any location worldwide using the Open-Meteo Marine API. It also includes tools to find the best day to surf and integrates with MCP clients via a Python server.20-
- 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-
- AlicenseNot gradedqualityDmaintenanceSurf Park live session availability for booking and cancellation. Made by surfers for wave pools worldwideMIT
- AlicenseAqualityDmaintenanceMCP server for wind forecasts, live measurements, wave forecasts, and tides, enabling kite and surf spot checks via AI assistants.56 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.