mcpField
M
mcp-tesla

mcp-tesla

リモート
github.com/MyTeslaMate地図・旅行517 週間前に更新
リポジトリ

mcp-tesla について

mcp-teslaはTesla Fleet APIとTeslaMate APIをMCPサーバーとして提供し、AIアシスタントから車両、充電、エネルギーのデータや操作にアクセスできます。生成型ダッシュボードツールと分析ワークフロー用スキルも備えています。

主な機能

  1. 01車両状態の確認と操作
  2. 02充電、Powerwall、太陽光発電機能
  3. 03ナビゲーションとセキュリティ操作
  4. 04TeslaMateの走行・エネルギー分析
  5. 05生成型チャートと分析ワークフロー

活用シーン

  1. 01車両状態の確認と空調・ロック操作
  2. 02充電費用と走行効率の分析
  3. 03太陽光発電とPowerwallの状態確認
  4. 04車両データのダッシュボード生成

MCP 対応

Tesla Fleet API向けに98個、TeslaMate API向けに9個のMCPツールを公開し、生成型UIツールとスキルも提供します。MCPクライアントはホスト型エンドポイントに接続し、OAuthまたはAPIトークンで認証できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.myteslamate.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Tesla MCP Server: https://mcp.myteslamate.com/mcp

このリポジトリでは、Tesla Fleet API と TeslaMate API の両方をラップする Model Context Protocol サーバーを提供しています。車両のエンドポイント、車両コマンド、エネルギー関連のエンドポイント(Powerwall/Solar)、充電関連のエンドポイントが含まれています。実装はモジュール化され、機能が充実しており、Tesla Fleet API 向けに 98 個の MCP ツール、TeslaMate API 向けに 9 個の MCP ツールを公開しています。


✨ できること

これは単なるリモート操作ではありません。Tesla エコシステム全体と対話できるインターフェースです。やりたいことを AI に直接伝えましょう。平易な言葉で希望を説明すれば、AI がどのツールをどの順序で、どのパラメーターを使って呼び出すかを判断します。アプリを開いたり、メニューをたどったりする必要はありません。

⚡ エネルギーの最適化

「Powerwall の残量は 40% です。今、車を充電すべきですか、それとも午後の太陽光発電を待つべきですか?」

「直近 30 日間のエネルギーデータを分析してください。夜間の充電料金を払いながら電力を系統に売電して、損をしていますか?」

「Powerwall のバックアップ用予備電力を 20% に設定し、午前 2 時から午前 6 時まで、16A で車を充電するようスケジュールしてください。」

AI は太陽光発電量、Powerwall の状態、系統の電気料金、車両のバッテリー残量を相互に照合して、推奨事項を提示し、そのまま実行できます。

🚗 スマートな車両管理

「来週の木曜日にリヨンへドライブ旅行に行きます。普段の電費をもとに、途中で充電が必要か確認してください。ルート上で最適なスーパーチャージャーを探してください。」

「今月と先月のエネルギー消費量を比較してください。何が変わりましたか?」

「平日の毎朝 7:45 に車内を事前空調し、充電上限を 80% に戻してください。旅行で使ったため、現在は 100% になっています。」

📊 データと分析(TeslaMate API を使用)

「直近 3 か月の平均 km/kWh はいくつですか?悪化していますか?」

「今年、充電料金が最も高かったセッションと、その場所を表示してください。」

「車内空調を作動させたまま停車している時間は、週に何時間ですか?エネルギーコストはいくらですか?」

🔐 セキュリティと安心

「車はロックされていますか?セントリーモードはオンですか?フライト前に確認し忘れました。」

「車をダウンタウンに駐車しています。セントリーモードをオンにして、現在地を送ってください。」


🎨 ジェネレーティブ UI — 必要なときに作成できるカスタムダッシュボード

あらかじめ用意されたウィジェットに加え、サーバーは ジェネレーティブ UI 機能を公開しています。AI はその場でインタラクティブな Prefab UI コンポーネントを作成し、テキストだけでなく、チャート、テーブル、指標カードで回答できます。

「先月の場所ごとの充電コストを棒グラフで表示してください。」

「この車のダッシュボードを作成してください。現在の SoC、直近 7 回の走行、バッテリーの劣化状況を表示してください。」

「今冬と昨夏の電費を、横並びの指標カード 2 枚で比較してください。」

AI は generative_generate_prefab_ui を使ってサンドボックス内で Python コードを作成します(サーバー上の Pyodide + Deno)。生成されたウィジェットは Skybridge-mime iframe を通じてチャットに直接表示されます。こちらでテンプレートを作成したり、追加のやり取りをしたりする必要はありません。関連する generative_search_prefab_components 検索ツールにより、LLM はコンポーネントのシグネチャを正確に把握できます。

