Surf Session Finder
Server Details
Surf park sessions schedule availability and notifications for wave park surfers worldwide
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.3/5 across 3 of 3 tools scored.
Each tool has a clear, distinct purpose: list_pools retrieves pools, get_session_levels provides difficulty levels for a pool, and find_sessions returns available sessions. There is no functional overlap between them.
All tool names follow a consistent verb_noun pattern in snake_case (list_pools, get_session_levels, find_sessions), making them predictable and easy to use.
Three tools are appropriate for the scope of finding surf sessions: discover pools, get levels, and search sessions. The count feels lean but complete.
The tool set covers the essential workflow: listing pools, retrieving levels, and searching sessions. The booking URL in find_sessions externalizes booking, which is reasonable. A minor gap is the lack of a tool to fetch detailed info for a specific session, but it's not critical.
Available Tools
3 toolsfind_sessionsAInspect
Find available surf sessions at a pool. Returns date, time, skill level, available spots, and a booking URL. Filter by level, minimum spots, or time window.
| Name | Required | Description | Default |
|---|---|---|---|
| levels | No | Filter to specific level names (e.g. ["Beginner"]). Omit to return all levels. | |
| pool_id | Yes | Pool ID — use list_pools to get valid values | |
| min_spots | No | Minimum available spots required (default: 0) | |
| hours_ahead | No | Search window in hours from now (default: 192 = 8 days) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states the output fields and filtering capabilities, implying a read-only query operation. It does not mention edge cases like empty results or ordering, but for a search tool this is sufficient.
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 three concise sentences: purpose, output fields, and filter options. It is front-loaded with the main action, has no redundant information, and every sentence adds value.
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 tool with 4 parameters, 1 required, no output schema, and no annotations, the description provides enough context: it names return fields, filter capabilities, and the resource type. It does not specify sorting or defaults, but the schema covers defaults. Overall, it is complete for an agent to select and invoke the tool.
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?
The input schema has 100% coverage with descriptive parameter explanations. The description's mention of filtering by level, minimum spots, or time window mirrors the schema without adding new semantics. No additional parameter relationships or formats are disclosed, so the baseline score of 3 is appropriate.
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 finds available surf sessions at a pool, with a specific verb and resource. It also lists returned data (date, time, skill level, available spots, booking URL) and distinguishes itself from sibling tools (get_session_levels, list_pools) by focusing on session availability.
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 provides clear context for when to use the tool (finding sessions) and mentions filter options (level, minimum spots, time window). However, it does not explicitly mention alternatives or when not to use it, such as pointing to get_session_levels for level names or list_pools for pool IDs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_session_levelsAInspect
Get the available session difficulty levels for a surf pool (e.g. Beginner, Intermediate, Advanced). Use the level names with find_sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| pool_id | Yes | Pool ID — use list_pools to get valid values |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The verb 'Get' implies a safe, read-only operation, and the examples clarify the return content. However, it does not disclose potential behaviors such as error handling, authentication requirements, or whether the tool can fail for invalid pool IDs. This is adequate for a simple lookup but not fully transparent.
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 concise, consisting of two sentences. The first sentence states the tool's purpose with examples, and the second gives actionable guidance for using the output. No unnecessary words or repetition; it is well-structured and front-loaded.
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 one parameter and no output schema, the description is complete. It explains what is returned (difficulty levels with examples) and how to use the result with find_sessions. The parameter description also points to list_pools for valid inputs, covering the full workflow. Nothing essential 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%, with the pool_id parameter already documented as 'use list_pools to get valid values'. The description adds no further parameter-level detail, so the baseline of 3 applies. It does not introduce format, syntax, or additional constraints beyond what the schema provides.
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's purpose with a specific verb ('Get') and resource ('available session difficulty levels for a surf pool'), and provides concrete examples (Beginner, Intermediate, Advanced). It distinguishes itself from sibling tools by tying the output to 'find_sessions', making its unique role evident.
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 explicitly instructs to 'Use the level names with find_sessions', giving clear downstream usage. It also indirectly references 'list_pools' via the parameter description for obtaining a valid pool_id. While it lacks explicit 'when-not-to-use' caveats, the guidance for this simple getter is strong and unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_poolsAInspect
List all supported surf pools worldwide with their IDs, names, and locations. Always call this first to get valid pool_id values for the other tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates a read-only list operation and mentions the informational purpose (providing pool_id for other tools). It does not explicitly state the absence of side effects, but 'List' clearly implies a safe read operation. Minor gap: it doesn't mention data freshness or pagination, but for a simple list tool this is sufficient.
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 two sentences with no redundant wording. The first sentence states the action and output, the second provides usage guidance. Every word contributes value, making it highly concise and well-structured.
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?
The tool is simple with no parameters and no output schema. The description fully covers its purpose, output, and usage ordering relative to other tools. It explicitly mentions the return fields (IDs, names, locations), so nothing essential 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?
The tool has zero parameters, so no parameter explanations are needed. The description implicitly communicates that the tool takes no inputs and returns all pools. Baseline for 0 params is 4, and the description adequately covers the lack of parameters.
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's function with a specific verb ('List'), resource ('supported surf pools'), scope ('worldwide'), and output fields ('IDs, names, and locations'). It distinguishes itself from sibling tools by focusing on pools, not sessions or levels. The additional note about getting valid pool_id values clarifies its role as a prerequisite.
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 explicitly instructs when to use the tool: 'Always call this first to get valid pool_id values for the other tools.' This provides clear usage context and explains the dependency for sibling tools, making it obvious why this tool should be invoked before others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityDmaintenanceSurf Park live session availability for booking and cancellation. Made by surfers for wave pools worldwideMIT
- Flicense-qualityCmaintenanceAn MCP server that provides real-time surf intelligence, including wave quality scoring, beach discovery, session planning, and forecast analysis across 12+ global data sources. It turns AI assistants into surf-savvy copilots for finding the perfect wave.
- Flicense-qualityCmaintenanceProvides 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.19
- Flicense-qualityBmaintenanceEnables checking live tide, swell, and wind data for La Jolla surf spots, with an AI agent that makes judgment calls like a local surfer.