The Rivian MCP server provides read-only access to your Rivian vehicle data through Claude or a terminal CLI.
Authentication: Log in with
rivian_loginand complete 2FA verification viarivian_submit_otpAccount Info: Retrieve your Rivian account details, linked vehicles, and software versions (
rivian_get_user_info)Vehicle State: Check live status including battery level, range, door locks, tire pressure, location, and climate settings (
rivian_get_vehicle_state)OTA Updates: View your current software version and whether a new update is available (
rivian_get_ota_status)Charging: Monitor active charging sessions (power, battery level, time remaining, cost), historical charging data, and configured schedules (
rivian_get_charging_session)Drivers & Keys: See who has vehicle access, including drivers, phone keys, and key fobs (
rivian_get_drivers_and_keys)CLI Access: Use the
riviancommand-line interface without Claude (e.g.,rivian ota,rivian stats)Session Persistence: Sessions are saved automatically for 7 days via
~/.rivian-mcp/session.json
Note: Strictly read-only — no vehicle commands or settings changes are supported. Requires Node.js 24+ and a Rivian account with a vehicle.
Interacts with Rivian's undocumented GraphQL API to provide real-time vehicle status, battery and charging data, and software update information.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Rivian MCPWhat's my current battery level and estimated range?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Rivian MCP
Read-only MCP server and CLI for Rivian's undocumented GraphQL API. Check your vehicle's battery, range, OTA updates, charging status, and more — right from Claude or your terminal.
Strictly read-only — no vehicle commands, no settings changes.
Install as Claude Code Plugin
Install the skill so Claude automatically knows how to work with this codebase and the Rivian API — confirmed vehicle state properties, auth flow, formatter patterns, and what fields don't exist.
From the terminal:
claude /plugin marketplace add PatrickHeneise/rivian-mcp
claude /plugin install rivian-mcp@rivian-ai
claude /plugin install rivian-mcp@rivian-aiInside Claude Code, type:
/plugin marketplace add PatrickHeneise/rivian-mcpThen:
/plugin install rivian-mcp@rivian-ai
/plugin install rivian-mcp@rivian-aiSetup
claude mcp add rivian \
-e RIVIAN_EMAIL=your@email.com \
-e RIVIAN_PASSWORD=your-password \
-- npx rivian-mcpAdd to ~/.claude.json or your project's .mcp.json:
{
"mcpServers": {
"rivian": {
"command": "npx",
"args": ["rivian-mcp"],
"env": {
"RIVIAN_EMAIL": "your@email.com",
"RIVIAN_PASSWORD": "your-password"
}
}
}
}First-time login
Rivian requires 2FA on every new login:
Ask Claude: "Log in to Rivian"
Rivian sends a verification code to your phone/email
Tell Claude the code: "The code is 123456"
Your session is saved to ~/.rivian-mcp/session.json and reused automatically until it expires (7 days).
What you can ask
"What's my battery level?"
"Is there a software update available?"
"Are all the doors locked?"
"Show me the full vehicle status"
"Who has keys to my R1S?"
"Am I currently charging?"
"Show my charging history"
"What's my charging schedule?"
Tools
Tool | What it does |
| Start sign-in (triggers verification code) |
| Complete sign-in with the verification code |
| Your account, vehicles, and software versions |
| Live status — battery, doors, tires, location, climate, OTA |
| Current and available software versions |
| Active charging session details |
| Past charging sessions — energy, cost, location |
| Your configured charging schedule |
| Drivers and their phone keys / key fobs |
CLI
The package also installs a rivian CLI for quick terminal access without Claude.
npx rivian-mcp ota # OTA software update status
npx rivian-mcp stats # Full vehicle stateOr install globally:
npm install -g rivian-mcp
rivian ota
rivian statsAuthentication works the same way — credentials from RIVIAN_EMAIL/RIVIAN_PASSWORD env vars or interactive prompts. Session is shared with the MCP server (~/.rivian-mcp/session.json).
Requirements
Node.js 24+
A Rivian account with a vehicle
Support
If you're thinking about getting a Rivian and don't have a referral yet, here's mine — you'll get benefits on your purchase and it helps support this project:
Get a Rivian R1 with referral benefits
References
Rivian API Docs — community-maintained
rivian-python-client — Python client this is based on
home-assistant-rivian — Home Assistant integration
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.