Tesla Fleet API と TeslaMate のどちらのユーザーにも同様に機能します。同じジェネレーティブツールが、いずれかのサブスクリプションによって利用可能になります。

スキル — あらかじめ構成された分析ワークフロー

このサーバーには MCP Skills も付属しています。これは、LLM が必要に応じて読み込み、ツールを連携させて一貫した回答を作成するための Markdown ワークフローです。最初に利用できるのは drive-efficiency-coach です。

「直近 30 日間のドライブ効率コーチを実行し、レポートとして表示してください。」

このスキルは、TeslaMate の走行データの取得、Wh/km パーセンタイルの計算、外れ値の特定、速度・気温・走行距離との相互照合、ジェネレーティブ UI レポート(指標カード、外れ値テーブル、あなた自身の数値に基づく実行可能なコーチングのヒント 1~3 件)の表示を AI に順を追って指示します。

🤝 スキルへの貢献

スキルは、Python に触れずにこのサーバーを拡張する最も簡単な方法です。プルリクエストを歓迎します — tesla_mcp/skills/ の下に新しいディレクトリを追加するだけで、SkillsDirectoryProvider が自動的に読み込みます。

優れたスキルの条件は次のとおりです。

  1. 具体的 — 何でもこなそうとするのではなく、具体的な質問に一つしっかり答えます(例:「期間を指定して、場所別の充電費用をまとめる」 は 「充電を管理する」 よりも優れています)。
  2. ツールを把握している — 呼び出す正確な MCP ツール(teslamate_get_car_drives、energy_live_status、…)と適切な引数を指定します。
  3. 数値に基づいている — コーチング/インサイトのステップでは、一般論ではなく、ユーザー自身のデータから導いた数値を引用します。
  4. 有効な場合は視覚的に示す — 分析/レポートでは最後に generative_generate_prefab_ui でレンダリングし、一度限りの質問にはプレーンテキストで回答します。
  5. 落とし穴について正直である — 単位の曖昧さ、データの欠落、LLM が対処すべきエッジケースを明示します。

最小限の構成:

tesla_mcp/skills/your-skill-name/
└── SKILL.md

SKILL.md は YAML フロントマター(name、description)で始まり、その後にワークフローが続きます。参考として drive-efficiency-coach/SKILL.md を参照してください。

作成者募集中のアイデア:

  • charging-cost-breakdown — 先月の充電を場所別にまとめ、100km あたりの費用を表示します
  • weekly-tesla-digest — 走行+充電+バッテリーのスナップショット+ソフトウェアアップデートを、月曜朝のメール風レポートにまとめます
  • range-anxiety-checker — 目的地に基づき、SoC、天候、標高、最近の電費を照合して、途中での充電停止を提案するか、不要だと判断します
  • home-charging-window-finder — 時間帯別料金の設定と最近の充電セッションを使い、今夜の最も安い4時間の充電時間帯を見つけます

利用可能な機能(Tesla Fleet API のツール98個+TeslaMate API のツール9個+Generative UI ツール2個+スキル):

  • 車両制御:ロック/ロック解除、空調、トランク、ウィンドウ、ライト、クラクション
  • 充電:開始/停止、上限設定、スケジュール、充電アンペア数、充電履歴
  • Powerwall と Solar:ライブ状況、エネルギー履歴、バックアップ用予備電力、ストームモード、電力網からの電力購入/電力網への電力送出、時間帯別料金の設定
  • ナビゲーション:目的地の送信、近くのスーパーチャージャーの検索
  • セキュリティ:セントリーモード、バレーモード、速度制限、PIN による運転制限
  • データと分析:車両データ、走行履歴、運転統計 (TeslaMate API)
  • Generative UI:AI がサンドボックス化された Pyodide ランタイムで作成する、オンデマンドの Prefab ダッシュボード(グラフ、指標、テーブル)
  • スキル:AI が必要に応じて読み込み、ツールを連携させて一貫した回答を作成する、あらかじめ構成された分析ワークフロー(例:drive-efficiency-coach)

🔐 ワンクリック SSO — Tesla アカウントに接続

ホスト型サーバーは、Tesla の公式認可サーバーを介した OAuth 2.0 シングルサインオンに対応しています。対応クライアント(ChatGPT、Claude.ai、VS Code…)では自動サインインフローが開始され、トークンをコピー&ペーストする必要はありません。

