Beachmap — Europe Beach Data
Server Details
Europe's 478 best beaches: sea temperature, sand, best months, swimming, surf. Free, CC BY 4.0.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Flightmussy/beachmap-mcp
- GitHub Stars
- 0
- Server Listing
- Beachmap MCP Server
Available Tools
4 toolsget_beachGet full beach profileAInspect
Full profile of one beach by id (its slug, from search results), by Wikidata Q-id, or by name.
| Name | Required | Description | Default |
|---|---|---|---|
| id_or_name | Yes | Beach id (e.g. "navagio"), Wikidata Q-id (e.g. "Q2460851") or name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It conveys that this is a read-style lookup and that the identifier can be of three types, but it does not describe the response shape, potential 'not found' behavior, or whether name matching is exact or fuzzy. This is acceptable for a simple getter but leaves some uncertainty.
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?
A single well-structured sentence front-loads the core purpose and then lists identifier options. There is no filler or redundant repetition of the title.
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 one-parameter lookup tool with no output schema, the description is nearly complete: it states what the tool retrieves, how to identify the beach, and where the id comes from. The main gap is that 'full profile' is not expanded, but this is minor given the simplicity of 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?
Schema description coverage is 100% and already explains the id_or_name parameter with examples. The description adds the useful nuance that the id is a slug coming from search results, but it largely restates what the schema provides, so a baseline score 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 names a specific verb ('Get') and a precise resource ('full profile of one beach'), and distinguishes it from the sibling search tool by emphasizing a single beach rather than a list. Listing three lookup modes (slug, Wikidata Q-id, name) leaves no ambiguity about what the tool does.
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 phrase 'its slug, from search results' implicitly tells the agent to use search_beaches first to obtain the id, which is useful routing context. It does not explicitly name alternatives or state when not to use it, but the one-beach lookup purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_beachesSearch beaches worldwideAInspect
Search and filter the atlas. All filters optional and combinable. Returns compact records; use get_beach for a full profile.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results, default 10, max 50 | |
| month | No | Rank and report the sea temperature for this month (name or 1-12) | |
| query | No | Free-text match on beach name, region or country | |
| country | No | ISO-2 code or country name (e.g. "PT" or "Portugal") | |
| shore_type | No | Shore type, from the beach own Wikidata classes. "beach" means Wikidata does not say. | |
| min_sea_temp_c | No | Minimum mean sea temperature in that month, or of the warmest month when no month is given |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the behavioral burden. It does disclose that results are compact and that all filters are optional/combinable, which is useful. However, it does not disclose result ordering/ranking behavior for month queries, default limits, or explicitly state that this is a read-only operation.
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 wasted words. It front-loads the core action, then adds the most decision-relevant details about filters and the get_beach alternative.
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 and no annotations, the tool description provides only a minimal 'compact records' hint about return shape and does not clarify how it relates to sea_temperature_year or warmest_beaches_in_month. For a tool with six parameters and specialized siblings, this leaves several selection and usage questions unanswered.
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 schema already documents all six parameters at 100% coverage, so the baseline is 3. The description adds value by stating that all filters are optional and combinable, a parameter-level behavior not explicitly spelled out in the schema.
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 searches and filters the beach atlas, and the title adds the worldwide scope. It explicitly contrasts itself with get_beach by noting that it returns compact records rather than full profiles. However, it does not differentiate itself from the temperature-focused siblings (sea_temperature_year, warmest_beaches_in_month), which overlap with the month and min_sea_temp_c parameters.
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 clear context: this tool is for searching/filtering when compact records are sufficient, and get_beach should be used when a full profile is needed. It does not explicitly say when to prefer the specialized temperature siblings over this tool, so exclusion guidance is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sea_temperature_yearOne beach, the whole year of sea temperatureAInspect
The twelve monthly means for one beach, plus the months that reach 20 °C. Answers "when is it warm enough there?".
| Name | Required | Description | Default |
|---|---|---|---|
| id_or_name | Yes | Beach id, Wikidata Q-id or name |
TDQS
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 transparently reveals the output structure: twelve monthly means and the months exceeding 20°C, including the temperature threshold. It does not discuss error handling or edge cases, but for a simple read-only query tool this is reasonable.
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 filler. It front-loads the core output (twelve monthly means, threshold months) and then supplies the motivating question, making it easy for an agent to quickly grasp the tool's purpose.
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 single-parameter tool with no output schema, the description adequately covers what the tool returns and why an agent would use it. The input schema already documents the parameter, so nothing critical is missing for correct invocation.
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%, with id_or_name fully described as 'Beach id, Wikidata Q-id or name'. The description adds minimal semantic value beyond reinforcing that the tool targets one beach, 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 what the tool returns: twelve monthly mean temperatures for a single beach plus the months reaching 20°C. It also frames the tool around a concrete question ('when is it warm enough there?'), which distinguishes it from siblings like warmest_beaches_in_month, which compares beaches rather than a single beach across a year.
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 the appropriate use case: checking the year-round temperature profile for one specific beach. It does not explicitly mention alternatives or exclusion conditions, but the emphasis on 'one beach' and 'whole year' gives enough contextual guidance to avoid confusion with search_beaches or warmest_beaches_in_month.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
warmest_beaches_in_monthWhere the sea is warmest in a given monthAInspect
Beaches ranked by their MEAN sea temperature in one month, warmest first. This is the question the atlas exists to answer: "where can I swim in February?". Beaches with no measurement are excluded rather than ranked as cold.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results, default 15, max 50 | |
| month | Yes | Month name or number 1-12 | |
| country | No | ISO-2 code or country name | |
| min_sea_temp_c | No | Only beaches at or above this monthly mean, e.g. 20 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses important behavior: ranking order, monthly mean as the basis, and the exclusion of unmeasured beaches rather than ranking them as cold. This is valuable edge-case transparency beyond the schema.
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 tight sentences: the first front-loads the core ranking behavior, the second anchors user intent, and the third discloses a key edge case. Every sentence earns its place with no redundancy.
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 read-only ranked-list tool, the description covers purpose, ranking logic, and an edge case. Without an output schema, it could be more complete by noting what fields each result contains, but the overall context is strong.
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 the schema already documents all parameters. The description adds no meaningful parameter-level information beyond reinforcing that month and mean sea temperature are central, which is already present in the schema.
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 specifies a concrete operation: ranking beaches by mean sea temperature for a month, warmest first. The 'where can I swim in February?' question adds user intent, but the tool is not explicitly differentiated from siblings like sea_temperature_year.
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 'where can I swim in February?' framing provides a clear context for when to use this tool. It does not name alternatives or explain when not to use it, so it falls just short of full guidance.
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. Dates show when Glama detected each change.
6 tool updates
- Removed
beaches_best_in_month - Changed
get_beach1 field changed- changed
Input schema / properties / id_or_name / descriptionPrevious value: -"Beach id (e.g. \"ksamil-beaches-al\") or beach name (e.g. \"Ksamil Beaches\")"New value: +"Beach id (e.g. \"navagio\"), Wikidata Q-id (e.g. \"Q2460851\") or name"
- Added
sea_temperature_year - Changed
search_beaches7 fields changed- removed
Input schema / properties / blue_flagRemoved value: -{ - "description": "Only Blue Flag awarded beaches", - "type": "boolean" -} - removed
Input schema / properties / categoryRemoved value: -{ - "description": "Beach character", - "enum": [ - "tropical", - "wild", - "resort", - "cold", - "exotic", - "surf" - ], - "type": "string" -} - changed
Input schema / properties / min_sea_temp_c / descriptionPrevious value: -"Minimum typical warm-season sea temperature in °C"New value: +"Minimum mean sea temperature in that month, or of the warmest month when no month is given" - changed
Input schema / properties / month / descriptionPrevious value: -"Only beaches in season that month (name or 1-12)"New value: +"Rank and report the sea temperature for this month (name or 1-12)" - changed
Input schema / properties / query / descriptionPrevious value: -"Free-text match on name, place, setting, description and tags (e.g. \"snorkelling\", \"dunes\", \"Algarve\")"New value: +"Free-text match on beach name, region or country" - removed
Input schema / properties / sandRemoved value: -{ - "description": "Sand/shore match, e.g. \"white\", \"golden\", \"pebble\"", - "type": "string" -} - added
Input schema / properties / shore_typeAdded value: +{ + "description": "Shore type, from the beach own Wikidata classes. \"beach\" means Wikidata does not say.", + "enum": [ + "white", + "golden", + "black", + "shingle", + "rock", + "urban", + "river", + "nude", + "beach" + ], + "type": "string" +}
- Removed
warmest_beaches - Added
warmest_beaches_in_month
4 tool updates
- First observed
beaches_best_in_month - First observed
get_beach - First observed
search_beaches - First observed
warmest_beaches
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
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
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
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 Connectors
Mediterranean marine, nautical, sailing: forecasts, tides, sea routes, anchorages, POIs for AI.
Historical flight and package price series for Czech origins. Honest stats, no verdicts. CC BY 4.0
Search 184,900 swim spots, conditions, water activities, providers and guides worldwide.
Where is it sunny? Monthly sunshine scores, temps, rain, UV and sea temp for 3,833 destinations.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides AI assistants read-only access to discover and compare 184,900+ beaches, lakes, and swimming spots worldwide with current planning signals.-

