About Tesla MCP Server
Tesla MCP Server connects Claude to the Tesla Owner API for vehicle and solar-system data and commands. It includes OAuth2 setup and reusable refresh-token authentication.
Key features
- 01Tesla OAuth2 authentication
- 02List vehicles and inspect details
- 03Send vehicle commands
- 04Read solar status and history
- 05Summarize Tesla systems
Use cases
- 01Check Tesla authentication status
- 02Review vehicle information
- 03Issue commands to a vehicle
- 04Inspect solar-system history
MCP support
It exposes authentication, vehicle, and solar-system tools to MCP clients, including Claude Desktop.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMETesla MCP Server
Model Context Protocol (MCP) server for connecting Claude with the Tesla Owner API. It provides tools for authentication and data retrieval for Tesla vehicles and solar systems.
Requirements
- Python 3.11
- Model Context Protocol (MCP) Python SDK
- httpx
- python-dotenv
Setup
1. Install uv (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh
2. Clone this repository
git clone https://github.com/yourusername/tesla-mcp-server.git
cd tesla-mcp-server
3. Create and activate a virtual environment
# Create virtual environment
uv venv
# Activate virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate
4. Sync project dependencies
uv sync
Usage
Authentication Setup
This server uses Tesla's Owner API and implements a secure OAuth2 authentication flow. Before using the server with Claude Desktop, you must first run the authentication setup script.
1. Run Authentication Setup
IMPORTANT: You must run this setup script before using the server with Claude:
python setup_auth.py
This script will:
- Prompt you to authenticate via your browser
- Walk you through the Tesla OAuth2 flow
- Create a
refresh_token.txtfile for future sessions - Test the API connection to ensure everything works
Do not commit refresh_token.txt to version control.
2. Authentication Flow Details
- On first run of
setup_auth.py, you will be prompted to authenticate via your browser - Follow the instructions in the terminal to complete the OAuth2 flow
- After successful authentication, a
refresh_token.txtfile will be created and used for future sessions - The refresh token will be automatically used by the MCP server for subsequent API calls
Configure Claude Desktop
To use this server with Claude Desktop, you need to add it to your Claude Desktop configuration.
- Run the following from the
tesla_mcp_serverdirectory to configure Claude Desktop:
mcp install src/tesla_mcp_server/server.py --name "Tesla" --with-editable .
- If you open your Claude Desktop App configuration file
claude_desktop_config.json, it should look like this:
{
"mcpServers": {
"Tesla": {
"command": "/Users/<USERNAME>/.cargo/bin/uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with-editable",
"/path/to/tesla-mcp-server",
"mcp",
"run",
"/path/to/tesla-mcp-server/src/tesla_mcp_server/server.py"
],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}
Where /path/to/ is the path to the tesla-mcp-server code folder in your system.
- Restart Claude Desktop.
Use the MCP server with Claude
Once the server is running and Claude Desktop is configured, you can use the following tools to interact with your Tesla systems:
tesla_auth_status: Check Tesla authentication statusget_vehicles: Get a list of all your vehiclesget_vehicle: Get detailed information about a specific vehiclesend_command: Send a command to a vehicleget_solar_system: Get status of a solar systemget_solar_history: Get history of a solar systemget_system_summary: Get a summary of all Tesla systems
Re-authentication
- If you ever need to re-authenticate, simply delete
refresh_token.txtand runpython setup_auth.pyagain.
Development and testing
Install development dependencies and run the test suite with:
uv sync --all-extras
pytest -v tests
Running the server locally
To start the server manually (useful when developing or testing), run:
mcp run src/tesla_mcp_server/server.py
License
The GNU General Public License v3.0
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.