Skip to main content
Glama

cheapest_charging_along_route

Find the best EV charge points along a route, with the REAL extra travel time of stopping at each one — never a straight-line guess. Provide origin + destination (a route is computed) or an existing route's geometry_polyline6, plus optional connectors ("ccs", "type2", "chademo", "type1", "tesla", "domestic", "other"), min_kw (e.g. 50 for rapid only), available_only and max_detour_minutes (default 10). Charge points come from operator-published feeds, are costed through the routing engine with your costing (a truck profile makes detours respect dimensional/ADR restrictions) and ranked most powerful first, since minutes off the clock are bought with kilowatts. Each result carries max_power_kw, connector_standards, best_connector, evse_count, detour_minutes/detour_km and, where a live feed backs it, available_now. IMPORTANT: there is no national charge-point registry — every deployment covers only the operators it has onboarded, so ALWAYS show the returned coverage_note alongside the results. An empty results means "none from these operators within the detour budget", NEVER "there are no chargers here". Statuses are live only when availability_live is true; otherwise they are the values captured at the last ingest and must not be described as current. Requires the MapMap gateway; answers a clear error when the deployment has no charge-point dataset. Display the returned charging_attribution with the results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
truckNoTruck profile (dimensions + ADR declaration). Requires costing "truck"; the detours then respect dimensional/ADR restrictions.
min_kwNoKeep only charge points whose best connector is rated at least this many kW (e.g. 50 for rapid charging only).
originNoRoute origin (with `destination`, when no geometry is given).
costingNoCosting model for the route and detour matrix: "auto" (default), "truck", "bicycle", "pedestrian" or "motor_scooter".auto
connectorsNoKeep only charge points offering at least one of these connector standards: "type2", "type1", "ccs", "chademo", "tesla", "domestic" or "other". Omitted ⇒ every standard.
destinationNoRoute destination.
max_resultsNoMaximum results (default 5, at most 25).
available_onlyNoKeep only charge points with a bay reported free right now. Needs the deployment to have a live availability feed; without one the call is refused rather than silently returning nothing.
geometry_polyline6NoAn existing route geometry as an encoded polyline6 (the `route` tool's `geometry_polyline6`). Provide either this or `origin` + `destination`, not both.
max_detour_minutesNoLargest acceptable detour in minutes (default 10, at most 120).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoWhy `results` is empty, when it is — the cause, not a bare list.
costingYesThe costing the detours were computed with.
resultsYesCharge points within the detour budget, most powerful first (power, then detour).
sourcesYesEvery operator in the dataset, with its own coverage note and licence. Present even when `results` is empty.
candidate_capYesThe matrix fan-out cap in force.
coverage_noteYes**Always present.** What this deployment's charge-point dataset does and does not cover. An empty `results` means "none from these operators within the budget" — never "there are no chargers here". Show this to the user alongside the results.
route_length_mYesLength of the route geometry in metres.
route_distance_mNoDirect origin→destination distance in metres.
route_duration_sNoDirect origin→destination travel time in seconds (same estimator as the detour legs), when routable.
availability_liveYesWhether statuses are live (a bring-your-own availability feed) or the values captured at the last ingest.
availability_noteYesPlain-language explanation of what the statuses mean here.
candidates_costedYesCandidates actually costed through the engine (fan-out capped at `candidate_cap`, most powerful kept).
max_detour_minutesYesThe detour budget applied, minutes.
charging_attributionNoAttribution string for the charge-point operators actually returned — display it with the results (a licence obligation).
candidates_consideredYesCharge points matching the filters that passed the corridor pre-filter.

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden, and it does so thoroughly. It discloses the operator-feed limitation, the absence of a national registry, the meaning of empty results, stale vs live statuses, the need to show coverage_note and charging_attribution, and the gateway/dataset error case. This is exemplary behavioral disclosure for a tool with no annotations.

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 dense but every sentence contributes: purpose, input modes, filtering options, behavioral caveats, output fields, and mandatory display instructions. It is front-loaded with the core value proposition and structures the key usability warnings (empty results, stale statuses, attribution) clearly. Length is appropriate for the tool's complexity.

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?

For a 10-parameter tool with no annotations, the description covers everything an agent needs: how to specify the route, filter options, detour semantics, coverage limitations, live-data conditions, error behavior, and required display of coverage_note and charging_attribution. An output schema exists and the description even summarizes the returned fields, so no critical context 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?

Input schema coverage is 100% and the schema already documents each parameter, so the baseline is 3. The description adds genuine integration logic beyond the schema: origin+destination vs geometry_polyline6 as alternatives, truck profile making detours respect dimensional/ADR restrictions, ranking by power, and the availability_live caveat for returned statuses. It does not add much beyond the schema for max_results and costing, but the added recipe-level guidance justifies 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?

The description names a specific verb and resource: finding EV charge points along a route, with real detour time rather than straight-line estimates. The phrase 'best EV charge points along a route' clearly differentiates it from fuel, geospatial, and nearby-place siblings, and the output focus on detour_minutes/detour_km gives it a distinctive identity.

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 clearly explains when to call it: given origin+destination or an existing route's geometry_polyline6, with optional filters. It also gives important context such as available_only requiring a live feed and the MapMap gateway/no-dataset error behavior. It does not explicitly name alternatives like plan_ev_route or cheapest_fuel_along_route, so it lacks explicit when-not-to-use guidance.

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.

TDQS

A4/5.0
Disambiguation4/5

Most tools target a distinct action and resource pair, and descriptions are explicit about which tool fits which scenario. The closest overlaps—plan_ev_route vs cheapest_charging_along_route, and route vs plan_day vs order_stops vs optimise_routes—are mitigated by clear guidance, so an agent can usually pick correctly.

Naming Consistency4/5

Tool names overwhelmingly follow a verb_noun snake_case pattern (plan_ev_route, set_palette, list_style_layers) with a consistent geo_ prefix for geometry helpers. Minor deviations like elevation, route, and matrix are short and readable but break the strict verb_noun convention.

Tool Count2/5

At 39 tools, this surface is well past the 25+ threshold and feels heavy even for a broad mapping platform. The set spans routing, geocoding, places, styles, EV/fuel, telematics, usage, and feedback, which would be easier for an agent to navigate if split into smaller domain-focused servers.

Completeness4/5

For the stated breadth, coverage is strong: routing, multi-stop planning, VRP, EV/fuel detours, geocoding, places, geometry, style lifecycle, and telematics all have workable primary paths. Minor gaps like no style deletion, no route alternatives, and no batch geocoding are present but do not create dead ends for core workflows.

Resources