mcpField
R
roblox-studio-mcp

roblox-studio-mcp

ローカル
github.com/Justice219開発ツール237 週間前に更新

roblox-studio-mcp について

roblox-studio-mcpは、コーディングエージェントからRoblox StudioのDataModelを確認・編集できるMCPサーバーです。14個のツールがローカルHTTPブリッジとStudioプラグインを介して動作し、書き込み操作はStudioで元に戻せます。

主な機能

  1. 01DataModelの階層とプロパティの読み取り
  2. 02インスタンス検索とサービス確認
  3. 03インスタンスの作成、編集、移動、複製、削除
  4. 04Studioの選択項目の管理
  5. 05プラグイン内でのLuau実行
  6. 06ChangeHistoryServiceによる書き込みの取り消し

活用シーン

  1. 01Robloxゲームの階層やプロパティの確認
  2. 02エージェントのワークフローからインスタンスを作成・編集
  3. 03クラス名や名前パターンによるインスタンス検索
  4. 04Studioプラグイン内で信頼できるLuauコードを実行

MCP 対応

MCPサーバーはstdio経由でMCPクライアントに14個のツールを公開します。localhostにバインドされたHTTPブリッジを通じてRoblox Studioプラグインと通信し、プラグインがDataModelへの操作と結果の返却を行います。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"justice219-roblox-studio": {
"command": "npx",
"args": [
"-y",
"@jamesworkbenchcrm/roblox-studio-mcp"
],
"env": {
"MCP_BRIDGE_PORT": "<MCP_BRIDGE_PORT>"
}
}
}
}
起動コマンドnpx -y @jamesworkbenchcrm/roblox-studio-mcp
設定が必要な環境変数
MCP_BRIDGE_PORTHTTP bridge port for Studio plugin communication

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@jamesworkbenchcrm/roblox-studio-mcp1.0.1

ツール

14

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pathstringはいインスタンスへのドット表記パス(例:"game.Workspace"、"game.ServerStorage.Items")
maxDepthnumberいいえ走査する最大深度(デフォルト:無制限)

詳細

Roblox Studio MCP Bridge

Claude Code のような AI コーディングアシスタントを Roblox Studio に直接接続する Model Context Protocol(MCP) サーバーです。ターミナルから DataModel 内のインスタンスを読み取り、作成、変更、削除できます。

仕組み

Claude Code (MCP Client)
        |
   MCP Server (stdio)
        |
   HTTP Bridge (localhost:3001)
        |
   Studio Plugin (polls every 200ms)
        |
   Roblox Studio DataModel

ブリッジは次の 2 つの部分で構成されています。

  1. MCP Server(TypeScript) — ローカルで実行され、stdio 経由で MCP の 14 個のツールを公開し、localhost:3001 で HTTP API を提供します
  2. Studio Plugin(Luau) — HTTP API をポーリングしてコマンドを取得し、DataModel に対して実行して結果を返します

すべての書き込み操作は ChangeHistoryService でラップされるため、Studio で Ctrl+Z を押せば変更を元に戻せます。

利用可能なツール

ツール種類説明
get_descendants読み取りパスと任意の maxDepth を指定して、すべての子孫を取得します
get_children読み取りインスタンスの直下の子を取得します
get_properties読み取りインスタンスのシリアライズされたプロパティを取得します
find_instances読み取りclassName および/または namePattern で検索します
get_services読み取りすべての DataModel サービスを一覧表示します
get_selection読み取りStudio で現在選択されているインスタンスを取得します
create_instance書き込みプロパティを指定して新しい Instance を作成します
set_properties書き込み既存のインスタンスのプロパティを変更します
delete_instance書き込みインスタンスを破棄します(元に戻す操作に対応)
clone_instance書き込みインスタンスを複製し、新しい親に配置します
move_instance書き込みインスタンスの親を変更します
set_selection書き込みStudio の選択項目を設定します
insert_service書き込みgame:GetService() 経由でサービスを挿入します
execute_luau書き込みプラグインのコンテキストで任意の Luau コードを実行します

パスには game から始まるドット表記を使います。例:game.Workspace.SpawnLocation。

前提条件

  • Node.js 18+
  • Roblox Studio
  • Rojo 7+(aftman またはスタンドアロン版をインストール)

インストール

1. リポジトリをクローンする
git clone https://github.com/Justice219/roblox-studio-mcp.git
cd roblox-studio-mcp
2. 依存関係をインストールしてビルドする
npm install
npm run build

または、npm から直接インストールします。

npm install -g @jamesworkbenchcrm/roblox-studio-mcp
3. Studio プラグインをビルドしてインストールする

Rojo を使用する場合:

rojo build plugin.project.json -o MCPBridge.rbxmx

次に、プラグインファイルを Roblox のプラグインフォルダーにコピーします。

OSパス
macOS~/Documents/Roblox/Plugins/MCPBridge.rbxmx
Windows%LOCALAPPDATA%\Roblox\Plugins\MCPBridge.rbxmx

