Skip to main content
Glama

line_course

Read-only

Linienverlauf: die Halte-Folge einer ÖPNV-LINIE und ihre gezeichnete Strecke für die Karte — „wo fährt die Y entlang", „welche X-Linien gibt es". Für Linien-Fragen ist dieses Werkzeug die Auskunft. Pflicht ist EINES: query — Name/Nummer, wie ein Mensch sie schreibt ('Heide-Shuttle', 'HS 2'); ODER id aus einer früheren Antwort = GENAU EINE Linie. Sonst frag nach. Optional: area — der Ort, in dem die Linie fährt ('Hannover'; Dutzende Linien heißen '100'), limit (Default 8), render_payload, format. Die Antwort: je Fahrtrichtung ein Verlauf mit headsign, den halts als Namen und pathOnMap — der Strecke im Text, auf max. ~50 m vereinfacht; volle Auflösung: render_payload: true. Mehrdeutig: meint die Frage mehr Linien als eine Antwort ganz liest, kommt statt lines die Liste candidates (Nummer, Betreiber, Id) — ungezeichnet; dann den Ort erfragen oder mit id nachfassen. Grenzen: geometryDegraded: true heißt Luftlinien-Kette statt Straßenverlauf, note sagt es. Je Richtung EIN Fahrtmuster; ist patternsTotal größer, fährt sie üblicherweise so. matchedTotal über der Zahl der Linien heißt Ausschnitt. Unbekannter Ort: note sagt es, nichts wurde eingegrenzt. Nicht dafür: A→B (connections), Abfahrten (departures), Störungen (disruptions). Anleitung: get_usage_guide mit tool='line_course'. Anti-Fab: Linien, Halte, Reihenfolge, Strecke nur aus diesem Aufruf; findet sich keine, sag das.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoA line id out of an earlier answer (`"de:VBN-VH:6002:_3"`) — the one way to name exactly one line when a name means several.
areaNoThe town or city the line runs in (`"Hannover"`), where the user named one — the other way to make a line number mean ONE line. Beside `query`; no effect beside `id`, which already means one line.
limitNoMaximum number of lines, at least 1. Default 8, values above 15 are served as 15. Ignored beside `id`, which is one line.
queryNoLine name or number, as written on the vehicle or in the timetable (`"Heide-Shuttle"`, `"HS 2"`, `"U3"`). Matched against the beginning of both, without case and without separators.
formatNoAnswer serialisation: `"toon"` (default) or `"json"` — the detail is in `get_usage_guide`. **An agent leaves this out.**
render_payloadNo`true` appends the whole answer again, addressed to the user rather than to the model: the halts with their coordinates, and every course's line at the resolution it was drawn at rather than the simplified `pathOnMap` the text carries. For an application that needs the exact line; a client that draws the answer's own `pathOnMap` leaves this off.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld/non-destructive, and the description goes well beyond them: it discloses the candidates fallback for ambiguous names, the geometryDegraded and patternsTotal/matchedTotal semantics, unknown-place behavior, and a hallucination guardrail. Rich behavioral context for a read tool.

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-loaded with purpose and then grouped into required/optional/response/limits/not-for sections. It is dense and long, but nearly every sentence carries distinct information; the bolding and structuring keep it navigable rather than padded.

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 no output schema, the description carries the full return-value burden and does so: it explains per-direction courses with headsign, halts, pathOnMap simplification, the candidates alternative, and the max ~50 m simplification with render_payload for full resolution. Nothing essential is missing.

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 still adds value by foregrounding the 'exactly one of query/id' obligation and the area/limit defaults, though it mostly reinforces rather than extends the schema wording.

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 opening states a specific resource (the halt sequence of an ÖPNV line and its drawn map path) and pairs it with concrete user questions ('wo fährt die Y entlang'). It also explicitly names the siblings it is not (connections, departures, disruptions), so an agent can route correctly without opening schemas.

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 an explicit when-to-use rule, the 'genau EINE Linie' constraint, the fallback when ambiguous (query by area or by id), and an explicit 'Nicht dafür' list mapping other needs to connections/departures/disruptions. Almost no inference is left.

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