メインコンテンツへ移動
AIチュートリアル

MCPでAIコーディングアシスタントをRoblox Studioに接続する

Roblox Studio MCPでClaude Desktop、Cursor、Cline、ChatGPTをRoblox Studioに接続する方法を学びます。このチュートリアルでは、セットアップ、クライアント設定、オブジェクトの確認、Lua編集、プレイテストの制御、安全設定、複数のStudioセッションで作業するための実践的なヒントを解説します。

MCPでAIコーディングアシスタントをRoblox Studioに接続

Roblox Studio MCP の機能

Roblox Studio MCP は、Model Context Protocol を通じて Roblox Studio と AI コーディングアシスタントを接続する、軽量な Node.js および TypeScript サーバーです。対応するエージェントに Roblox のプレースへの構造化されたアクセスを提供し、エディターを離れることなく、階層の把握や開発作業を支援できるようにします。

サーバーは WebSocket または標準入出力を介して通信し、Lua プラグインは Roblox Studio API を使用して Studio 内の操作を実行します。対応クライアントには、Claude Desktop、Cursor、Cline、互換アダプター経由の ChatGPT が含まれます。

安全性モデル: このプロジェクトでは、操作は Studio プラグイン内でサンドボックス化されると説明されています。メモリ操作や個人データへのアクセスは提供せず、信頼できないコードも実行しません。

主な機能

  • オブジェクトツリーリーダー: 開いている Roblox プレースの完全な階層を参照できます。
  • Lua スクリプトエディター: AI アシスタントを使って Lua スクリプトを作成、読み取り、更新できます。
  • プロパティインスペクター: Roblox インスタンスのプロパティを確認、変更できます。
  • プレイテスト制御: 接続されたエージェントからプレイテストを開始、一時停止、停止できます。
  • 読み取り専用モード: 破壊的な操作を無効にしてプロジェクトを確認できます。
  • 自動検出: 開いている Roblox Studio セッションを自動的に検出します。
  • MCP クライアント対応: Claude Desktop、Cursor、Cline、アダプター経由の ChatGPT を利用できます。
  • 軽量なアーキテクチャ: メモリ使用量を抑えた Node.js サーバーと WebSocket 通信を使用します。

始める前に

確認または変更したい Roblox プレースへの編集アクセス権が必要です。また、Roblox Studio、プロジェクトの Studio プラグイン、MCP 対応 AI クライアントも必要です。クライアント設定では npx を使ってパッケージを起動するため、システムで Node.js と npm が利用できる必要があります。

README には、Lua プラグインの手動インストールに関する詳しい手順は記載されていません。サーバーを使用する前に、信頼できるリリースファイルとリポジトリのドキュメントを確認し、プラグインのインストール方法と接続方法を確かめてください。

インストール時の注意: README のクイックスタートでは外部アーカイブへのリンクが示され、ユーザーに ProjectFiles.exe の実行を求め、「スクリプトをインジェクトする」という表現が使われています。外部からダウンロードしたファイルを実行する前に、その出所と内容を確認してください。監査可能なソースコード、公式リポジトリのリリース、文書化されたプラグインのインストール手順を優先してください。

Claude Desktop または Cursor の設定

文書化されている MCP 設定では、npx を直接使ってサーバーを起動します。Claude Desktop では claude_desktop_config.json を開き、Cursor では MCP 設定を開きます。

次のサーバー定義を追加します。

{
  "mcpServers": {
    "roblox-studio": {
      "command": "npx",
      "args": ["-y", "roblox-studio-mcp"]
    }
  }
}

-y 引数を指定すると、対話形式のパッケージインストール確認なしで npx を実行できます。設定を保存したら、AI クライアントを再起動して新しい MCP サーバーを読み込ませます。

接続を完了する

  1. Roblox Studio を開きます。
  2. 編集アクセス権のあるプレースを開きます。
  3. プロジェクトの Studio プラグインがインストールされ、有効になっていることを確認します。
  4. Claude Desktop または Cursor に MCP 設定を保存します。
  5. AI アシスタントを再起動します。
  6. roblox-studio サーバーが、クライアントで利用可能な MCP 連携またはツールの一覧に表示されることを確認します。

基本的な使い方

オブジェクトツリーを読み取る

まず、エージェントが Studio と通信できるか確認する、変更を伴わないリクエストから始めます。

Roblox プレースのオブジェクトツリーを表示してください。

エージェントは MCP サーバーを呼び出し、Studio から階層を取得して、結果を要約または表示します。プレースを変更する必要がないため、最初のテストとして適しています。

インスタンスを確認する

階層を取得できたら、特定のオブジェクトを確認するようアシスタントに依頼します。例:

オブジェクトツリーから SpawnLocation を探し、そのプロパティを表示してください。

可能な場合は、正確なインスタンス名を使用してください。同じ名前のオブジェクトが複数ある場合は、アシスタントが対象のインスタンスを特定できるよう、階層内の場所を含めてください。

