Skip to main content
Glama

Spick Me — Swiss public transport

Find a station, stop, address or place in Switzerland

find_place
Read-onlyIdempotent

Look up what a place name means in the Swiss public-transport network: stations and stops, street addresses, and named places (a university, a museum, a mountain), ranked best first, each with a stable place_id.

Use it when the user names a place you are not sure of, when another tool answered that a name is ambiguous, or to get coordinates for a place. You do not need it before plan_journey or departures for ordinary names — those tools accept names directly and say how they read them.

Inputs: query is A station or stop name ("Zürich HB", "Bern", "Lausanne, Flon"), an address ("Bahnhofstrasse 1, Winterthur"), a named place ("ETH Zürich", "Kunsthaus"), a coordinate as "geo:47.3769,8.5417", or a place_id returned by find_place ("stop:8503000"). Names are read the way a rider types them; an ambiguous name returns candidates instead of a guess. limit is how many candidates to return (1–10, default 5). near is an optional latitude/longitude that breaks ties between equally good matches.

Example: {"query": "Winterthur Spital"} returns the stop "Winterthur, Kantonsspital" with its place_id, which you can pass to plan_journey as from or to.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nearNoWhere the user is, if known: prefers nearer matches among equally good ones.
limitNoHow many candidates to return, best first.
queryYesThe name, address or coordinate to look up.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
queryYes
candidatesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.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 description is free to add the genuinely useful behavior: results are ranked best-first, each carries a stable place_id, and an ambiguous name returns candidates rather than a guessed single answer. It stops short of describing error handling or result shape, but the output schema covers returns.

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?

Front-loads the purpose, then usage, then a labelled Inputs section and a worked example, so an agent can skim to what it needs. Slightly verbose in places ('Names are read the way a rider types them') but nothing is wasted.

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

Completeness5/5

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

With an output schema present, the description need not explain return values, and it supplies everything else an agent needs: when to call it, when not to, accepted input formats, tie-breaking via near, and an end-to-end example showing the place_id flowing into plan_journey.

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 100%, so the baseline is 3, but the description goes beyond the schema's terse 'The name, address or coordinate to look up' by enumerating accepted query forms with real examples ('geo:47.3769,8.5417', 'stop:8503000') and clarifying that limit is 1-10 with default 5.

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 ('look up what a place name means in the Swiss public-transport network') and enumerates the resource types it covers: stations/stops, street addresses, named places, coordinates, place_ids. This clearly separates it from plan_journey, departures, and the other routing siblings.

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

Usage Guidelines5/5

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

Gives explicit triggers ('when the user names a place you are not sure of', 'when another tool answered that a name is ambiguous', 'to get coordinates') and an explicit non-trigger ('You do not need it before plan_journey or departures for ordinary names'), even explaining why those siblings handle names themselves.

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