Register an application in the Smartcar developer dashboard to obtain a client ID and client secret
Redirect the vehicle owner through Smartcar Connect (OAuth 2.0 authorization URL) requesting scopes such as read_odometer, read_fuel, or read_battery depending on the data needed
Exchange the returned authorization code for an access token and refresh token using the token endpoint
Use the access token to call the Smartcar REST API vehicle endpoints, e.g. GET /v2.0/vehicles/{vehicle_id}/odometer, /fuel, or /battery
Parse the JSON response which returns the reading value and a data age (timestamp of when the vehicle last reported)
Known gotchas
Scope availability varies by make and model year — not every vehicle supports every scope, so always check the compatibility matrix before promising a feature
The data returned reflects the last cached reading from the vehicle, not necessarily real-time; the unitSystem header controls metric vs. imperial but defaults to metric
Access tokens are short-lived; implement refresh token rotation and store both tokens securely because Smartcar issues a new refresh token on each refresh call
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