Skip to main content
Glama

mesh_list_stations

Lists macula stations from the mesh's canonical directory, with optional filters for proximity or location. Eliminates manual station list maintenance for agents.

Instructions

List macula stations via mcl-stations/list_stations, the mesh's canonical station directory -- so an agent never has to hand-maintain a station list. Auto-discovers which realm mcl-stations is advertised in via a DHT lookup, then calls it. Optional near (nearest-first by great-circle distance) or continent/country/city filters, matching the service's own filter API -- omit all filters to list every known station.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoExact match, e.g. "paris".
nearNoSort nearest-first by great-circle distance from (lat, lng); limit caps the result count.
countryNoExact match, e.g. "FR".
continentNoExact match, e.g. "Europe".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.37.0
    • removedInput schema / properties / host
      Removed value: -{
      -  "description": "Station to connect through for both the discovery lookup and the call, \"host[:port]\". Defaults to station-de-frankfurt.macula.io:4433.",
      -  "type": "string"
      -}
  2. First observedv0.28.7

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does disclose a non-obvious two-step execution model: a DHT lookup to auto-discover which realm advertises mcl-stations, then the call. It does not state failure behavior if the service is not advertised in any realm, nor auth/rate-limit characteristics, but 'List' clearly signals 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.

Conciseness4/5

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

Two dense sentences, front-loaded with the action and backing service, with filter behavior trailing. Nothing is wasted, though the em-dash clause about hand-maintaining station lists is rationale rather than instruction.

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 a zero-required-parameter list tool with full schema coverage, the definition covers what it does, how filtering works, and the auto-discovery mechanism. With no output schema, the return shape (what fields a station record contains) is left unspecified, which is the main remaining gap.

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%, so the schema already documents city/country/continent exact-match semantics and the near{lat,lng,limit} sorting and cap. The description restates the same filter set and only adds that it mirrors 'the service's own filter API', which is marginal value. Baseline 3 applies when the schema does the heavy lifting.

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?

States a specific verb and resource ('List macula stations') and names the backing service and realm ('mcl-stations/list_stations', 'the mesh's canonical station directory'), so an agent can distinguish it from mesh_list_realms or the generic mesh_find_* siblings without opening any schema.

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

Usage Guidelines4/5

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

Explicitly says filters are optional and that omitting them lists every known station, which tells the agent exactly how to select behavior. It lacks an explicit 'use X instead when...' routing statement against siblings like mesh_list_realms, but the context for use is unambiguous.

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