MCP server URL: https://mcp.myteslamate.com/mcp

サーバーは OAuth フローを auth.tesla.com にプロキシし、Tesla トークンを MyTeslaMate トークンに透過的に交換します。Tesla の認証情報がこのサーバーに渡ることはありません。


🤖 ChatGPT での設定(Apps/MCP Connector)

ChatGPT は Settings → Apps からネイティブ MCP コネクターを利用できます。

  1. chat.openai.com で Settings → Apps を開きます。
  2. Create app をクリックします。
  3. MCP サーバーの URL を入力します:
    https://mcp.myteslamate.com/mcp
    
  4. ChatGPT が OAuth メタデータを自動検出し、Connect を促します。
  5. Tesla アカウントでサインインします。認可は自動的に処理されます。
  6. コネクターが Enabled apps の一覧に表示され、すべてのチャットで利用できるようになります。
🧠 Claude.ai でのセットアップ(MCP Connector)
  1. claude.ai を開き、Settings → Connectors に移動します。
  2. Add custom connector をクリックします。
  3. 名前(例:Tesla)と、MCP サーバーの URL を入力します。
    https://mcp.myteslamate.com/mcp
    
  4. Add をクリックします。Claude が OAuth メタデータを自動的に検出し、Connect ボタンを表示します。
  5. Connect をクリックすると、Tesla のログインページにリダイレクトされます。
  6. 認証が完了すると、Claude はすべての Tesla MCP ツールにアクセスできるようになります。

注: OAuth ベースの SSO を利用するには、MyTeslaMate アカウントが必要です。サーバーが Tesla トークンを検証し、MTM サブスクリプションに自動的に紐付けます。


🤖 Claude Code スキル

この MCP サーバーですぐに使える Claude Code スキルは、myteslamate/tesla-skills で利用できます。

/tesla スラッシュコマンドを 1 ステップでインストールします。

Claude Code で次を実行します。

/tesla what is my battery level?
/tesla lock my car
/tesla how much did I charge last month?

🚀 クイックスタート - VS Code、Claude Desktop などで直接使用

インストールは不要です! ホストされている MCP サーバーを直接使用できます。認証方法は 2 つあります。

オプション A — SSO(Claude.ai と ChatGPT におすすめ)

サーバー URL を指定するだけで、クライアントが OAuth フローを自動的に処理します(上記のセクションを参照)。

オプション B — 手動トークン(VS Code、Cursor、Claude Desktop)

OAuth に対応していないクライアントでは、MyTeslaMate API トークンを Authorization ヘッダーに直接指定します。

VS Code / Cursor(MCP Extension を使用)およびその他の MCP クライアントの場合

優先する連携方法を選べるように、両方のエンドポイントを .vscode/mcp.json 設定に追加します。

{
  "servers": {
    "tesla": {
      "type": "http",
      "url": "https://mcp.myteslamate.com/mcp"
    }
  }
}
  • Tesla の公式 Fleet API に直接アクセスするには、tesla_fleet_api を使用します。
  • TeslaMate API 経由で連携するには、teslamate を使用します。
Claude Desktop の場合

上記と同じ URL とヘッダーを使って、MCP Connector の設定にエンドポイントを追加します。:

claude mcp add --transport http tesla-api "https://mcp.myteslamate.com/mcp"

認証方法と API の設定に応じてサーバーを選択します。

🔑 トークンの取得(手動モードのみ)
  1. MyTeslaMate.com にアクセスします。
  2. Tesla アカウントでサインインします。
  3. ダッシュボードの API セクションに移動します。
  4. 個人用 API トークンをコピーします。
  5. MCP の設定で使用します。

🔧 セルフホスト(上級者向け)

独自のインスタンスを実行する場合、このリポジトリは TeslaMate API と Tesla Fleet API にも対応しています(Tesla Developer Account と適切な Fleet API 登録が必要です)。

