# General Motors MCP MCP

> General Motors MCP. Use your AI client to manage GM vehicles remotely. Check diagnostics, track location via GPS, monitor EV charge levels, or send navigation destinations directly through natural conversation.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** connected-vehicle, telemetry, vehicle-diagnostics, gps-tracking, ev-charging, fleet-monitoring

## Description

This connector lets you treat a fleet of General Motors vehicles like any other data source. You can ask your agent for immediate vehicle status—like finding a parked car by flashing its lights—or run deep diagnostics on the engine and tires. It moves beyond just checking maps; you get real-time operational data, such as current fuel levels or battery charge percentages. Need to pre-condition the cabin? Your AI client handles that remote start command for you. By connecting General Motors through Vinkius, your agent gains control over core vehicle functions, allowing you to manage everything from locking doors after hours to sending turn-by-turn navigation routes before a trip even starts.

## Tools

### flash_horn
Triggers a GM vehicle's horn to help locate it in a crowded area.

### flash_lights
Flashes the headlights and taillights of a specific GM vehicle for visibility.

### get_charge_status
Retrieves the current battery level and charging status for any GM electric vehicle.

### get_vehicle_diagnostics
Retrieves comprehensive diagnostic health data for troubleshooting or inspection purposes.

### get_fuel_level
Gets the remaining fuel tank percentage or volume of a specific GM vehicle.

### get_vehicle_location
Gets the current GPS latitude and longitude location of a specific GM vehicle.

### get_odometer
Retrieves the current mileage reading (the odometer) for maintenance tracking.

### get_tire_pressure
Provides the current tire pressure readings for all four tires on a GM vehicle.

### get_vehicles
Lists every VIN associated with the account, helping you determine which car to target next.

### lock_doors
Remotely locks all doors on a specified GM vehicle after it's been parked.

### send_turn_by_turn
Transmits a specific destination to the vehicle’s built-in navigation system.

### start_vehicle
Remotely starts the engine of the GM vehicle, useful for warming up or cooling down the cabin.

### stop_vehicle
Remotely stops a running engine if it was started earlier by the agent.

### unlock_doors
Opens all doors on a specified GM vehicle remotely for access or entry.

## Prompt Examples

**Prompt:** 
```
Start the engine on my Bolt EV and tell me the current battery charge level and estimated driving range.
```

**Response:** 
```
Engine started remotely on your 2024 Chevrolet Bolt EV (VIN: ...7X92). Battery charge: 78% (estimated range: 215 miles). Cabin pre-conditioning: active (72°F). Estimated ready time: 3 minutes.
```

**Prompt:** 
```
Get the current GPS location of my GMC Sierra and flash the lights so I can spot it in the parking lot.
```

**Response:** 
```
Your 2024 GMC Sierra is located at: 350 5th Avenue, New York, NY 10118 (parking level B2). Coordinates: 40.7484° N, 73.9857° W. Lights flashed successfully — look for the blinking hazards. Last parked: 2 hours ago.
```

**Prompt:** 
```
Send the navigation destination 'Home' to my Cadillac's infotainment system so it's ready when I get in the car.
```

**Response:** 
```
Navigation destination 'Home' sent to your 2024 Cadillac Escalade. The route will appear on the infotainment screen when you enter the vehicle. Estimated drive time: 25 minutes (14.2 miles via I-95 N). Current traffic: moderate.
```

## Capabilities

### Locate and Signal Vehicles
Trigger flash lights or sound the horn to find a vehicle in a crowded area.

### Monitor Vehicle Status
Retrieve real-time data on mileage, fuel tank levels, tire pressure, and engine diagnostics.

### Manage EV Power
Get the current charging status and estimated range for electric vehicles like the Bolt or Ultium.

### Control Vehicle Functions
Remotely lock, unlock doors, start, or stop the engine of a specific vehicle.

### Plan Navigation Routes
Send a destination directly to the car's built-in infotainment system for trip preparation.

## Use Cases

### The Overnight Fleet Security Check
A fleet manager wakes up worried about overnight theft. They ask their agent to first run `get_vehicles` to list all VINs, then tell the system to execute `lock_doors` for every single vehicle on the manifest.

### The Remote Service Call
A service advisor needs a quick diagnostic before the customer arrives. They ask the agent to run `get_vehicle_diagnostics` and check both `get_tire_pressure` and `get_odometer` to prepare for maintenance scheduling.

