AI Rover Studio について
AI Rover Studio はブラウザーで動作する 2D ロボットシミュレーターです。MCP サーバーを通じて、AI エージェントがローバーを観察・操作し、機体を構成してプログラムを実行できます。ESP32、Arduino Uno、Raspberry Pi の配線情報も確認でき、操作が実機に送られることはありません。
主な機能
- 01姿勢・速度・センサー値の取得
- 02走行・旋回・自動運転の制御
- 03センサー・モジュール・ディスプレイの構成
- 04JavaScript プログラムの実行と状態確認
- 05カメラ画像とセンサーマップの取得
- 06配線・ファームウェア・部品表の取得
活用シーン
- 01シミュレーターで走行や障害物回避を試す
- 02センサーを構成して読み取り値を確認
- 03ESP32 などの配線とファームウェアを確認
- 04シミュレーション上の機体に必要な部品を調べる
MCP 対応
MCP サーバーは stdio でクライアントからの呼び出しを受け取り、ローカル WebSocket 経由でブラウザーのシミュレーターページに接続し、観察・操作・構成ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y ai-rover-mcpROVER_SIMULATOR_URLSimulator page that open_simulator opens: a URL or a path to a local build. Default: https://ai-rover.app/app/?mcp=onROVER_BRIDGE_PORTLocal WebSocket port the simulator page connects to. Default: 8765ROVER_ALLOWED_ORIGINSExtra comma-separated https origins the bridge acceptsローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
41掲載時のツール一覧 · 1 週間前に更新
このツールにパラメーターはありません。
詳細
ai-rover-mcp
ブラウザーで動作する2Dロボットシミュレーター、AI Rover Studio向けのMCPサーバーです。AIエージェント(Claude Code、Claude Desktop、または任意のMCPクライアント)からローバーを観察・操作したり、機体を変更したり、プログラムを実行したり、ESP32/Arduino Uno/Raspberry Piの実際の配線を確認したりできます。シミュレーション専用のため、ハードウェアには何も送信されません。
MCP client ──stdio──▶ ai-rover-mcp ──WebSocket 127.0.0.1:8765──▶ simulator page in your browser
ブラウザーでページを開き、タブを表示したままにする必要があります。バックグラウンドタブではブラウザーがアニメーションフレームを一時停止するため、シミュレーションも停止します。ブリッジが稼働中は、ページヘッダーのバッジに MCP ● connected と表示されます。
セットアップ
Node.js 18以降が必要です。
Claude Code
claude mcp add ai-rover -- npx -y ai-rover-mcp
次に、Claudeに 「ローバーシミュレーターを開いて」 と頼みます。open_simulator は、ページにこのサーバーへの接続を指示する ?mcp=on を付けて、ホストされたシミュレーターを開きます。
Claude Desktop/その他のクライアント
{
"mcpServers": {
"ai-rover": {
"command": "npx",
"args": ["-y", "ai-rover-mcp"]
}
}
}
クローンから実行する場合
npm install
claude mcp add ai-rover -- node /path/to/ai-rover-mcp/server.js
自分でシミュレーターを開く
https://ai-rover.app/app/?mcp=on を開きます。?mcp=on がない場合、ホストされたページはローカルのMCPサーバーへの接続を試みません。また、Agent/MCPページで เชื่อมต่อ MCP を押すこともできます。ディスクから開いたコピー(file://)または localhost から開いたコピーは、自動的に接続します。
ツール
| ツール | 機能 |
|---|---|
open_simulator | シミュレーター(ホスト版、または ROVER_SIMULATOR_URL)を既定のブラウザーで開き、接続されるまで待機します |
connection_status | ページが接続されているかどうかを確認します |
get_observation | 姿勢、速度、センサーの測定値、顔の状態、シミュレーションの状態を取得します |
read_sensors | 有効なセンサーから最新の測定値を、取り付け情報と単位とともに取得します |
drive | 0.2~10 秒間、forward / backward / left / right に移動します。既定では待機し、新しい観測結果を返します |
turn | 指定した正確な角度だけ、その場で旋回します |
stop | 緊急停止します。移動をキャンセルし、オートパイロットをオフにして、一時停止します |
set_simulation | シミュレーションを開始または一時停止します |
set_autopilot | ルールベースのオートパイロット(光を探す、障害物を避ける)をオンまたはオフにします |
set_power | モーター出力を設定します(10~100 %) |
set_head / get_head | ヘッドのパン用サーボを角度まで回すか、光を追跡させます |
press_button / get_button_events | ローバーの押しボタンを押すか、人が押したボタンのイベントを読み取ります |
run_program / stop_program / get_program | ページ内で rover ライブラリを使う JavaScript を実行、停止し、状態とコンソールを読み取ります |
set_emotion | ディスプレイに顔の表情を表示し、上段にメッセージを表示します |
display_text | ローバーがテキストを「話します」。顔ディスプレイに小さな顔と吹き出しを表示します(タイ語に対応) |
set_display | ディスプレイモジュールを取り付けます。ssd1306(128×64 モノクロ OLED)、ssd1331(96×64 カラー OLED)、st7789(240×240 カラー TFT)から選択します |
draw_display | 文字の行から作成した画像を顔ディスプレイに表示します |
read_display | ディスプレイの表示内容を取得します。モード、統計情報、ASCII アート形式のピクセルを確認できます |
move_light | 光源を移動します |
reset_world | ローバーと光源を開始位置に戻します |
send_chat | ページ内のエージェントチャットパーサーにテキストを送信し、応答を取得します |
get_manifest | ロボット機能マニフェスト(ai-cartridge/body-v1)を取得します |
list_sensors / add_sensor / update_sensor / remove_sensor | ロボット本体のセンサーを設定します |
set_module | wheels、head、display、camera を取り付けるか、取り外します |
capture_camera | ローバーの前方カメラで撮影した画像(PNG)と、方位および距離を含む検出結果を取得します |
get_sensor_map | ローバー自身のセンサーで作成した地図を取得します。占有グリッド、床の色、カメラのランドマーク、接触点が含まれます |
get_wiring | esp32、uno、raspberrypi に取り付けた本体の回路情報を取得します。すべてのピン、電力予算、配線上の問題、pins.h / pins.py が含まれます |
get_firmware | 取り付けた本体のファームウェア全体を取得します。Arduino の .ino または Raspberry Pi の rover.py です |
get_bom | 本体を実際に組み立てるための部品リストを取得します。数量、概算価格、ショップへのリンクが含まれます |
list_world | ワールドの配置を取得します。光、障害物、色付きの床テープが含まれます |
add_obstacle / remove_obstacle | cylinder、ball、box、wall のテスト用オブジェクトを、サイズと色を指定して配置します |
add_color_tape / remove_color_tape | カラーセンサー、ライントレース、カメラ用の色付き床テープを配置または取り外します |
プロンプトの例:「ローバーシミュレーターを開いて、オートパイロットを使わずに光のところまで走らせて」、「左右にそれぞれ IR センサーを ±45° の角度で追加して、測定値を教えて」、「このローバーを ESP32 で組み立てるには、どの部品が必要ですか?」
設定
ROVER_BRIDGE_PORT(既定値8765)。変更した場合、ページに?mcpPort=<port>が必要です(open_simulatorが自動的に追加します)。ROVER_SIMULATOR_URL:ホスト版の代わりにopen_simulatorが開くページです。URL(開発中はhttp://localhost:5173)またはローカルビルドへのパス(作業ディレクトリからの相対パスでdist/index.html)を指定します。ROVER_ALLOWED_ORIGINS:ブリッジが受け入れる追加のhttps://オリジンを、カンマ区切りで指定します(シミュレーターをセルフホストしたコピー用)。- ページでは、
?mcp=onを指定するとサーバーに接続し、?mcp=offを指定すると接続しません。
セキュリティ
WebSocket は 127.0.0.1 のみでリッスンします。ディスクから開いたページ
(file://)、localhost、ホスト型シミュレーター、または
ROVER_SIMULATOR_URL/ROVER_ALLOWED_ORIGINS のオリジンからの接続のみを受け付けるため、同じブラウザーで開いている他のウェブサイトがローバーになりすますことはできません。ページは上記の固定されたメソッドのみを実行し、run_program で送信したプログラム(Web Worker 内で実行)を除き、サーバーから受け取ったコードを実行することはありません。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。