Departi MCP Serverofficial
AlicenseAqualityBmaintenanceTravel compliance and trip planning for digital nomads — visa requirements, tax residency analysis, Schengen 90/180-day tracking, and curated accommodation, transport, and experience search across 189 European destinations.7MIT- AlicenseNot gradedqualityBmaintenanceEU Crop Intelligence MCP Server — Yield forecasts, weather analysis, and phenology models for 15 countries. AI agent-native, multi-source intelligence (NASA POWER, Eurostat, Open-Meteo).MIT
- AlicenseAqualityBmaintenanceLive scuba diving planning for AI agents — ranked dive-forecast windows near any place for any day, best-time climatology per destination, marine-life seasonality from GBIF sightings, and facts for 4,800+ dive sites. Free and read-only; hosted at https://pickadive.com/mcp.5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool has a clearly distinct role: search returns compact beach records, get_beach returns one full profile, sea_temperature_year provides one beach's monthly temperature cycle, and warmest_beaches_in_month ranks beaches across the atlas. There is no realistic risk of picking the wrong tool for a task.
The names are readable and consistently snake_case, but they mix two styles: get_beach and search_beaches are verb-first commands, while sea_temperature_year and warmest_beaches_in_month are descriptive noun phrases. This is not chaotic, but the pattern is inconsistent.
Four tools is well-scoped for a specialized read-only beach atlas. Each tool serves a distinct core need—finding beaches, getting details, checking one beach's temperature pattern, and comparing beaches by temperature—without redundancy.
For a read-only atlas focused on beach information and sea temperatures, the surface is complete: discover beaches, retrieve full profiles, inspect annual temperature cycles, and find warm destinations by month. No obvious dead ends or missing core operations are apparent.