Skip to main content
Glama

mesh_list_stations

Retrieve the current station list from the mesh's canonical directory. Optionally filter by nearest location, continent, country, or city; omit filters to list every known station.

Instructions

List macula stations via hecate_stations.list_stations, the mesh's canonical station directory -- so an agent never has to hand-maintain a station list. Auto-discovers which realm hecate_stations is currently advertised under (never the default all-zero realm) 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. Defaults to station-de-frankfurt.macula.io:4433 if host isn't given.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cityNoExact match, e.g. "paris".
hostNoStation to connect through for both the discovery lookup and the call, "host[:port]". Defaults to station-de-frankfurt.macula.io:4433.
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. First observedv0.28.7

TDQS

A4.2/5.0
Behavior4/5

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

Since no annotations are present, the description carries the behavioral burden. It discloses the DHT-based realm auto-discovery, the 'never default all-zero realm' guarantee, and the default host. This goes well beyond the schema without contradicting any annotations.

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?

Four sentences, each carrying useful information: purpose, discovery mechanism, filter modes, and default host. The motivational phrase about not hand-maintaining a list adds context without bloating the definition.

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

Completeness3/5

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

For a read-only listing tool, the description is mostly complete: it covers discovery, calling mechanics, filters, and defaults. However, with no output schema and no annotations, it does not describe what the returned station data looks like or how errors/pagination are presented, leaving some uncertainty for an agent.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3. The description adds real value by explaining 'near' as nearest-first great-circle distance, clarifying that continent/country/city are exact-match filters, and noting that omitting filters lists every known station.

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?

The description is explicit: 'List macula stations' names the verb and resource, and 'hecate_stations.list_stations, the mesh's canonical station directory' distinguishes this from ad-hoc lists. It is clearly separated from sibling tools like mesh_list_realms or mesh_rooms.

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?

It gives clear usage context: this is the canonical directory, so agents should use it instead of hand-maintaining station lists, and it explains filter modes and the default host. It does not explicitly name when not to use a sibling, but the 'canonical' framing supplies enough guidance.

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