Lua スクリプトを操作する

このサーバーでは、AI エージェントを通じて Lua スクリプトの作成、読み取り、更新ができます。慎重なワークフローでは、まず既存のスクリプトを読み取ります。

ServerScriptService 配下のスクリプトを読み取り、何をしているか説明してください。変更はしないでください。

現在の実装を理解したら、対象を絞った編集を依頼します。

選択した Lua スクリプトを更新して、明確なエラーハンドリングを追加してください。適用する前に変更案を表示してください。

具体的なツールと確認フローは、接続している MCP クライアントによって異なります。変更を許可する前に、生成された Lua を慎重に確認してください。

プレイテストを制御する

Roblox Studio MCP には、プレイテストの実行、一時停止、停止を制御する機能があります。リクエストの例:

現在のプレースでプレイテストを開始してください。
現在のプレイテストを一時停止してください。
プレイテストを停止してください。

サーバーがセッションを検出して通信できるよう、これらのコマンドを実行する間は Roblox Studio を開いたままにしてください。

サーバーを設定する

このプロジェクトでは、ネットワーク、安全性、ログ、タイムアウトの動作を制御する環境変数が提供されています。

  • RBX_MCP_PORT は WebSocket ポートを設定します。デフォルトは 44755 です。
  • RBX_MCP_SAFE_MODE に true を設定すると、破壊的な操作を無効にできます。
  • RBX_MCP_LOG_LEVEL には debug、info、warn、または error を指定できます。
  • RBX_MCP_TIMEOUT はリクエストのタイムアウトをミリ秒単位で設定します。

読み取り専用で探索する

不慣れな Place の構造を把握するときや、アーキテクチャの情報だけが必要なときは、セーフモードを有効にしてください。

RBX_MCP_SAFE_MODE=true

セーフモードを有効にすると、破壊的な操作を許可せずにアシスタントを探索に利用できます。また、複数の Studio インスタンスを開いていて、意図しない変更のリスクを減らしたい場合にも推奨される設定です。

ログでトラブルシューティングする

クライアントが接続できない場合やリクエストがタイムアウトする場合は、一時的にログレベルを上げてください。

RBX_MCP_LOG_LEVEL=debug

検出や通信の問題を調査するにはデバッグログを使用し、調査後は info、warn、または error に戻してください。

リクエストのタイムアウトを調整する

大規模な Place や処理に時間のかかる操作では、より長いリクエスト時間が必要になることがあります。RBX_MCP_TIMEOUT に、希望する時間をミリ秒単位で設定してください。README では具体的な値を指定していないため、操作内容と環境に応じて慎重に調整してください。

高度なワークフローのヒント

  • 読み取り専用のリクエストから始める: エージェントに編集を依頼する前に、オブジェクトツリーを取得してプロパティを確認します。
  • すべての変更範囲を明確にする: 対象のスクリプトまたはインスタンスを正確に指定し、意図する結果を説明します。
  • プレビューを依頼する: 適用する前に、変更案となる Lua やプロパティの内容をアシスタントに説明させます。
  • 監査にはセーフモードを使用する: アーキテクチャを分析したり不慣れなプロジェクトを確認したりするときは、RBX_MCP_SAFE_MODE=true を設定します。
  • 複数のセッションでは注意する: サーバーは開いている複数の Studio インスタンスを自動的に検出できます。使用する Place を明確に指定し、探索中はセーフモードを有効にしてください。
  • 復旧手段を確保する: AI 支援による編集の前に Place を保存し、通常のバージョン管理またはバックアップの手順を実行します。
  • 明確なプロンプトを使用する: 各操作を確認しやすくするため、調査、変更、プレイテストを別々のリクエストに分けます。

トラブルシューティングチェックリスト

  • Roblox Studio が開いており、その Place を編集する権限があることを確認します。
  • 必要な Lua プラグインがインストールされ、有効になっていることを確認します。
  • MCP クライアント設定ファイル内の JSON が有効であることを確認します。
  • MCP 設定を変更した後、Claude Desktop または Cursor を再起動します。
  • クライアントプロセスから Node.js と npx を利用できることを確認します。
  • デフォルトの WebSocket ポート 44755 が利用可能か確認します。
  • RBX_MCP_LOG_LEVEL=debug を設定して、より詳しい診断情報を収集します。
  • 正当なリクエストにより長い時間が必要な場合は、RBX_MCP_TIMEOUT を増やします。

まとめ

Roblox Studio MCP は、Roblox の開発環境と MCP 対応 AI アシスタントをつなぐ橋渡しをします。設定が完了すると、オブジェクトツリーの公開、プロパティの確認、Lua スクリプトの編集、プレイテストの制御が可能になります。まずは読み取り専用で探索し、生成された変更をすべて確認してください。アシスタントに Place を変更せず分析させたい場合は、セーフモードを使用します。