機能

  • 再利用可能な TeslaClient を備えた、tesla_mcp 配下のモジュール式パッケージです。
  • 車両エンドポイント(読み取り専用エンドポイント 29 個):
    • 車両の基本情報:
      • GET /api/1/vehicles - 車両一覧を取得
      • GET /api/1/vehicles/{vehicle_tag} - 車両のメタデータを取得
      • GET /api/1/vehicles/{vehicle_tag}/vehicle_data - 車両のライブデータを取得
      • POST /api/1/vehicles/{vehicle_tag}/wake_up - スリープ中の車両を起動
      • POST /api/1/vehicles/fleet_status - フリートの状態を取得
      • GET /api/1/vehicles/{vehicle_tag}/mobile_enabled - モバイルアクセスを確認
      • GET /api/1/vehicles/{vehicle_tag}/nearby_charging_sites - 近くの充電スポットを取得
      • GET /api/1/vehicles/{vehicle_tag}/service_data - サービスデータを取得
      • GET /api/1/vehicles/{vehicle_tag}/release_notes - ファームウェアのリリースノートを取得
      • GET /api/1/vehicles/{vehicle_tag}/recent_alerts - 最近のアラートを取得
      • GET /api/1/dx/vehicles/options?vin={vin} - 車両のオプションを取得
      • GET /api/1/dx/vehicles/upgrades/eligibility?vin={vin} - 対象となるアップグレードを取得
      • GET /api/1/dx/vehicles/subscriptions/eligibility?vin={vin} - 対象となるサブスクリプションを取得
    • ドライバーと共有(エンドポイント 6 個):
      • GET /api/1/vehicles/{vehicle_tag}/drivers - 許可されたドライバーの一覧を取得(所有者のみ)
      • DELETE /api/1/vehicles/{vehicle_tag}/drivers - ドライバーのアクセス権を削除
      • GET /api/1/vehicles/{vehicle_tag}/invitations - 有効な共有招待の一覧を取得(ページネーション対応)
      • POST /api/1/vehicles/{vehicle_tag}/invitations - 共有招待を作成(有効期限 24 時間、1 回のみ使用可能)
      • POST /api/1/invitations/redeem - 共有招待を引き換え
      • POST /api/1/vehicles/{vehicle_tag}/invitations/{id}/revoke - 共有招待を取り消し
    • フリートテレメトリー(エンドポイント 4 個):
      • GET /api/1/vehicles/{vehicle_tag}/fleet_telemetry_config - フリートテレメトリーの設定を取得
      • POST /api/1/vehicles/fleet_telemetry_config - セルフホスト可能な fleet-telemetry サーバーを設定
      • DELETE /api/1/vehicles/{vehicle_tag}/fleet_telemetry_config - フリートテレメトリーの設定を削除
      • GET /api/1/vehicles/{vehicle_tag}/fleet_telemetry_errors - 最近のフリートテレメトリーエラーを取得
    • プッシュ通知のサブスクリプション(エンドポイント 4 個):
      • GET /api/1/subscriptions - モバイルデバイスのサブスクリプションを取得
      • POST /api/1/subscriptions - モバイルデバイスのサブスクリプションを設定
      • GET /api/1/vehicle_subscriptions - 車両のサブスクリプションを取得
      • POST /api/1/vehicle_subscriptions - 車両のサブスクリプションを設定
    • 保証と署名付きコマンド(エンドポイント 2 個):
      • GET /api/1/dx/warranty/details?vin={vin} - 保証情報を取得
      • POST /api/1/vehicles/{vehicle_tag}/signed_command - 署名付きコマンドを実行(Tesla Vehicle Command Protocol)
  • 車両コマンド(制御エンドポイント 64 個):
    • ドアとアクセス:door_lock、door_unlock、actuate_trunk
    • 空調:auto_conditioning_start/stop、set_temps、set_climate_keeper_mode、set_bioweapon_mode、set_cabin_overheat_protection、set_cop_temp、set_preconditioning_max
    • シートとステアリング:remote_seat_heater_request、remote_seat_cooler_request、remote_auto_seat_climate_request、remote_steering_wheel_heater_request、remote_steering_wheel_heat_level_request、remote_auto_steering_wheel_heat_climate_request
    • 充電:charge_start、charge_stop、charge_port_door_open/close、set_charge_limit、charge_standard、charge_max_range、set_charging_amps、set_scheduled_charging、add/remove_charge_schedule、add/remove_precondition_schedule
    • ウィンドウとサンルーフ:window_control、sun_roof_control
    • ライトとクラクション:flash_lights、honk_horn
    • メディア:adjust_volume、media_toggle_playback、media_next/prev_track、media_next/prev_fav、media_volume_down
    • ナビゲーション:navigation_request、navigation_gps_request、navigation_sc_request
    • セキュリティ:set_sentry_mode、set_valet_mode、reset_valet_pin、speed_limit_set_limit、speed_limit_activate/deactivate/clear_pin、speed_limit_clear_pin_admin、set_pin_to_drive、reset_pin_to_drive_pin、clear_pin_to_drive_admin
    • ソフトウェア:schedule_software_update、cancel_software_update
    • その他:remote_start_drive、trigger_homelink、remote_boombox、set_vehicle_name、guest_mode、erase_user_data
  • エネルギーエンドポイント(Powerwall/Solar を制御するエンドポイント 12 個):
    • 情報:energy_products(全製品の一覧)、energy_site_info(サイト設定)、energy_live_status(電力・エネルギーのリアルタイムデータ)
    • 履歴:energy_history(経時的なエネルギー測定値)、energy_backup_history(オフグリッドイベント)、energy_charge_history(wall connector の使用状況)
    • 制御:energy_operation(モードを設定:autonomous/self_consumption)、energy_backup(バックアップ用予備電力の割合を設定)、energy_off_grid_vehicle_charging_reserve(停電時の EV 充電用予備電力)
    • 系統設定:energy_storm_mode(ストーム監視を有効化/無効化)、energy_grid_import_export(系統からの充電/系統への電力供給を制御)、energy_time_of_use_settings(電力会社の料金プランを設定)
  • 充電エンドポイント(充電履歴と請求書に関するエンドポイント 3 個):
    • charging_history(フィルターに対応したページネーション付き充電履歴)
    • charging_invoice(充電イベントの PDF 請求書をダウンロード)
    • charging_sessions(料金とエネルギーデータを含むセッション情報。法人アカウントのみ)
  • エラー処理を一元化し、基本的なログ記録を行うことで、MCP クライアントが有用な診断情報を表示できるようにします。

