jetson-mcp について
jetson-mcpは、同じネットワーク上のクライアントからNvidia Jetsonボードを監視・遠隔操作するMCPサーバーです。SSEでツールを公開し、インストールとsystemdサービスの設定スクリプトを備えています。
主な機能
- 01モジュールとキャリアボード情報の取得
- 02JetPackとLinuxカーネルのバージョン取得
- 03SSE経由でネットワークにツールを公開
- 04インストールとsystemd設定スクリプト
活用シーン
- 01Jetsonのモジュールとキャリアボード情報の確認
- 02JetPackとカーネルバージョンの確認
- 03同一ネットワークのクライアントからボードにアクセス
MCP 対応
このMCPサーバーはSSE経由でネットワーク上のクライアントにツールを公開し、Jetsonのハードウェア情報とソフトウェア情報を取得できます。READMEではボードの遠隔操作にも対応すると説明されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
jetson-mcp
同じネットワーク上のクライアントから自然言語で Nvidia Jetson ボードを監視し、リモート制御するための MCP(Model Context Protocol)サーバーです。
このプロジェクトでは、FastMCP ライブラリを使用してサーバーを作成しています。
MCP サーバーに接続済み:
機能
- SSE(Server-Sent Events)トランスポートを使用して、ネットワーククライアントからアクセスできる MCP ツールを提供します。
get_jetson_hw_info:/etc/nv_boot_control.confを読み取り、モジュール/キャリアボードの情報を特定します。get_jetson_sw_info:Jetpack のバージョンを確認するために/etc/nv_tegra_releaseを、Linux カーネルのバージョンを確認するために/proc/versionを読み取ります。- 簡単にインストールし、systemd サービスをセットアップするためのスクリプトが含まれています。
セットアップとインストール(Jetson 上)
- リポジトリをクローンします:
git clone https://github.com/Zalmotek/jetson-mcp cd jetson-mcp - インストールスクリプトを実行します:
このスクリプトは Python 仮想環境(
venv/)を作成し、requirements.txtから依存関係をインストールします。chmod +x install.sh ./install.sh
サーバーの実行(Jetson 上)
サーバーは、systemd で管理されるバックグラウンドサービスとして実行することを推奨します。
-
(任意)Jetson の IP アドレス/ホスト名を確認します: 他のデバイスから接続するには、Jetson の IP アドレスまたはホスト名が必要です。
ip addrやhostname -Iなどのコマンドを使用してください。 -
サービスのセットアップスクリプトを実行します: このスクリプトは systemd サービスファイル(
/etc/systemd/system/jetson-mcp.service)を作成して有効にします。このファイルは、スクリプトを実行したユーザーでサーバーを実行し、ポート 8000 で待ち受けるように設定されます。chmod +x setup_service.sh sudo ./setup_service.sh -
サービスを起動します:
sudo systemctl start jetson-mcp.service -
サービスを確認します:
sudo systemctl status jetson-mcp.service # エラーがないかログを確認 sudo journalctl -u jetson-mcp.service -f -
ファイアウォール:Jetson のファイアウォール(有効な場合。例:
ufw)で、ポート 8000(または指定したポート)の受信接続が許可されていることを確認してください。ufwの設定例:sudo ufw allow 8000/tcp
手動での実行(テスト用)
サーバーは Python インタープリターで直接実行するのが最適です。スクリプト内で設定された mcp.run() メソッドが呼び出されます。
source venv/bin/activate
# The script itself now calls mcp.run() with SSE, host, and port settings
python app/main.py
リモートクライアントからの接続
Jetson 上でサーバーが実行され、ネットワーク経由でアクセスできる状態になったら(ファイアウォールでポート 8000 の通信が許可されていること):
- サーバーのアドレスを特定します:LAN 上で Jetson の IP アドレス(例:
192.168.1.105)またはホスト名(例:jetson-nano.local)を確認します。 - クライアントを設定します:MCP クライアントアプリケーション(カスタムスクリプト、MCP Inspector などの UI、またはネットワークエンドポイントに対応している場合は Cursor/Claude など)で、ネットワークアドレスを指定して MCP サーバーに接続するよう設定します。
- 接続方法はクライアントによって異なりますが、SSE エンドポイントの URL を指定する方法が一般的です:
http://<jetson_ip_or_hostname>:8000/sse(SSE で一般的な形式)
- 接続方法はクライアントによって異なりますが、SSE エンドポイントの URL を指定する方法が一般的です:
*注:Cursor の mcp.json ファイルは、主に stdio トランスポートを使用してローカルサーバーを起動するためのものです。Cursor をこのネットワーク上の SSE サーバーに接続するには、異なる設定手順が必要な場合や、プロキシなしでは直接サポートされない場合があります。ネットワーク上の MCP SSE エンドポイントへの接続方法については、お使いのクライアントのドキュメントを参照してください。
例/スクリーンショット
ハードウェア情報ツール:
ソフトウェア情報ツール:
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。