Skip to main content
Glama

Get live vehicle positions

get_vehicle_positions

Get live positions of public transport vehicles (Entur realtime), filtered by operator codespace and/or line. Each vehicle shows its position, bearing, speed, and delay. Codespace examples: ATB (Trondheim), KOL (Stavanger), SKY (Bergen area). Get a line_id from get_departures.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
line_idNoLine ID, e.g. 'ATB:Line:2_3'. Optional if codespace_id is given.
max_resultsNoMaximum number of vehicles to return
codespace_idNoOperator codespace, e.g. 'ATB'. Optional if line_id is given.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It explains the data source (Entur realtime), the per-vehicle fields returned (position, bearing, speed, delay), and the filtering model. It does not specify behavior when no filters are supplied, but as a read-only position lookup this is a minor gap rather than a hidden side effect.

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

Conciseness5/5

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

The description is compact and front-loaded with the core action and resource. Each sentence earns its place: the filtering model, the output fields, codespace examples, and the cross-reference to get_departures. There is no redundant filler.

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?

Given there is no output schema, the description appropriately summarizes what each vehicle object contains. Parameter documentation is handled by the schema, and the description adds the missing operational context. It could be slightly more explicit about the default when neither filter is provided, but overall it is sufficient for selecting and invoking the tool.

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. The description adds value beyond the schema by giving concrete codespace examples and telling the agent to source line_id from get_departures. This makes the optional relationship between the two filters more actionable.

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 uses a specific verb and resource: 'Get live positions of public transport vehicles (Entur realtime)', and adds the filtering dimensions (codespace and/or line). This clearly distinguishes it from sibling tools like get_departures or find_stops_near, which target different resources or operations.

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: use this tool when you need live vehicle positions, optionally filtered by operator or line. It also tells the agent how to obtain a valid line_id via get_departures and provides concrete codespace examples. It does not explicitly list exclusions or alternatives, but the guidance is sufficient for correct routing.

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.