Skip to main content
Glama

Get a surf town

get_town
Read-onlyIdempotent

Full profile of one surf town: description, season, water temperature, wave types, levels and curated surf spots (each with its type, level, the way its coast faces in degrees (facing), its best tide where known (tide, e.g. "low to mid, rising", with tideSources), a reviewed, freely licensed photo of surf at that break from Wikimedia Commons when one exists, with author and licence, and reviewed YouTube surf clips filmed there: clips[].url). dataQuality says how far to trust the town's data (trust 0–100 and level high/medium/low, when it was last checked against sources, how many spots are verified, open audit warnings): tell the user when trust is low or the data was never checked. surfByMonth gives, for each month, how often the surf was good there, measured over the last three years (goodDays, greatDays: % of days rated Good or better / Great or better at the best spot; seaTempC: the mean sea temperature measured by satellite, NASA JPL MUR SST; waveHeightM), with its source: use it for "when should I go" and say it is measured, not a forecast.

Input Schema

NameRequiredDescriptionDefault
slugYesTown slug from search_towns, e.g. "ericeira".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description goes further by explaining that dataQuality carries a 0–100 trust score with audit warnings and that surfByMonth is a three-year measured statistic (NASA JPL MUR SST), explicitly not a forecast — real interpretive context an agent could otherwise misreport.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded correctly with the resource and its contents, and with no output schema much of the length is earned. But it is delivered as one dense, comma-spliced block with nested parentheticals (facing, tide, tideSources, clips[].url) that is hard to scan and buries the two most actionable instructions near the end.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the full burden of documenting returns, and it does so thoroughly: field-by-field meaning for dataQuality and surfByMonth, photo licensing, and clip URLs. Minor gaps remain — it does not say what happens for an unknown slug, nor clarify formats for 'season' or 'levels'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter exists and the schema documents it fully at 100% coverage (slug from search_towns, with an example). The description adds nothing about the slug's format or behavior beyond what the schema already states, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ('Full profile of one surf town') and enumerates the exact contents: description, season, water temperature, wave types, levels, spots, photos, clips, dataQuality and surfByMonth. That is far more specific than the name alone. It never explicitly contrasts itself with search_towns or town_feed, so the sibling differentiation is only implied by 'one surf town' versus a search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this instead of search_towns, town_feed or surf_now; the agent must infer that this is the detail lookup after a search. The description does give output-usage guidance ('use surfByMonth for when should I go', 'tell the user when trust is low'), which is useful but is not tool-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources