loading…
Search for a command to run...
loading…
An MCP server that connects Bouncie OBD2 vehicle tracking data to AI assistants. It enables users to retrieve real-time vehicle stats, health diagnostics, and d
An MCP server that connects Bouncie OBD2 vehicle tracking data to AI assistants. It enables users to retrieve real-time vehicle stats, health diagnostics, and detailed trip history through the Bouncie API.
A Model Context Protocol (MCP) server for the Bouncie OBD2 vehicle tracking API. Give Claude, ChatGPT, or any MCP-compatible AI assistant real-time access to your vehicle data — location, trips, diagnostics, fuel level, and more.
Connect your Bouncie GPS tracker to AI. Ask natural language questions like:
npm install && npm run build
Add to Claude Desktop or Claude Code MCP settings:
{
"mcpServers": {
"bouncie": {
"command": "node",
"args": ["/path/to/bouncie-mcp/dist/index.js"],
"env": {
"BOUNCIE_ACCESS_TOKEN": "your-access-token"
}
}
}
}
Stdio mode uses a pre-obtained Bouncie access token — no OAuth flow. Use HTTP mode for multi-user deployments.
cp .env.example .env # fill in your credentials
docker compose up -d
The server exposes:
/mcp — MCP endpoint (Bearer token auth)/authorize — kicks off the OAuth flow, redirects the user to Bouncie/callback — Bouncie's OAuth redirect target/token — token exchange endpoint for MCP clients/register — RFC 7591 dynamic client registration/.well-known/oauth-authorization-server — RFC 8414 metadata/health — health check{PUBLIC_URL}/callback (e.g. https://bouncie.example.com/callback)That's all the portal work — users authorize individually through the OAuth flow when they connect via Claude.ai.
| Variable | Required | Description |
|---|---|---|
BOUNCIE_ACCESS_TOKEN |
Yes | Pre-obtained Bouncie access token |
| Variable | Required | Description |
|---|---|---|
BOUNCIE_CLIENT_ID |
Yes | Bouncie app client ID |
BOUNCIE_CLIENT_SECRET |
Yes | Bouncie app client secret |
PUBLIC_URL |
Yes | Public URL (e.g. https://bouncie.example.com); Bouncie app's redirect URL must be {PUBLIC_URL}/callback |
TOKEN_TTL_HOURS |
No | MCP token lifetime in hours, default 24 |
PORT |
No | HTTP server port, default 3000 |
get_vehiclesList all vehicles on the account with live stats.
| Parameter | Type | Description |
|---|---|---|
vin |
string (optional) | Filter by VIN |
imei |
string (optional) | Filter by device IMEI |
Returns: vehicle info (make/model/year, VIN, IMEI, nickname) and live stats (GPS location, speed, fuel level, odometer, engine running status, battery, check engine light, DTCs).
get_vehicleGet a single vehicle by VIN or IMEI. At least one identifier required.
get_tripsGet trip history for a vehicle.
| Parameter | Type | Description |
|---|---|---|
imei |
string | Device IMEI (required) |
starts_after |
string (optional) | ISO date — trips starting after this time |
ends_before |
string (optional) | ISO date — trips ending before this time |
gps_format |
"polyline" | "geojson" (optional) |
GPS data format (default: polyline) |
transaction_id |
string (optional) | Fetch a specific trip by transaction ID |
Date window max 1 week. Defaults to last 7 days.
Returns: distance, duration, average/max speed, fuel consumed, hard braking/acceleration counts, odometer, GPS trace.
get_userGet the authenticated user's profile.
All timestamps from the Bouncie API are in UTC. Each vehicle/trip includes a timezone offset field (localTimeZone or timeZone, e.g. "-0500") for local time conversion.
npm run dev # Run with tsx (hot reload)
npm run build # Compile TypeScript
npm test # Run tests (21 tests)
npm run lint # Type check
src/index.ts — stdio transport entry pointsrc/http.ts — HTTP/Express entry point with OAuthsrc/server.ts — MCP tool definitionssrc/api.ts — Bouncie REST API clientsrc/oauth.ts — OAuth provider that proxies Claude.ai's OAuth to Bouncie's (PKCE supported)src/types.ts — TypeScript types for vehicles, trips, and webhook eventsThe Bouncie API also supports webhooks (documented here for reference):
| Event | Description |
|---|---|
connect / disconnect |
Device plugged in / unplugged |
battery |
Battery status change (normal/critical) |
mil |
Check engine light on/off with DTC codes |
tripStart / tripEnd |
Trip begins/ends with odometer, fuel consumed |
tripMetrics |
Trip summary — distance, speeds, braking/acceleration |
tripData |
Real-time GPS breadcrumbs during a trip |
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"bouncie-mcp-server": {
"command": "npx",
"args": []
}
}
}