Skip to main content
Glama
icos-mcp

icos-mcp

Official

find_stations

Read-onlyIdempotent

Locate stations carrying a station-based variable by point, radius, bounding box, name, or country; returns station IDs to pass to estimate and get_data.

Instructions

The stations that carry a variable: id, name, position, sampling height, country, ecosystem -- near a point (sorted by distance), in a box, by name or by country. The ids are what estimate and get_data take as station=.

Input Schema

NameRequiredDescriptionDefault
idYesa station-based variable id from search_variables
textNopart of a station's id or name, e.g. 'Hyltemossa', 'HTM', 'Hyy'
limitNothe most stations to return
countryNotwo-letter code, e.g. SE
lat_maxNonorthern edge of a bounding box, degrees north
lat_minNosouthern edge of a bounding box, degrees north
lon_maxNoeastern edge of a bounding box, degrees east
lon_minNowestern edge of a bounding box, degrees east
near_latNosearch around this point, with near_lon and radius_km
near_lonNolongitude of the point near_lat names
radius_kmNosearch radius around near_lat/near_lon, km

Output Schema

NameRequiredDescriptionDefault
stationsYes
variableYes
n_matchesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered; the description still adds real value by disclosing the sort order for proximity search (by distance) and the identity of the returned fields. It stops short of behavioral edge cases such as what happens with zero matches, how conflicting filters interact, or how the default limit truncates results.

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

Conciseness4/5

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

Two dense sentences with no filler, and the most actionable fact (ids feed estimate and get_data) is placed last but is short enough to read. Minor ambiguity: the field list reads like return values while 'a variable' is an input id, which takes a moment to disentangle.

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?

For an 11-parameter search tool with a full output schema and rich annotations, the description covers the essentials: what is searched, the mode options, sort order, and the id handoff. The remaining gap is filter-combination semantics, which matters given four mutually overlapping selection mechanisms but is not addressed anywhere.

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?

Schema description coverage is 100% and all 11 parameters are individually documented (id source, text matching examples, two-letter country, bounding-box edges, near_lat/near_lon/radius_km trio, limit bounds), so the schema does the heavy lifting. The description adds only the conceptual grouping of those parameters into four search modes plus the reminder that the resulting ids are the station= input for other tools; baseline 3 applies.

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

Purpose5/5

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

Names the resource (stations carrying a given variable), enumerates the metadata returned (id, name, position, sampling height, country, ecosystem), lists the four selection modes (near a point, in a box, by name, by country), and closes with the downstream contract that the ids are what estimate and get_data accept as station=. An agent can tell exactly what this yields and how to chain it, which no sibling does.

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?

The four filter modes imply when each is appropriate (proximity vs bounding box vs text vs country), and pointing at estimate/get_data establishes the follow-on step, so usage is inferable. But there is no explicit routing guidance against search_variables, describe_variable, or list_datasets, and no statement about whether the modes can be combined or which wins when several are supplied.

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