設定

API エンドポイントの設定

TESLA_BASE_URL 環境変数を使用して、Tesla API のベース URL を設定します。

MyTeslaMate API の場合(デフォルト)
# No configuration needed - uses default
# Or explicitly set:
export TESLA_BASE_URL=https://api.myteslamate.com
Tesla Fleet API の場合(公式)

お住まいの地域のエンドポイントを選択してください。

# North America, Asia-Pacific (excluding China)
export TESLA_BASE_URL=https://fleet-api.prd.na.vn.cloud.tesla.com

# Europe, Middle East, Africa  
export TESLA_BASE_URL=https://fleet-api.prd.eu.vn.cloud.tesla.com

# China
export TESLA_BASE_URL=https://fleet-api.prd.cn.vn.cloud.tesla.cn

注:公式の Tesla Fleet API を使用する場合は、次の条件を満たしていることを確認してください。

  • Tesla Developer Account に登録していること
  • Fleet API への適切なアクセス権限があること
  • 有効な OAuth 2.0 ベアラートークンがあること

インストール

Python の依存関係を一度だけインストールします。

pip install -r requirements.txt

MCP サーバーの実行

サーバーは複数の方法で起動できます。

オプション 1:uvicorn を使用する(推奨)
uvicorn tesla_mcp.app:app --host 0.0.0.0 --port 8000 --reload
オプション 2:Docker compose 方式
make up
オプション 3:従来の方式
python server.py

サーバーは http://0.0.0.0:8084 で HTTP ストリーミングを使用して起動します。MCP 対応のクライアント(Cursor や MCP 拡張機能を備えた VS Code など)を接続し、このエンドポイントを指すサーバーエントリを設定してください。

使用例

MyTeslaMate のクイックスタート
# 1. Start the server (uses MyTeslaMate API by default)
uvicorn tesla_mcp.app:app --host 0.0.0.0 --port 8000

# 2. Configure your MCP client with:
# URL: http://localhost:8000/sse
# Authorization: Bearer YOUR_MYTESLAMATE_TOKEN
Tesla Fleet API の使用(公式)
# 1. Set your regional endpoint
export TESLA_BASE_URL=https://fleet-api.prd.na.vn.cloud.tesla.com

# 2. Start the server
uvicorn tesla_mcp.app:app --host 0.0.0.0 --port 8000

# 3. Configure your MCP client with:
# URL: http://localhost:8000/sse  
# Authorization: Bearer YOUR_TESLA_FLEET_TOKEN
Docker の使用方法
# Build the image
docker build -t tesla-mcp .

# Run with MyTeslaMate (default)
docker run -p 8000:8000 tesla-mcp

# Run with Tesla Fleet API
docker run -p 8000:8000 -e TESLA_BASE_URL=https://fleet-api.prd.na.vn.cloud.tesla.com tesla-mcp

新しいモジュールの追加

  • tesla_mcp/modules/ の下に TeslaModule を継承するファイルを作成します。
  • tesla_mcp/modules/__init__.py にモジュールを登録します。
  • モジュールのメソッドに処理を委譲する新しい MCP ツールを server.py で公開します。

この構成により MCP レイヤーを薄く保ち、Tesla Fleet API と TeslaMate API のロジックをすべて tesla_mcp パッケージに集約できます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。