MCP server for Hyundai Bluelink: check your car's charge, range, locks and location, pre-heat it and manage…
bluelink-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Talk to your Hyundai or Kia.**
An open-source Model Context Protocol server for **Hyundai Bluelink** and **Kia Connect** (formerly UVO). It lets Claude and other AI assistants check your car's charge, fuel, range, locks and location, and, if you allow it, pre-heat the cabin, lock the doors or start charging.
**bluelink-mcp.mattoddie.dev**
Quick start · Documentation · Tool reference · Contributing
---
It's built on hyundai_kia_connect_api, the library behind the Home Assistant Kia/Hyundai integration. Hyundai and Kia work in most regions, and Genesis in some; see Compatibility. The name and settings say Bluelink (BLUELINK_*), but they cover Kia Connect too: for a Kia, set BLUELINK_BRAND=kia.
> **"Is the car charged, and is it locked?"**
> *The Santa Fe is at 80% (about 52 km of electric range, 610 km total with fuel) and finished charging at 06:10. All doors are locked and the windows are closed. Bluelink last heard from it 25 minutes ago.*
> **"Warm the EV6 up for 15 minutes."**
> *Done. The Kia confirmed it, so the cabin is heating to 21 °C for 15 minutes. It's at 64%, so there's plenty of charge for that.*
> [!NOTE]
> This is an unofficial project and isn't affiliated with Hyundai, Kia or Genesis. Their APIs are undocumented and change without notice.
Tools
| Tool | What it does | Needs |
| --- | --- | --- |
| list_vehicles | Vehicles on the account | |
| get_vehicle_status | Last reported battery/fuel, range, charging, climate, locks, doors, windows, tyres, warnings and charging schedule. Doesn't wake the car. | |
| refresh_vehicle_status | Wakes the car for live data. Rate limited (see below). | |
| get_vehicle_location | Latitude/longitude, map link and optional address | |
| get_trips | A day's trips, or a month's summary | |
| get_energy_usage | Daily energy use for driving, climate, electronics and battery care | |
| get_command_status | Result of an earlier command | |
| lock_vehicle | Lock the doors | writes |
| start_climate / stop_climate | Pre-condition the cabin: temperature, duration, defrost, heated rear window/mirrors and steering wheel, seats | writes |
| start_charging / stop_charging | Start or stop charging | writes |
| set_charge_limits | AC/DC charge limits (EVs; most plug-in hybrids don't support this) | writes |
| flash_hazard_lights | Flash the hazards to find the car | writes |
| unlock_vehicle | Unlock the doors | writes + unlock |
Every tool takes an optional vehicle (name, VIN or ID). You can leave it out if the account has one car.
Quick start
You need a Hyundai Bluelink or Kia Connect account that works in the app, and uv or Docker. The defaults are for a Hyundai in Europe. For a Kia, add BLUELINK_BRAND=kia, and outside Europe set BLUELINK_REGION.
Claude Code with uv (stdio)
For a Kia, add -e BLUELINK_BRAND=kia. Claude Desktop and other clients use the same command (uv run --directory /path/to/bluelink-mcp bluelink-mcp) with the same environment variables.
Docker (Streamable HTTP)
Then ask *"How's the car doing?"*
Configuration
All settings are environment variables; example.env lists and explains them.
| Variable | Default | |
| --- | --- | --- |
| BLUELINK_USERNAME, BLUELINK_PASSWORD | | Your Bluelink or Kia Connect app login (required) |
| BLUELINK_PIN | | Your app PIN. Europe needs it for remote commands. |
| BLUELINK_REGION | europe | europe, europe-cci, usa, canada, australia, nz, india, china, brazil |