Skip to main content
Glama

Road route between places

get_route
Read-onlyIdempotent

Use this when the user wants the driving, walking or cycling route between 2 to 25 places or points in order: the distance and travel time along the roads and paths, per leg and in total, and the route line. Computed by Valhalla on the TerraLab server from the OpenStreetMap road network, with each road's typical speed. Options avoid tolls, highways or ferries. Returns the figures (distance_m, distance_km, duration_s, duration_min), a map of the line and GeoJSON, KML, GPX, Shapefile zip and GeoPackage downloads. Not for a straight-line distance (use measure), live traffic, departure-time travel times, public transport or turn-by-turn navigation. Never use the user's current location unless they type it. Download links build their file when opened; no file is saved. Never pass these links to open_gis_file.

Input Schema

NameRequiredDescriptionDefault
modeNoHow the route is travelled.driving
pointsYesStart, optional stops and destination, in travel order: place names or {latitude, longitude}.
avoid_tollsNoDriving: avoid toll roads where a reasonable alternative exists.
avoid_ferriesNoAvoid ferries where possible.
avoid_highwaysNoDriving or cycling: avoid motorways and highways where possible.

Output Schema

NameRequiredDescriptionDefault
codeNoError code, on errors only.
hintNoWhat to do next, on errors only.
messageNoError message, on errors only.
sourcesNoData sources and licences of the result.
downloadsNoDownload links; each builds its file when opened.
truncatedNo
totalFoundNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations (which already declare read-only, open-world, idempotent): it names the engine and data source (Valhalla on TerraLab, OSM roads with typical speeds), discloses that download links generate their file only when opened and save nothing, and warns not to feed those links to open_gis_file. These are non-obvious behaviors an agent could otherwise get wrong.

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 the core purpose and use case, then progressively adds exclusions, provenance and caveats. It is dense and runs long, and the format enumeration (GeoJSON, KML, GPX, Shapefile zip, GeoPackage) is slightly redundant given the output schema, but nearly every sentence carries actionable information.

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?

An output schema exists, yet the description still tells the agent what units and fields come back and how the download artifacts behave, and it covers provenance and the no-file-saved caveat. Nothing needed to call or interpret this tool 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 100%, so the baseline is 3; the description still adds value by restating the 2–25 point ordering requirement and summarizing what the avoid_tolls/avoid_highways/avoid_ferries options mean in practice. It does not add format or syntax detail beyond the schema, which limits it to a 4.

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 ('driving, walking or cycling route between 2 to 25 places or points in order') and immediately scopes the output to distance, travel time per leg and total, plus the route line. It is unmistakable against siblings like measure or get_travel_area.

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?

Explicit when-to-use framing ('Use this when the user wants...') plus a concrete exclusion list with a named alternative ('Not for a straight-line distance (use measure), live traffic, departure-time travel times, public transport or turn-by-turn navigation'). It even resolves a subtle policy question: never use the current location unless the user types it.

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