Skip to main content
Glama

Plan a delivery route with Spoke

create_route

Optimizes and saves one driving route for one driver with 1–20 delivery stops, from the addresses and settings the user confirmed in the address panel. Use this when a user asks what order to visit delivery addresses, wants an efficient driving route between multiple stops, or wants a route they can open and share. Takes the single-use token the panel issues when the user clicks Optimize route. Returns the stops in optimized order, estimated duration and distance, the route geometry, and route links. Every call creates a new route, and anyone with the returned link can view its addresses. Does not enforce delivery time windows, and not for package tracking, public transit, multiple drivers, or live-traffic estimates.

Input Schema

NameRequiredDescriptionDefault
confirmationTokenNoSingle-use token returned when the user clicks Optimize in the address panel.

Output Schema

NameRequiredDescriptionDefault
stopsYes
routeUrlYes
driverUrlYes
startTimeYes
dispatchUrlYes
distanceUnitYes
ignoredFieldsYes
distanceMetersYes
estimateNoticeYes
durationMinutesYes
encodedPolylineYesSaved driving route overview in Google encoded polyline format (precision 5). Empty when route geometry is unavailable.
timeAtStopMinutesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly=false, idempotent=false, openWorld=true; the description goes further by explaining that every call creates a new route (matching non-idempotency) and, critically, that anyone with the returned link can view its addresses — a privacy consequence not encoded anywhere in structured fields. It also discloses a capability limit (no delivery time windows) that would otherwise cause silent misuse.

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 capability and scope, then usage triggers, then outputs, then exclusions — a sensible order with no filler sentences. It is on the dense side at roughly five clauses, but each one carries distinct information rather than repeating the schema.

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?

Despite a single-parameter schema, the tool has real behavioral complexity (creates shareable artifacts, open-world geocoding, non-idempotent side effects), and the description covers side effects, sharing exposure, and capability limits. An output schema exists, yet summarizing the returned stops, duration, geometry, and links still helps the agent reason about follow-up steps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter's own description already explains it is a single-use token returned when the user clicks Optimize. The description's sentence "Takes the single-use token the panel issues when the user clicks Optimize route" restates that rather than adding format, expiry, or failure semantics, so this is baseline territory.

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?

"Optimizes and saves one driving route for one driver with 1–20 delivery stops" gives a specific verb, resource, and hard scope bounds (single driver, 1–20 stops). It is clearly separable from siblings like confirm_route or select_addresses, which handle adjacent steps rather than route creation.

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?

States three concrete triggering intents (what order to visit, efficient route between stops, openable/shareable route) and an explicit exclusion list: no time windows, not for package tracking, transit, multiple drivers, or live traffic. It also names the precondition (token issued after the user clicks Optimize route), so the agent knows when the tool is even callable.

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