または、プラグインフォルダーに直接ビルドします。

# macOS
rojo build plugin.project.json -o ~/Documents/Roblox/Plugins/MCPBridge.rbxmx

# Windows
rojo build plugin.project.json -o "%LOCALAPPDATA%\Roblox\Plugins\MCPBridge.rbxmx"
4. Studio で HttpService を有効にする

Roblox Studio を開き、次の設定を行います。

Home → Game Settings → Security → Allow HTTP Requests → ON

プラグインがローカルの MCP サーバーと通信するために必要です。

5. MCP クライアントを設定する

MCP クライアントの設定にサーバーを追加します。

Claude Code(~/.claude/settings.json):

{
  "mcpServers": {
    "roblox-studio": {
      "command": "node",
      "args": ["/absolute/path/to/roblox-studio-mcp/dist/index.js"]
    }
  }
}

Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "roblox-studio": {
      "command": "node",
      "args": ["/absolute/path/to/roblox-studio-mcp/dist/index.js"]
    }
  }
}

/absolute/path/to/ を、リポジトリをクローンした実際のパスに置き換えてください。

6. Studio と MCP クライアントを再起動する
  • Roblox Studio を再起動する(またはプラグインを再読み込みする)と、ツールバーに「MCP Bridge」ボタンが表示されます
  • Claude Code/MCP クライアントを再起動します
  • 接続されると、プラグインのステータスウィジェットに緑色の点が表示されます

使用方法

接続すると、AI アシスタントから Studio を直接操作できます。

"Create a Part named SpawnPad in Workspace at position 0, 5, 0"
"Get all children of ServerScriptService"
"Find all instances with className RemoteEvent"
"Set the BrickColor of game.Workspace.SpawnPad to Bright green"

アシスタントは MCP ツールを使って DataModel を読み取り、インスタンスを作成し、プロパティを設定するなどの操作を行います。これらはすべて、完全な取り消し機能に対応した状態で Studio にリアルタイムで反映されます。

設定

環境変数デフォルト説明
MCP_BRIDGE_PORT3001HTTP ブリッジのポート
MCP_BRIDGE_PORT=4000 npm start

開発

# Watch mode — recompiles on file changes
npm run dev

# Type-check without emitting
npm run typecheck

# Build
npm run build

# Start the server
npm start

アーキテクチャ

src/
├── index.ts           # Entry point — wires up all components
├── types.ts           # Interfaces, constants, command type definitions
├── mcp-server.ts      # MCP tool definitions (14 tools with Zod validation)
├── http-bridge.ts     # Express HTTP server (poll/result/heartbeat endpoints)
└── command-queue.ts   # In-memory command queue with timeout management

plugin/
├── init.server.luau   # Plugin entry point — polling loop, UI, toolbar
└── modules/
    ├── CommandRouter.luau  # Dispatches commands to handlers
    ├── HttpClient.luau     # HTTP requests to the bridge
    ├── PathResolver.luau   # Dot-notation path ↔ Instance resolution
    └── Serializer.luau     # Roblox type ↔ JSON serialization

セキュリティ

  • HTTP ブリッジは 127.0.0.1 のみにバインド され、ネットワークに公開されることはありません
  • 書き込み操作は、元に戻す操作に対応するため ChangeHistoryService でラップされます
  • コマンドは 30 秒後にタイムアウトします
  • 接続を維持するには 10 秒ごとのハートビートが必要です
  • execute_luau はサンドボックスなしでプラグインのコンテキスト内のコードを実行するため、信頼できる入力にのみ使用してください

サポートされている Roblox の型

シリアライザーは、以下の型の双方向変換に対応しています。

Vector3 · Vector2 · CFrame · Color3 · BrickColor · UDim · UDim2 · Rect · NumberSequence · ColorSequence · NumberRange · Enum · Instance · Font · PhysicalProperties · Ray

すべての型は、情報を損なわずに往復変換できるよう、{ _type: "TypeName", ... } 形式の JSON を使用します。

トラブルシューティング

プラグインに赤い点が表示される/「切断」と表示される

  • MCP サーバーが実行中であることを確認します(npm start)
  • Studio で HttpService が有効になっていることを確認します
  • ポートが一致していることを確認します(デフォルトは 3001)

Claude Code で「プラグインが接続されていません」というエラーが表示される

  • Studio を開き、MCP Bridge のツールバーボタンが有効になっていることを確認します
  • プラグインは読み込み時に自動起動します。プラグインを再読み込みしてみてください
  • Studio の Output ウィンドウでエラーメッセージを確認します

ポートがすでに使用されています

  • 別のインスタンスが実行中の可能性があります。終了するか、別のポートを使用してください。
    MCP_BRIDGE_PORT=4000 npm start
    

npm

npm install -g @jamesworkbenchcrm/roblox-studio-mcp

https://www.npmjs.com/package/@jamesworkbenchcrm/roblox-studio-mcp

ライセンス

MIT

コメント

MCP は初めてですか?

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

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