Skip to main content

Tools Reference

The Bodha Route Planner MCP server exposes 14 read-only tools that AI assistants can call. Each tool queries your fleet data and returns structured results that the assistant turns into plain-language answers.
All tools are read-only. They cannot create, modify, or delete any data in your account. Write capabilities are planned for a future release.

Routes

list_routes

List routes filtered by date, status, or driver. Returns: Array of routes with id, name, date, status, driver count, stop count, distance, duration, and completion percentage. Scope required: routes:read Example questions:
  • “What routes do we have today?”
  • “Show me all completed routes from last week”
  • “Which routes are still in progress?”

get_route

Get full details for a single route, including all stops. Returns: Complete route object with name, date, status, assigned drivers, all stops (with sequence, address, status, ETAs, completion details), total distance, total duration, and optimization metadata. Scope required: routes:read Example questions:
  • “Show me the details of route R-2024-0142”
  • “What stops are on the morning route?”

get_route_summary

Get a quick statistical summary of a route without listing every stop. Returns: Stop count, completed/failed/pending counts, total distance, total duration, estimated finish time, completion percentage. Scope required: routes:read Example questions:
  • “Is the afternoon route on track?”
  • “What’s the completion rate for route X?”

Stops

list_stops

List stops across routes with filters. Returns: Array of stops with id, sequence, address, recipient name, status, scheduled time, actual arrival/departure, completion notes, failure reason (if failed), proof of delivery status. Scope required: stops:read Example questions:
  • “Which stops failed today?”
  • “Show me all completed stops from this week”
  • “List pending stops on route X”

get_stop

Get complete details for a single stop. Returns: Full stop object with address, recipient, phone (masked), notes, delivery instructions, time window, scheduled/actual times, status, failure reason, proof of delivery details (signature, photos, notes), custom properties. Scope required: stops:read Example questions:
  • “What happened at stop #7?”
  • “Show me the delivery details for the Baker Street stop”

search_stops

Search for stops by name, address, reference number, or notes. Returns: Matching stops with route name, date, and full stop details. Scope required: stops:read Example questions:
  • “Find the delivery for John Smith”
  • “Search for orders going to 123 Oak Street”
  • “Look up reference REF-2024-0099”

Drivers

list_drivers

Get your driver roster with today’s assignment status. Returns: Array of drivers with id, name, email, phone (masked), vehicle type, active status, and (if includeToday) today’s route name, stop count, and completion percentage. Scope required: drivers:read Example questions:
  • “Who are my active drivers?”
  • “Who’s on the road today?”
  • “Which drivers don’t have a route today?”

get_driver_performance

Get performance metrics for one or all drivers over a period. Returns: Per-driver metrics: routes completed, stops completed, stops failed, completion rate, on-time rate, average stops per route, total distance, total driving time. Scope required: drivers:read Example questions:
  • “How did each driver perform this month?”
  • “Compare driver Alex vs driver Sam over the last 30 days”
  • “Who has the highest completion rate this quarter?”

Orders

list_orders

List orders in the inbox with filters. Returns: Array of orders with id, reference, recipient, address, status, source, created date, assigned route (if any), custom fields. Scope required: orders:read Example questions:
  • “Are there any new orders?”
  • “How many orders came in from Method CRM this week?”
  • “Show me orders that need review”

get_order

Get complete details for a single order. Returns: Full order object with reference, recipient, address, phone (masked), email (masked), notes, delivery instructions, time window, parcel details (weight, volume, count), source, status, assigned route, custom fields. Scope required: orders:read Example questions:
  • “Show me order REF-1234”
  • “What’s the status of order 67890?”

Analytics

get_analytics

Get a dashboard summary for a date range. Returns: Summary metrics: total routes, total stops, completion rate, on-time rate, average stops per route, total distance, total driving time, failed stop count, top failure reasons. Scope required: analytics:read Example questions:
  • “Give me this week’s summary”
  • “What was our completion rate in October?”
  • “How many stops did we deliver this month?”

compare_periods

Compare two date ranges side by side. Returns: Both periods’ metrics (same as get_analytics) plus calculated deltas: absolute difference and percentage change for each metric. Scope required: analytics:read Example questions:
  • “Compare this week to last week”
  • “How did October compare to September?”
  • “Are we improving month over month?”

Depots

list_depots

List all depots in your organization. Returns: Array of depots with id, name, address, coordinates, shift hours, break schedule, return-to-depot setting. Scope required: depots:read Example questions:
  • “Where are our depots?”
  • “List all depot locations”

get_depot

Get details for a single depot. Returns: Full depot object with name, address, coordinates, shift hours, break schedule, return-to-depot setting, assigned drivers count. Scope required: depots:read Example questions:
  • “Show me the Main Warehouse depot details”
  • “What are the shift hours for the East depot?”

Tool discovery

When an AI assistant connects to the MCP server, it automatically discovers all tools the API key has access to. Tools outside the key’s scopes are hidden — the assistant never sees them. If you connect with a Read-only key (all scopes), all 14 tools are available. With a custom-scoped key, only tools matching the granted scopes appear.