Tesla MCP Server について
Tesla MCP ServerはClaudeをTesla Owner APIに接続し、車両や太陽光発電システムの情報取得と操作を可能にします。OAuth2の初期設定と、更新トークンを使った継続認証に対応しています。
主な機能
- 01Tesla OAuth2認証
- 02車両一覧と詳細の取得
- 03車両へのコマンド送信
- 04太陽光発電の状態と履歴取得
- 05Teslaシステム情報の要約
活用シーン
- 01Teslaの認証状態を確認
- 02車両情報を確認
- 03車両にコマンドを送信
- 04太陽光発電の履歴を確認
MCP 対応
Claude DesktopなどのMCPクライアントに、認証、車両、太陽光発電のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Tesla MCP サーバー
Claude を Tesla Owner API に接続するための Model Context Protocol(MCP)サーバーです。Tesla の車両や太陽光発電システムの認証とデータ取得を行うツールを提供します。
必要条件
- Python 3.11
- Model Context Protocol(MCP)Python SDK
- httpx
- python-dotenv
セットアップ
1. uv をインストールする(推奨)
curl -LsSf https://astral.sh/uv/install.sh | sh
2. このリポジトリをクローンする
git clone https://github.com/yourusername/tesla-mcp-server.git
cd tesla-mcp-server
3. 仮想環境を作成して有効化する
# Create virtual environment
uv venv
# Activate virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate
4. プロジェクトの依存関係を同期する
uv sync
使用方法
認証のセットアップ
このサーバーは Tesla の Owner API を使用し、安全な OAuth2 認証フローを実装しています。Claude Desktop でサーバーを使用する前に、認証セットアップスクリプトを実行する必要があります。
1. 認証セットアップを実行する
重要: Claude でサーバーを使用する前に、このセットアップスクリプトを実行する必要があります。
python setup_auth.py
このスクリプトでは、次の処理が行われます。
- ブラウザーでの認証を求められます
- Tesla の OAuth2 フローが案内されます
- 今後のセッションで使用する
refresh_token.txtファイルが作成されます - API 接続がテストされ、正常に動作することが確認されます
refresh_token.txt をバージョン管理にコミットしないでください。
2. 認証フローの詳細
setup_auth.pyを初めて実行すると、ブラウザーでの認証を求められます- ターミナルの指示に従って OAuth2 フローを完了してください
- 認証が成功すると、
refresh_token.txtファイルが作成され、以降のセッションで使用されます - MCP サーバーは、以降の API 呼び出しでリフレッシュトークンを自動的に使用します
Claude Desktop を設定する
このサーバーを Claude Desktop で使用するには、Claude Desktop の設定に追加する必要があります。
tesla_mcp_serverディレクトリで次のコマンドを実行し、Claude Desktop を設定します。
mcp install src/tesla_mcp_server/server.py --name "Tesla" --with-editable .
- Claude Desktop App の設定ファイル
claude_desktop_config.jsonを開くと、次のようになっています。
{
"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"
}
}
}
}
ここで、/path/to/ はお使いのシステム上にある tesla-mcp-server コードフォルダーへのパスです。
- Claude Desktop を再起動します。
Claude で MCP サーバーを使用する
サーバーが実行され、Claude Desktop の設定が完了したら、次のツールを使用して Tesla のシステムを操作できます。
tesla_auth_status:Tesla の認証状態を確認しますget_vehicles:すべての車両の一覧を取得しますget_vehicle:特定の車両の詳細情報を取得しますsend_command:車両にコマンドを送信しますget_solar_system:太陽光発電システムの状態を取得しますget_solar_history:太陽光発電システムの履歴を取得しますget_system_summary:すべての Tesla システムの概要を取得します
再認証
- 再認証が必要になった場合は、
refresh_token.txtを削除し、python setup_auth.pyを再度実行してください。
開発とテスト
開発用の依存関係をインストールし、テストスイートを実行するには、次のコマンドを実行します。
uv sync --all-extras
pytest -v tests
サーバーをローカルで実行する
サーバーを手動で起動するには(開発やテストに便利です)、次のコマンドを実行します。
mcp run src/tesla_mcp_server/server.py
ライセンス
GNU General Public License v3.0
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。