local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Connects to the Tesla Fleet API to retrieve vehicle information and control Tesla vehicles, providing functionality to wake up vehicles from sleep mode and get detailed vehicle information
テスラ MCP サーバー
Tesla Fleet API に接続する Model Context Protocol (MCP) サーバー。これにより、Claude や MCP をサポートするその他の AI アシスタントを使用して Tesla 車両を制御できるようになります。
特徴
- 車両を起動する:テスラをスリープモードから起動する
- 車両情報: テスラ車の詳細情報を入手
- リアルタイム更新:オンデマンドで車両データを更新
- デバッグツール: トラブルシューティングに役立つ詳細な車両情報にアクセスします
要件
- Node.js 18歳以上
- pnpm(推奨)またはnpm
- 少なくとも1台の車両を所有するTeslaアカウント
- Tesla API 認証情報 (クライアント ID とクライアント シークレット)
- Ngrok(開発と登録用)
セキュリティのベストプラクティス
このプロジェクトは、機密性の高いTesla API認証情報を取り扱います。以下のセキュリティ対策に従ってください。
- 認証情報をコミットしない:
.gitignore
ファイルは.env
とkeys/
除外しますが、必ず二重チェックを行ってください。 - セキュリティチェッカーを使用する: コミットする前に
./check-secrets.sh
を実行して、漏洩の可能性がある資格情報を検出する - 秘密鍵を保護する:
keys/
ディレクトリの内容を安全に保つ - 共有する前にコードを確認する: ソースファイルに資格情報がハードコードされていないことを確認する
このプロジェクトをフォークまたは共有する場合:
.env
ファイルが含まれていないことを確認してください- 秘密鍵がコミットされていないことを確認する
.gitignore
ファイルが正しく設定されていることを確認する
クイックスタート
- リポジトリをクローンするCopy
- 依存関係をインストールするCopy
- 環境変数を設定するルート ディレクトリに
.env
ファイルを作成します。Copy - リフレッシュトークンを取得する(持っていない場合)Copy
- TeslaのAPIにアプリケーションを登録するスクリプトの指示に従ってくださいCopy
- サーバーを構築するCopy
- サーバーを実行するCopy
認証と登録
このプロジェクトでは、Tesla Fleet APIの公式OAuth 2.0認証フローを使用して、Teslaアカウントに安全に接続します。プロセス全体は以下の2つのステップで構成されます。
- 認証: OAuth 2.0フローを通じてリフレッシュトークンを取得する
- 登録: パートナーアカウントAPI経由でTeslaにアプリケーションを登録する
認証
認証には以下が必要です:
- Tesla 開発者ポータルのクライアント ID とクライアント シークレット
- OAuth 2.0 認証コードフローを通じて取得されたリフレッシュトークン
付属のpnpm get-token
ユーティリティは、次の方法でこのプロセスを簡素化します。
- ブラウザを開いて、Teslaアカウントの認証情報でログインします
- OAuth PKCE(コード交換用証明キー)フローを実行する
- 認証コードをリフレッシュトークンとアクセストークンと交換する
- リフレッシュトークンを
.env
ファイルに保存する
登録
Tesla Fleet APIでは、アプリケーションが車両データにアクセスする前に登録が必要です。登録サーバー( pnpm register
)はこのプロセスを自動化します。
- 必要なECキーペアを生成する
- ngrok を使用して開発用の一時的な公開 URL を作成します
- 必要なパスに公開鍵をホストする
- Teslaの登録API呼び出しを処理します
Ngrok セットアップ(登録に必要)
- ngrok.com/downloadからngrokをインストールします。
- ngrok.comで無料アカウントを作成してください
- ngrokダッシュボードから認証トークンを取得する
- ngrokを認証します:Copy
利用可能なMCPツール
サーバーは、Claude が使用できる次のツールを提供します。
wake_up
: テスラ車をスリープモードから起動します- 必須パラメータとして
vehicle_id
を指定します - 車両の現在の状態を返します
- 必須パラメータとして
refresh_vehicles
: テスラ車両リストを更新します- パラメータは必要ありません
- 車両の内部キャッシュを更新します
debug_vehicles
: 利用可能な車両に関する詳細情報を表示します- パラメータは必要ありません
- ID、車両ID、VIN、および状態情報を返します
MCP サーバーを使用するための Claude の設定
- Claude 構成ディレクトリを作成します。Copy
- 構成ファイルを作成または編集します。Copy
- 次の構成を追加します (必要に応じてパスを調整します)。Copy
- run-mcp.js スクリプトを実行可能にします。Copy
- クロードを完全に再起動する
クロードとMCPサーバーの使用
サーバーが稼働し、Claude が設定されたら、Claude に次のことを依頼できます。
- 「私が所有しているテスラ車は何ですか?」
- 「私のテスラを起こしてもらえますか?」
- 「私のテスラ車のデバッグ情報を表示してください」
トラブルシューティング
問題が発生した場合:
環境変数
.env
ファイルに有効な資格情報が含まれていることを確認してください- 必要に応じて、
pnpm get-token
を実行してトークンを更新します。
サーバー接続
- サーバーが実行中であることを確認します(
pnpm start
) - Claude の設定が正しいファイルパスを指していることを確認します
車両コネクティビティ
- 車両がオフラインまたはスリープ状態になっている可能性があります
- まず
wake_up
コマンドで車両を起動してみましょう
デバッグモード
debug_vehicles
コマンドを使用して、車両の詳細情報を取得します。- MCPサーバーを実行しているターミナルでサーバーログを確認します
コマンドラインツール
サーバーにはいくつかの便利なスクリプトが含まれています。
pnpm build
: TypeScriptコードをコンパイルするpnpm start
: run-mcp.js スクリプトを使用してサーバーを実行します。pnpm register
: TeslaのAPIにアプリを登録するpnpm get-token
: Teslaからリフレッシュトークンを取得するpnpm test-api
: Tesla APIへの接続をテストするpnpm inspector
: デバッグのためにMCP Inspectorでサーバーを実行します。
APIの制限
2023年10月9日現在、TeslaはREST APIの多くの車両コマンドエンドポイントを廃止しました。クラクションを鳴らすなどのコマンドは、REST APIではなくTesla車両コマンドプロトコル(VCP)を使用する必要があります。このMCPサーバーは現在、機能しているREST APIエンドポイントのみをサポートしています。
将来の機能強化
今後の改善点としては以下が考えられます。
- 追加コマンドのためのTeslaのVehicle Command Protocolとの統合
- より多くの車両情報エンドポイントのサポート
- 構成と監視のためのユーザーインターフェース
ライセンス
You must be authenticated.
Tesla Fleet API に接続するモデル コンテキスト プロトコル サーバー。これにより、Claude などの AI アシスタントが自然言語コマンドを通じて Tesla 車両を制御し、車両情報にアクセスできるようになります。
- Features
- Requirements
- Security Best Practices
- Quick Start
- Authentication & Registration
- Available MCP Tools
- Setting Up Claude to Use the MCP Server
- Using the MCP Server with Claude
- Troubleshooting
- Command Line Tools
- API Limitations
- Future Enhancements
- License