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 CHANGED
@@ -1,104 +1,181 @@
1
1
  # Roblox Studio MCP Server
2
2
 
3
- An MCP (Model Context Protocol) server that provides AI tools access to Roblox Studio data through a plugin-based architecture.
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 Installation
5
+ ## Quick Start (One Command)
6
6
 
7
- ### For End Users (Easy Setup)
8
-
9
- Add to your MCP configuration (like in Claude Desktop or other MCP clients):
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
- Or use with Claude Code MCP add command:
24
- ```bash
25
- claude mcp add robloxstudio -- npx -y robloxstudio-mcp
26
- ```
25
+ ## 🔌 Studio Plugin Setup (Required)
26
+
27
+ The MCP server requires a companion Roblox Studio plugin:
27
28
 
28
- ### For Developers
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
- 1. **Clone and install:**
31
- ```bash
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
- 2. **Build and test:**
38
- ```bash
39
- npm run build
40
- npm start
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
- ## Studio Plugin Setup
41
+ ## 🏗️ Architecture Overview
44
42
 
45
- **Required for both installation methods:**
43
+ This is a **dual-component system** bridging Roblox Studio with AI assistants:
46
44
 
47
- 1. **Install the Studio plugin:**
48
- - See [studio-plugin/INSTALLATION.md](studio-plugin/INSTALLATION.md) for detailed instructions
49
- - Enable HTTP Requests in Game Settings
50
- - Activate the plugin using the toolbar button
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
- ## Architecture
129
+ ## 📊 Communication Protocol
53
130
 
54
- - **MCP Server** (TypeScript/Node.js) - Handles AI tool calls via stdio
55
- - **Studio Plugin** (Luau) - Extracts Studio data and communicates with MCP server
56
- - **HTTP Bridge** - Communication layer between plugin and server (localhost:3002)
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
- ## Development
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
- - `npm run dev` - Start development server with hot reload
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
- ## Available Tools
146
+ ```javascript
147
+ // Get service overview
148
+ get_project_structure()
66
149
 
67
- ### File System Tools
68
- - `get_file_tree` - Complete hierarchy with script types, models, folders
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
- ### Studio Context Tools
74
- - `get_place_info` - Place ID, name, game settings
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
- ### Property & Instance Tools
80
- - `get_instance_properties` - All properties of a specific instance
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
- ### Project Tools
86
- - `get_project_structure` - Complete game hierarchy
87
- - `get_dependencies` - Module dependencies and relationships
88
- - `validate_references` - Check for broken script references
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
- ## Communication Protocol
166
+ ## 🔧 Configuration
91
167
 
92
- The MCP server exposes tools via stdio for AI integration. The Studio plugin polls the server on port 3002 using HTTP requests. When an AI tool is called:
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
- 1. MCP server queues the request
95
- 2. Studio plugin polls and receives the request
96
- 3. Plugin extracts data using Studio APIs
97
- 4. Plugin sends response back to server
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
- ## Configuration
179
+ ## 📄 License
101
180
 
102
- The server can be configured through environment variables:
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!
@@ -74,7 +74,7 @@ export declare class RobloxStudioTools {
74
74
  text: string;
75
75
  }[];
76
76
  }>;
77
- getProjectStructure(): Promise<{
77
+ getProjectStructure(path?: string, maxDepth?: number, scriptsOnly?: boolean): Promise<{
78
78
  content: {
79
79
  type: string;
80
80
  text: string;
@@ -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;;;;;;IAYnB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM;;;;;;IAYnC,kBAAkB;;;;;;CAWzB"}
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"}
@@ -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
  {
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "robloxstudio-mcp",
3
- "version": "1.0.3",
3
+ "version": "1.1.0",
4
4
  "description": "MCP Server for Roblox Studio Integration - Access Studio data, scripts, and objects through AI tools",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -1,105 +1,126 @@
1
1
  # Roblox Studio MCP Plugin Installation Guide
2
2
 
3
- ## Prerequisites
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
- 1. Roblox Studio installed and running
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
- ## Installation Steps
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
- ### Method 1: Local Plugin Installation (Recommended for Development)
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
- 1. **Save the plugin file:**
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
- 2. **Install as local plugin:**
20
- - In Studio, go to the "Plugins" tab
21
- - Click "Plugins Folder" to open your local plugins directory
22
- - Copy your saved `MCPPlugin.lua` file into this folder
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
- 3. **Verify installation:**
26
- - After restart, you should see "MCP Integration" in your plugins toolbar
27
- - Click the "MCP Server" button to activate the plugin
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
- 2. **Convert to plugin:**
39
- - Right-click the script
40
- - Select "Save as Local Plugin..."
41
- - Give it a name like "MCP Integration"
42
- - Click Save
43
-
44
- 3. **The plugin will be immediately available in your toolbar**
45
-
46
- ## Configuration
47
-
48
- 1. **Enable HTTP Requests:**
49
- - Open Game Settings (Home tab > Game Settings)
50
- - Navigate to Security
51
- - Enable "Allow HTTP Requests"
52
- - Save settings
53
-
54
- 2. **Start MCP Server:**
55
- - In your terminal, navigate to the MCP server directory
56
- - Run: `npm start`
57
- - The server should start on port 3002
58
-
59
- 3. **Activate Plugin:**
60
- - Click the "MCP Server" button in the toolbar
61
- - The status window should show "MCP Server: Active" in green
62
- - The plugin will now poll for requests from the MCP server
63
-
64
- ## Usage
65
-
66
- Once activated, the plugin will:
67
- - Poll the MCP server every 500ms for incoming requests
68
- - Process requests for Studio data (scripts, instances, properties, etc.)
69
- - Send responses back to the MCP server
70
- - Display connection status in the dock widget
71
-
72
- ## Troubleshooting
73
-
74
- ### Plugin doesn't appear in toolbar
75
- - Ensure the plugin file was saved in the correct plugins folder
76
- - Try restarting Roblox Studio
77
- - Check Output window for any error messages
78
-
79
- ### "HTTP 403 Forbidden" errors
80
- - Make sure "Allow HTTP Requests" is enabled in Game Settings
81
- - Verify the MCP server is running on the correct port (3002)
82
-
83
- ### Connection timeout errors
84
- - Check that the MCP server is running (`npm start`)
85
- - Ensure no firewall is blocking localhost connections
86
- - Verify the server URLs in the plugin match your setup
87
-
88
- ### Plugin shows "Disconnected"
89
- - Click the MCP Server button to activate
90
- - Check the Output window for error messages
91
- - Ensure the MCP server is accessible at http://localhost:3002
92
-
93
- ## Security Notes
94
-
95
- - The plugin only works with local servers (localhost)
96
- - No external connections are made
97
- - All data stays on your local machine
98
- - The plugin only reads data, it doesn't modify your place
99
-
100
- ## Development Tips
101
-
102
- - Use the Output window to see debug messages
103
- - The status widget shows real-time connection status
104
- - You can modify polling interval in the plugin code if needed
105
- - For debugging, add print statements to track request/response flow
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!