Set up a Geotab MyGeotab account and obtain API credentials (username, password, database name) or a session token from your fleet administrator.
Authenticate by calling the Authenticate method on the MyGeotab JSON-RPC API endpoint (my.geotab.com/apiv1) with your credentials to receive a session credentials object.
Call the Get method with typeName set to DeviceStatusInfo to retrieve the latest GPS position, speed, and ignition status for all vehicles in the fleet.
Call the Get method with typeName set to StatusData and diagnosticSearch filtering to DiagnosticOdometerId or DiagnosticFuelTankLevelId to retrieve odometer and fuel level readings.
To get vehicle utilisation data, call Get with typeName Trips filtered by a device ID and date range; parse trip start/end times, distance, and idling duration.
Implement webhook/MyGeotab Feed-based polling using the GetFeed method to receive incremental updates rather than polling full datasets repeatedly.
Known gotchas
Geotab session tokens expire after a period of inactivity; implement token refresh logic and handle InvalidUserException by re-authenticating automatically.
Fuel level data accuracy depends on the vehicle's CAN bus reporting capability; not all vehicles expose fuel level via OBD — check DiagnosticAvailability before surfacing fuel data.
Geotab database names are customer-specific; never hardcode the database name in shared code — pass it as a configuration parameter.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp