Skip to main content
Glama
dragosh29

Spoke Dispatch MCP server

by dragosh29

Stops of a plan

list_plan_stops
Read-only

Retrieve all stops for a plan, including type, route, ETA, delivery state, and packages. Contact details and proof-of-delivery links are omitted unless include_contact_details is set.

Instructions

Every stop of one plan with its type (start/stop/end), route, position, delivery state and outcome, ETA, time window and packages. By default recipients are withheld, addresses are summarised to the locality, and proof-of-delivery links, signee names and recipient tracking links are left out; set include_contact_details to get them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
plan_idYesPlan ID (plans/<id> or the bare <id>)
page_tokenNonext_page_token from a previous call, to continue the same list
external_idNoOnly the stop(s) whose recipient.externalId equals this value exactly (the API's filter.externalId)
max_resultsNoMinimum number of records to return; whole pages are returned, so a few more may come back
include_contact_detailsNoInclude recipient name, email, phone and external ID, the full address with coordinates, signee names, proof-of-delivery photo and signature links, the tracking link, and unredacted notes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint, so the description carries the meaningful behavioral burden and does it well: it discloses exactly what is redacted by default (recipients withheld, addresses reduced to locality, POD links, signee names, tracking links omitted) and what the opt-in flag restores. What it does not mention is pagination behavior or how much data a large plan returns, which is a modest gap for a list 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?

Two sentences, front-loaded with the resource and its returned fields, followed by the visibility behavior. The first sentence is a long enumeration but every listed field is genuinely useful for deciding whether this tool answers the agent's question; no filler or restatement of the name.

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?

For a read-only, fully-documented, single-resource list tool with no output schema, the description covers the essentials: what comes back, what is hidden by default, and how to unlock it. Only pagination/volume expectations are unaddressed, which the page_token schema field partially covers.

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 description coverage is 100%, so the schema already documents plan_id, page_token, external_id, max_results and include_contact_details thoroughly. The description's only added semantic layer is framing include_contact_details as a privacy/redaction toggle rather than a plain field list, which duplicates much of the schema text. Baseline 3 is appropriate when the schema does the heavy lifting.

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+resource combination ('every stop of one plan') and then enumerates the returned attributes (type, route, position, delivery state, outcome, ETA, time window, packages). The 'one plan' scoping plus the field list lets an agent separate it from list_route_stops and search_stops without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the intended scope clear (stops belonging to a single plan) and explains the default-vs-opt-in visibility tradeoff, which is effectively usage guidance for the include_contact_details toggle. However, it never names an alternative or states when to prefer list_route_stops, search_stops, or get_plan instead, so routing between siblings is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.