### The Long-Distance Trip Prep
A user is leaving for a cold morning drive. They ask the agent to use `start_vehicle` to warm the cabin, then send their destination via `send_turn_by_turn`, so everything is ready when they get in.

### Finding a Lost Car
A user can't find their car in a massive parking structure. They tell the agent to run `get_vehicle_location` first, and if that fails, ask it to use both `flash_lights` and `flash_horn`.

## Benefits

- Stop guessing if the car is locked up. You can use `lock_doors` or `unlock_doors` to secure or gain access instantly, eliminating manual key searches.
- Know exactly where your assets are without calling dispatch. Use `get_vehicle_location` and pair it with `flash_lights` to pinpoint a vehicle in any lot.
- Pre-trip checks become simple conversation. Ask the agent for both `get_tire_pressure` and `get_fuel_level` simultaneously, getting an instant safety report.
- Manage EV charging anxiety proactively. Use `get_charge_status` to plan routes around low battery warnings or schedule off-peak charges.
- Automate maintenance prep work. Instead of checking multiple apps, ask for a full diagnostic run with `get_vehicle_diagnostics` and get all the necessary data points in one go.

## How It Works

The bottom line is that your AI client handles all the API calls; you just talk to it naturally.

1. First, your agent must identify which VINs are associated with the account by listing all available vehicles.
2. Next, you ask a direct question—for example, 'What's the tire pressure on the rear left?' or 'Can you start the car?'
3. The MCP executes the command and returns the specific status update: the current reading, success/failure confirmation, or diagnostic data.

## Frequently Asked Questions

**How do I find a car using the flash_horn tool?**
You must provide the VIN for the specific vehicle. The agent sends the signal to trigger the horn, helping locate it quickly in a large or dark parking area.

**Is `get_vehicle_diagnostics` reliable for maintenance scheduling?**
It pulls comprehensive data points designed for inspection. You can check specific components like oil life and battery voltage to build your maintenance schedule accurately.

**What if I need to run multiple tools, like diagnostics and location?**
You just ask the agent in one prompt. For example: 'Give me the `get_vehicle_location` and also check the `get_tire_pressure` for that VIN.' It handles the sequence.

**Can I use lock_doors and unlock_doors on a specific vehicle?**
Yes. You must provide the VIN, and the agent will return a status report showing if the command succeeded, failed, or is still in progress.

**Before running diagnostics or tracking location, how do I use the get_vehicles tool to list all VINs associated with my account?**
You must first run `get_vehicles`. This tool lists every GM vehicle linked to your API access. You need this output to grab the specific Vehicle Identification Number (VIN) required for commands like `get_vehicle_location` or `get_fuel_level`.

**If I try to use start_vehicle, what are common errors or safety checks that might prevent the remote start from succeeding?**
Failed commands return a specific status code and reason (e.g., 'Vehicle Out of Service'). The system prevents starting if diagnostics show an active fault or if the vehicle is already running. Safety always comes first.

**How can I use get_charge_status to schedule optimal charging times for my electric vehicle?**
Check the current battery level and estimated range using `get_charge_status`. You then feed this data into a separate scheduling agent. That agent plans charging cycles based on your usage patterns and off-peak rates.

**Are there rate limits when I use tools like get_odometer or get_tire_pressure?**
Yes, the MCP enforces defined usage quotas. Repeated calls in a short window may fail. We recommend batching data requests (like all diagnostics and tire pressures) into one agent call to stay within your operational limits.

**Which vehicles are supported by this MCP server?**
This MCP server supports GM vehicles from model year 2015 and newer that are equipped with OnStar connectivity. This includes most Chevrolet, GMC, Buick, and Cadillac models. You can verify compatibility by checking if your vehicle has the OnStar button or the myChevrolet/myGMC/myBuick/myCadillac app support.

**Do I need an active OnStar subscription to use this server?**
Yes, an active OnStar subscription is required to access the GM Connected Vehicle API. The specific features available depend on your OnStar plan. Remote commands like lock/unlock, remote start, and diagnostics require a plan that includes those capabilities. Check your OnStar plan details at my.chevrolet.com or contact OnStar support for more information.

**How are vehicle commands secured?**
All vehicle commands are authenticated through the GM Developer Portal OAuth flow. Each command requires a valid access token tied to your GM account. The MCP server does not store credentials; it uses the token provided during setup. Only vehicles linked to your GM account can be controlled, and all commands are logged in the OnStar activity history for audit purposes.