robloxstudio-mcp 1.0.3 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +146 -69
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -2
- package/dist/tools/index.js.map +1 -1
- package/package.json +1 -1
- package/studio-plugin/INSTALLATION.md +117 -96
- package/studio-plugin/MCPPlugin.rbxmx +1251 -0
- package/studio-plugin/plugin.luau +576 -91
package/README.md
CHANGED
|
@@ -1,104 +1,181 @@
|
|
|
1
1
|
# Roblox Studio MCP Server
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A powerful MCP (Model Context Protocol) server that gives AI assistants comprehensive access to Roblox Studio projects. Explore game architecture, analyze scripts, debug issues, and understand complex Roblox projects through 15 specialized AI tools.
|
|
4
4
|
|
|
5
|
-
## Quick
|
|
5
|
+
## ⚡ Quick Start (One Command)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
**For Claude Code users:**
|
|
8
|
+
```bash
|
|
9
|
+
claude mcp add robloxstudio-mcp
|
|
10
|
+
```
|
|
10
11
|
|
|
12
|
+
**For other MCP clients (Claude Desktop, etc.):**
|
|
11
13
|
```json
|
|
12
14
|
{
|
|
13
15
|
"mcpServers": {
|
|
14
|
-
"robloxstudio": {
|
|
16
|
+
"robloxstudio-mcp": {
|
|
15
17
|
"command": "npx",
|
|
16
18
|
"args": ["-y", "robloxstudio-mcp"],
|
|
17
|
-
"description": "Roblox Studio integration for AI assistants"
|
|
19
|
+
"description": "Advanced Roblox Studio integration for AI assistants"
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
```
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
```
|
|
25
|
+
## 🔌 Studio Plugin Setup (Required)
|
|
26
|
+
|
|
27
|
+
The MCP server requires a companion Roblox Studio plugin:
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
1. **Auto-install** (Recommended):
|
|
30
|
+
- Download from [studio-plugin/plugin.luau](studio-plugin/plugin.luau)
|
|
31
|
+
- Save as `RobloxStudioMCP.luau` in your `%LOCALAPPDATA%/Roblox/Plugins` folder
|
|
29
32
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
git clone <repo-url>
|
|
33
|
-
cd robloxstudio-mcp
|
|
34
|
-
npm install
|
|
35
|
-
```
|
|
33
|
+
2. **Manual setup**:
|
|
34
|
+
- See [studio-plugin/INSTALLATION.md](studio-plugin/INSTALLATION.md) for detailed instructions
|
|
36
35
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
```
|
|
36
|
+
3. **Enable in Studio**:
|
|
37
|
+
- ✅ Enable "Allow HTTP Requests" in Game Settings → Security
|
|
38
|
+
- 🔘 Click the "MCP Server" button in the Plugins toolbar
|
|
39
|
+
- 🟢 Status should show "Connected" when working
|
|
42
40
|
|
|
43
|
-
##
|
|
41
|
+
## 🏗️ Architecture Overview
|
|
44
42
|
|
|
45
|
-
**
|
|
43
|
+
This is a **dual-component system** bridging Roblox Studio with AI assistants:
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
```
|
|
46
|
+
AI Assistant ←→ MCP Server ←→ HTTP Bridge ←→ Studio Plugin ←→ Roblox Studio APIs
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
- **🧠 MCP Server** (Node.js/TypeScript) - Exposes 15 tools via stdio for AI integration
|
|
50
|
+
- **🔗 HTTP Bridge** - Request/response queue on localhost:3002 with 30s timeouts
|
|
51
|
+
- **🎮 Studio Plugin** (Luau) - Polls every 500ms, executes Studio API calls, handles errors
|
|
52
|
+
- **📊 Smart Caching** - Efficient data transfer with intelligent response limiting
|
|
53
|
+
|
|
54
|
+
## 🛠️ 15 Powerful AI Tools
|
|
55
|
+
|
|
56
|
+
### 📁 **File System Tools**
|
|
57
|
+
- **`get_file_tree`** - Complete project hierarchy with scripts, models, folders
|
|
58
|
+
- **`get_file_content`** - Extract source code from any script
|
|
59
|
+
- **`search_files`** - Find files by name, type, or content patterns
|
|
60
|
+
- **`get_file_properties`** - Script metadata, parent/child relationships
|
|
61
|
+
|
|
62
|
+
### 🎯 **Studio Context Tools**
|
|
63
|
+
- **`get_place_info`** - Place ID, name, game settings, workspace info
|
|
64
|
+
- **`get_services`** - All Roblox services and their child counts
|
|
65
|
+
- **`get_selection`** - Currently selected objects in Studio Explorer
|
|
66
|
+
- **`search_objects`** - Find instances by name, class, or properties
|
|
67
|
+
|
|
68
|
+
### 🔍 **Instance & Property Tools**
|
|
69
|
+
- **`get_instance_properties`** - Complete property dump for any object
|
|
70
|
+
- **`get_instance_children`** - Child objects with metadata (scripts, GUI types, etc.)
|
|
71
|
+
- **`search_by_property`** - Find objects with specific property values
|
|
72
|
+
- **`get_class_info`** - Available properties/methods for Roblox classes
|
|
73
|
+
|
|
74
|
+
### 🏢 **Project Analysis Tools**
|
|
75
|
+
- **`get_project_structure`** - **🆕 AI-Optimized!** Smart hierarchy with depth control
|
|
76
|
+
- **`get_dependencies`** - Module dependency mapping and require() analysis
|
|
77
|
+
- **`validate_references`** - Find broken script references and missing modules
|
|
78
|
+
|
|
79
|
+
## 🧠 AI-Optimized Features
|
|
80
|
+
|
|
81
|
+
### **Smart Project Structure**
|
|
82
|
+
- **Service Overview Mode**: Clean service list with child counts
|
|
83
|
+
- **Path-based Exploration**: `get_project_structure("game.ServerStorage", maxDepth=3)`
|
|
84
|
+
- **Script-only Filtering**: `scriptsOnly=true` for code analysis
|
|
85
|
+
- **Intelligent Grouping**: Large folders auto-group by class type
|
|
86
|
+
- **Progressive Discovery**: Depth limits prevent context bloat
|
|
87
|
+
|
|
88
|
+
### **Rich Metadata**
|
|
89
|
+
- **Script Status**: Enabled/disabled, source detection, script types
|
|
90
|
+
- **GUI Intelligence**: Text content, visibility, container vs interactive
|
|
91
|
+
- **Dependency Mapping**: Complete require() call analysis
|
|
92
|
+
- **Reference Validation**: 27+ issue types detected automatically
|
|
93
|
+
|
|
94
|
+
## 🎮 Perfect for Game Analysis
|
|
95
|
+
|
|
96
|
+
This tool excels at understanding complex Roblox projects. Based on testing with a professional FPS game:
|
|
97
|
+
|
|
98
|
+
**Discovered Architecture:**
|
|
99
|
+
- ✅ **9 weapon categories** (Assault, Shotgun, SMG, Pistol, Sniper, DMR, etc.)
|
|
100
|
+
- ✅ **74 settings-related modules** (comprehensive settings system)
|
|
101
|
+
- ✅ **Modular MainModule design** (professional organization)
|
|
102
|
+
- ✅ **Custom frameworks** ("Vaunt" networking, BetterReplication)
|
|
103
|
+
- ✅ **27 broken references** found and categorized
|
|
104
|
+
|
|
105
|
+
**Use Cases:**
|
|
106
|
+
- 🔍 **Code Review**: Find all scripts using a specific module
|
|
107
|
+
- 🐛 **Debugging**: Locate broken requires and missing dependencies
|
|
108
|
+
- 📐 **Architecture Analysis**: Understand game structure and patterns
|
|
109
|
+
- ⚡ **Performance Audit**: Find heavy scripts and unused assets
|
|
110
|
+
- 🎨 **UI Exploration**: Map GUI hierarchies and text content
|
|
111
|
+
|
|
112
|
+
## 🚀 Development & Testing
|
|
113
|
+
|
|
114
|
+
### **Commands**
|
|
115
|
+
```bash
|
|
116
|
+
npm run dev # Development server with hot reload
|
|
117
|
+
npm run build # Production build
|
|
118
|
+
npm start # Run built server
|
|
119
|
+
npm run lint # ESLint code quality
|
|
120
|
+
npm run typecheck # TypeScript validation
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### **Plugin Development**
|
|
124
|
+
- **Live reload**: Plugin updates automatically detect server changes
|
|
125
|
+
- **Error handling**: Robust timeout and retry mechanisms
|
|
126
|
+
- **Debug mode**: Detailed logging in Studio Output window
|
|
127
|
+
- **Connection status**: Visual indicators in plugin UI
|
|
51
128
|
|
|
52
|
-
##
|
|
129
|
+
## 📊 Communication Protocol
|
|
53
130
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
131
|
+
**Request Flow:**
|
|
132
|
+
1. 🤖 AI calls MCP tool → 📡 MCP server queues request
|
|
133
|
+
2. 🔄 Studio plugin polls /poll endpoint every 500ms
|
|
134
|
+
3. ⚙️ Plugin executes Studio API calls (game.ServerStorage, etc.)
|
|
135
|
+
4. 📤 Plugin posts response to /response endpoint
|
|
136
|
+
5. ✅ MCP server resolves promise → AI receives data
|
|
57
137
|
|
|
58
|
-
|
|
138
|
+
**Features:**
|
|
139
|
+
- **🕐 30-second timeouts** with exponential backoff
|
|
140
|
+
- **🔄 Automatic retries** for network issues
|
|
141
|
+
- **📏 Response limiting** prevents context overflow
|
|
142
|
+
- **🎯 Request deduplication** for efficiency
|
|
59
143
|
|
|
60
|
-
|
|
61
|
-
- `npm run build` - Build TypeScript to JavaScript
|
|
62
|
-
- `npm run lint` - Run ESLint
|
|
63
|
-
- `npm run typecheck` - Run TypeScript type checking
|
|
144
|
+
## 🎯 Example Usage
|
|
64
145
|
|
|
65
|
-
|
|
146
|
+
```javascript
|
|
147
|
+
// Get service overview
|
|
148
|
+
get_project_structure()
|
|
66
149
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
- `get_file_content` - Retrieve script source code
|
|
70
|
-
- `search_files` - Find files by name, type, or content patterns
|
|
71
|
-
- `get_file_properties` - Script properties, parent/child relationships
|
|
150
|
+
// Explore weapons folder
|
|
151
|
+
get_project_structure("game.ServerStorage.Weapons", maxDepth=2)
|
|
72
152
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
- `get_services` - Available Roblox services and their children
|
|
76
|
-
- `get_selection` - Currently selected objects in Studio
|
|
77
|
-
- `search_objects` - Find instances by name, class, properties
|
|
153
|
+
// Find all Sound objects
|
|
154
|
+
search_by_property("ClassName", "Sound")
|
|
78
155
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
- `get_instance_children` - Child objects and their types
|
|
82
|
-
- `search_by_property` - Find objects with specific property values
|
|
83
|
-
- `get_class_info` - Available properties/methods for Roblox classes
|
|
156
|
+
// Check script dependencies
|
|
157
|
+
get_dependencies("game.ServerScriptService.MainScript")
|
|
84
158
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
159
|
+
// Find broken references
|
|
160
|
+
validate_references()
|
|
161
|
+
|
|
162
|
+
// Get UI component details
|
|
163
|
+
get_instance_properties("game.StarterGui.MainMenu.SettingsFrame")
|
|
164
|
+
```
|
|
89
165
|
|
|
90
|
-
##
|
|
166
|
+
## 🔧 Configuration
|
|
91
167
|
|
|
92
|
-
|
|
168
|
+
**Environment Variables:**
|
|
169
|
+
- `MCP_SERVER_PORT` - MCP server port (default: stdio)
|
|
170
|
+
- `HTTP_SERVER_PORT` - HTTP bridge port (default: 3002)
|
|
171
|
+
- `PLUGIN_POLL_INTERVAL` - Plugin poll frequency (default: 500ms)
|
|
172
|
+
- `REQUEST_TIMEOUT` - Request timeout (default: 30000ms)
|
|
93
173
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
5. Server returns result to AI tool
|
|
174
|
+
**Studio Settings:**
|
|
175
|
+
- ✅ **Allow HTTP Requests** (Game Settings → Security)
|
|
176
|
+
- 🌐 **HttpService.HttpEnabled = true**
|
|
177
|
+
- 🔌 **Plugin activated** via toolbar button
|
|
99
178
|
|
|
100
|
-
##
|
|
179
|
+
## 📄 License
|
|
101
180
|
|
|
102
|
-
|
|
103
|
-
- `MCP_SERVER_PORT` - Server port (default: 3001)
|
|
104
|
-
- `STUDIO_PLUGIN_URL` - Studio plugin URL (default: http://localhost:3002)
|
|
181
|
+
MIT License - Feel free to use in commercial and personal projects!
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,aAAa;IAK3B,WAAW,CAAC,IAAI,GAAE,MAAW;;;;;;IAY7B,cAAc,CAAC,IAAI,EAAE,MAAM;;;;;;IAe3B,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,MAAe;;;;;;IAYtD,iBAAiB,CAAC,IAAI,EAAE,MAAM;;;;;;IAgB9B,YAAY;;;;;;IAYZ,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM;;;;;;IAYhC,YAAY;;;;;;IAYZ,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,MAAe,EAAE,YAAY,CAAC,EAAE,MAAM;;;;;;IAiB/E,qBAAqB,CAAC,YAAY,EAAE,MAAM;;;;;;IAe1C,mBAAmB,CAAC,YAAY,EAAE,MAAM;;;;;;IAexC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;;;;;;IAkB5D,YAAY,CAAC,SAAS,EAAE,MAAM;;;;;;IAgB9B,mBAAmB;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,EAAE,aAAa;IAK3B,WAAW,CAAC,IAAI,GAAE,MAAW;;;;;;IAY7B,cAAc,CAAC,IAAI,EAAE,MAAM;;;;;;IAe3B,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,MAAe;;;;;;IAYtD,iBAAiB,CAAC,IAAI,EAAE,MAAM;;;;;;IAgB9B,YAAY;;;;;;IAYZ,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM;;;;;;IAYhC,YAAY;;;;;;IAYZ,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,MAAe,EAAE,YAAY,CAAC,EAAE,MAAM;;;;;;IAiB/E,qBAAqB,CAAC,YAAY,EAAE,MAAM;;;;;;IAe1C,mBAAmB,CAAC,YAAY,EAAE,MAAM;;;;;;IAexC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;;;;;;IAkB5D,YAAY,CAAC,SAAS,EAAE,MAAM;;;;;;IAgB9B,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO;;;;;;IAgB3E,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM;;;;;;IAYnC,kBAAkB;;;;;;CAWzB"}
|
package/dist/tools/index.js
CHANGED
|
@@ -165,8 +165,12 @@ export class RobloxStudioTools {
|
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
167
|
// Project Tools
|
|
168
|
-
async getProjectStructure() {
|
|
169
|
-
const response = await this.client.request('/api/project-structure', {
|
|
168
|
+
async getProjectStructure(path, maxDepth, scriptsOnly) {
|
|
169
|
+
const response = await this.client.request('/api/project-structure', {
|
|
170
|
+
path,
|
|
171
|
+
maxDepth,
|
|
172
|
+
scriptsOnly
|
|
173
|
+
});
|
|
170
174
|
return {
|
|
171
175
|
content: [
|
|
172
176
|
{
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAmB;IAEjC,YAAY,MAAqB;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE;QACjC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,aAAqB,MAAM;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACvF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAClE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAoB;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,aAAqB,MAAM,EAAE,YAAqB;QACnF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE;YAChE,KAAK;YACL,UAAU;YACV,YAAY;SACb,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,KAAK,CAAC,qBAAqB,CAAC,YAAoB;QAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QACzF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,YAAoB;QAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QACvF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,YAAoB,EAAE,aAAqB;QAChE,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE;YACpE,YAAY;YACZ,aAAa;SACd,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,mBAAmB,CAAC,IAAa,EAAE,QAAiB,EAAE,WAAqB;QAC/E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE;YACnE,IAAI;YACJ,QAAQ;YACR,WAAW;SACZ,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAmB;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAChF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC3E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,105 +1,126 @@
|
|
|
1
1
|
# Roblox Studio MCP Plugin Installation Guide
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Complete your AI assistant integration with this easy-to-install Studio plugin. Works with Claude Code, Claude Desktop, and any MCP-compatible AI.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
2. MCP server running on your local machine
|
|
7
|
-
3. HTTP Requests enabled in Studio (Game Settings > Security > Allow HTTP Requests)
|
|
5
|
+
## 🚀 Quick Installation (Recommended)
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
### **Method 1: Direct Download** ⭐
|
|
8
|
+
1. **Download the plugin:**
|
|
9
|
+
- **GitHub Release**: [Download plugin.luau](https://github.com/boshyxd/robloxstudio-mcp/releases/latest/download/plugin.luau)
|
|
10
|
+
- Save as `RobloxStudioMCP.luau`
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
2. **Install to plugins folder:**
|
|
13
|
+
- **Windows**: Save to `%LOCALAPPDATA%/Roblox/Plugins/`
|
|
14
|
+
- **macOS**: Save to `~/Documents/Roblox/Plugins/`
|
|
15
|
+
- **Or use Studio**: Plugins tab → Plugins Folder → drop the file
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
- Copy the `plugin.lua` file content
|
|
15
|
-
- In Roblox Studio, create a new Script in any location
|
|
16
|
-
- Paste the plugin code into the script
|
|
17
|
-
- Save the script locally (File > Save to File) as `MCPPlugin.lua`
|
|
17
|
+
3. **Restart Roblox Studio** - Plugin appears automatically!
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
- Copy
|
|
23
|
-
- Restart Roblox Studio
|
|
19
|
+
### **Method 2: Save as Local Plugin**
|
|
20
|
+
1. **Copy the plugin code:**
|
|
21
|
+
- Open [plugin.luau](https://github.com/boshyxd/robloxstudio-mcp/blob/main/studio-plugin/plugin.luau) on GitHub
|
|
22
|
+
- Copy all the code (Ctrl+A, Ctrl+C)
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
### Method 2: Plugin Script Installation
|
|
30
|
-
|
|
31
|
-
1. **Create plugin script:**
|
|
32
|
-
- In Roblox Studio, open any place
|
|
33
|
-
- In the Explorer, navigate to `ServerScriptService`
|
|
34
|
-
- Right-click and select "Insert Object" > "Script"
|
|
35
|
-
- Name it "MCPPlugin"
|
|
24
|
+
2. **Create in Studio:**
|
|
25
|
+
- Open Roblox Studio with any place
|
|
26
|
+
- Create a new Script in ServerScriptService
|
|
36
27
|
- Paste the plugin code
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
##
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
-
|
|
91
|
-
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
-
|
|
28
|
+
- **Right-click script** → **"Save as Local Plugin..."**
|
|
29
|
+
- Name it "Roblox Studio MCP"
|
|
30
|
+
|
|
31
|
+
3. **Plugin appears immediately** in your toolbar!
|
|
32
|
+
|
|
33
|
+
## ⚙️ Setup & Configuration
|
|
34
|
+
|
|
35
|
+
### **1. Enable HTTP Requests (Required)**
|
|
36
|
+
🔐 **Game Settings** → **Security** → ✅ **"Allow HTTP Requests"**
|
|
37
|
+
|
|
38
|
+
### **2. Activate the Plugin**
|
|
39
|
+
🔘 **Plugins toolbar** → Click **"MCP Server"** button
|
|
40
|
+
- 🟢 **Green status** = Connected and ready
|
|
41
|
+
- 🔴 **Red status** = Disconnected (normal until MCP server runs)
|
|
42
|
+
|
|
43
|
+
### **3. Install MCP Server**
|
|
44
|
+
Choose your AI assistant:
|
|
45
|
+
|
|
46
|
+
**For Claude Code:**
|
|
47
|
+
```bash
|
|
48
|
+
claude mcp add robloxstudio-mcp
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**For Claude Desktop/Others:**
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"mcpServers": {
|
|
55
|
+
"robloxstudio-mcp": {
|
|
56
|
+
"command": "npx",
|
|
57
|
+
"args": ["-y", "robloxstudio-mcp"]
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## 🎯 How It Works
|
|
64
|
+
|
|
65
|
+
1. **🤖 AI calls tool** → MCP server queues request
|
|
66
|
+
2. **🔄 Plugin polls** every 500ms for work
|
|
67
|
+
3. **⚙️ Plugin executes** Studio API calls
|
|
68
|
+
4. **📤 Plugin responds** with extracted data
|
|
69
|
+
5. **✅ AI receives** comprehensive Studio information
|
|
70
|
+
|
|
71
|
+
**Available Tools:** 15 specialized tools for file trees, dependencies, properties, project structure, and more!
|
|
72
|
+
|
|
73
|
+
## 🔧 Troubleshooting
|
|
74
|
+
|
|
75
|
+
### **Plugin Missing from Toolbar**
|
|
76
|
+
- ✅ Verify file saved to correct plugins folder
|
|
77
|
+
- 🔄 Restart Roblox Studio completely
|
|
78
|
+
- 📝 Check Output window for error messages
|
|
79
|
+
|
|
80
|
+
### **"HTTP 403 Forbidden" Errors**
|
|
81
|
+
- ✅ Enable "Allow HTTP Requests" in Game Settings → Security
|
|
82
|
+
- 🔍 Verify MCP server is running (status should show connected)
|
|
83
|
+
|
|
84
|
+
### **Plugin Shows "Disconnected"**
|
|
85
|
+
- ✅ **Normal behavior** when MCP server isn't running
|
|
86
|
+
- 🔘 Click "MCP Server" button to activate
|
|
87
|
+
- 📡 Install MCP server using commands above
|
|
88
|
+
|
|
89
|
+
### **Connection Issues**
|
|
90
|
+
- 🔥 Check Windows Firewall isn't blocking localhost:3002
|
|
91
|
+
- 🖥️ Restart both Studio and your AI assistant
|
|
92
|
+
- 📝 Check Studio Output window for detailed error messages
|
|
93
|
+
|
|
94
|
+
## 🔒 Security & Privacy
|
|
95
|
+
|
|
96
|
+
- 🏠 **Local-only**: All communication stays on your machine
|
|
97
|
+
- 🚫 **No external servers**: Plugin only talks to localhost
|
|
98
|
+
- 👁️ **Read-only access**: Plugin extracts data but never modifies your place
|
|
99
|
+
- 🔐 **No data collection**: Your projects remain private
|
|
100
|
+
|
|
101
|
+
## 🛠️ Advanced Usage
|
|
102
|
+
|
|
103
|
+
### **Plugin Features**
|
|
104
|
+
- **Real-time status**: Visual connection indicators
|
|
105
|
+
- **Smart polling**: Exponential backoff for failed connections
|
|
106
|
+
- **Error recovery**: Automatic retry with timeout handling
|
|
107
|
+
- **Debug friendly**: Comprehensive logging in Output window
|
|
108
|
+
|
|
109
|
+
### **Customization**
|
|
110
|
+
- 📝 **Server URL**: Modify in plugin UI (default: http://localhost:3002)
|
|
111
|
+
- ⏱️ **Poll interval**: 500ms default (editable in code)
|
|
112
|
+
- 🔧 **Timeout settings**: 30-second request timeouts
|
|
113
|
+
|
|
114
|
+
### **Development Mode**
|
|
115
|
+
```lua
|
|
116
|
+
-- Enable debug logging in plugin code:
|
|
117
|
+
local DEBUG_MODE = true
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## 💡 Pro Tips
|
|
121
|
+
|
|
122
|
+
- 🖥️ **Keep Studio open** while using AI assistants
|
|
123
|
+
- 🔄 **Plugin auto-connects** when MCP server starts
|
|
124
|
+
- 📊 **Monitor status** via the dock widget
|
|
125
|
+
- 🎯 **Use AI tools** to explore game architecture, find bugs, analyze dependencies
|
|
126
|
+
- 🚀 **Perfect for** code reviews, debugging, and understanding complex projects!
|