“How much charge have I got, and is it plugged in?”
get_vehicle_statusOpen source · MIT · Model Context Protocol
bluelink-mcp connects Claude and other AI assistants to Hyundai Bluelink. Ask about charge, range, locks and where you parked in plain English, and let the assistant warm the cabin, lock up or start charging when you allow it.
docker pull ghcr.io/mattoddie/bluelink-mcpAsk anything
The assistant picks the right tools, asks Bluelink and explains what it found. No opening the app, waiting for it to load and tapping through screens.
“How much charge have I got, and is it plugged in?”
get_vehicle_status“It's freezing. Warm the car to 21° with the windscreen defrost on.”
start_climate“Did I lock the car? Lock it if not.”
get_vehicle_statuslock_vehicle“Where did I park?”
get_vehicle_location“How far did I drive this month, and what was my longest trip?”
get_trips“How much energy went on heating versus driving this week?”
get_energy_usageWhat it can do
7 read tools are always available. 7 command tools and 1 unlock tool are only there when you turn them on.
status5The car's state as Bluelink last heard it, live refreshes, location and command results.
history2Driving history and daily energy use.
climate2Pre-conditioning the cabin: temperature, defrost, heated rear window, steering wheel and seats.
charging3Starting and stopping charging, and charge limits.
security3Locks and hazard lights.
read write unlock ·Full tool reference →
Safe by default
Tools that aren't allowed aren't registered at all. The assistant can't see them, so it can't call them or be talked into calling them.
7 tools, always on
get_vehicle_status · get_vehicle_location · get_trips …7 tools with BLUELINK_ALLOW_WRITES=true
start_climate · lock_vehicle · start_charging …1 tool with BLUELINK_ALLOW_UNLOCK=true as well
unlock_vehicleWorks with your car
Built on hyundai_kia_connect_api, the library behind the Home Assistant integration. Fields your car doesn't report are left out. Compatibility →
Works with your assistant
Run it once and share it, or start it per session with uv run or docker run -i. Commands wait for the car to confirm. Client setup →
Quick start
Make sure you can log in to the Bluelink app and see your car. You'll need the same email, password and PIN.
curl -fsSLO https://raw.githubusercontent.com/mattoddie/bluelink-mcp/main/compose.yaml
curl -fsSL https://raw.githubusercontent.com/mattoddie/bluelink-mcp/main/example.env -o .env
# set BLUELINK_USERNAME, BLUELINK_PASSWORD,
# BLUELINK_PIN and MCP_AUTH_TOKEN in .env
docker compose up -dclaude mcp add --transport http bluelink \
http://<docker-host>:8080/mcp \
--header "Authorization: Bearer <token>"Then ask: “Is the car charged?”
Free, open source and MIT licensed. Contributions and compatibility reports are welcome.