rbxstudio-mcp 1.9.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/LICENSE +21 -0
- package/README.md +319 -0
- package/dist/__tests__/bridge-service.test.d.ts +2 -0
- package/dist/__tests__/bridge-service.test.d.ts.map +1 -0
- package/dist/__tests__/bridge-service.test.js +109 -0
- package/dist/__tests__/bridge-service.test.js.map +1 -0
- package/dist/__tests__/http-server.test.d.ts +2 -0
- package/dist/__tests__/http-server.test.d.ts.map +1 -0
- package/dist/__tests__/http-server.test.js +193 -0
- package/dist/__tests__/http-server.test.js.map +1 -0
- package/dist/__tests__/integration.test.d.ts +2 -0
- package/dist/__tests__/integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration.test.js +182 -0
- package/dist/__tests__/integration.test.js.map +1 -0
- package/dist/__tests__/smoke.test.d.ts +2 -0
- package/dist/__tests__/smoke.test.d.ts.map +1 -0
- package/dist/__tests__/smoke.test.js +63 -0
- package/dist/__tests__/smoke.test.js.map +1 -0
- package/dist/bridge-service.d.ts +17 -0
- package/dist/bridge-service.d.ts.map +1 -0
- package/dist/bridge-service.js +77 -0
- package/dist/bridge-service.js.map +1 -0
- package/dist/http-server.d.ts +4 -0
- package/dist/http-server.d.ts.map +1 -0
- package/dist/http-server.js +290 -0
- package/dist/http-server.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1102 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/index.d.ts +273 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +628 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/studio-client.d.ts +7 -0
- package/dist/tools/studio-client.d.ts.map +1 -0
- package/dist/tools/studio-client.js +19 -0
- package/dist/tools/studio-client.js.map +1 -0
- package/package.json +69 -0
- package/studio-plugin/INSTALLATION.md +150 -0
- package/studio-plugin/MCPPlugin.rbxmx +3253 -0
- package/studio-plugin/plugin.json +10 -0
- package/studio-plugin/plugin.luau +3584 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"studio-client.js","sourceRoot":"","sources":["../../src/tools/studio-client.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAgB;IAE9B,YAAY,MAAqB;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,IAAS;QACvC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC/D,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;gBAClE,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rbxstudio-mcp",
|
|
3
|
+
"version": "1.9.0",
|
|
4
|
+
"description": "MCP Server for Roblox Studio Integration - Access Studio data, scripts, and objects through AI tools",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"rbxstudio-mcp": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist/**/*",
|
|
12
|
+
"studio-plugin/**/*",
|
|
13
|
+
"README.md"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"dev": "tsx src/index.ts",
|
|
18
|
+
"start": "node dist/index.js",
|
|
19
|
+
"lint": "eslint src/**/*.ts",
|
|
20
|
+
"typecheck": "tsc --noEmit",
|
|
21
|
+
"test": "jest",
|
|
22
|
+
"test:watch": "jest --watch",
|
|
23
|
+
"test:coverage": "jest --coverage",
|
|
24
|
+
"prepublishOnly": "npm run build"
|
|
25
|
+
},
|
|
26
|
+
"keywords": [
|
|
27
|
+
"mcp",
|
|
28
|
+
"roblox",
|
|
29
|
+
"studio",
|
|
30
|
+
"ai",
|
|
31
|
+
"model-context-protocol",
|
|
32
|
+
"game-development"
|
|
33
|
+
],
|
|
34
|
+
"author": "",
|
|
35
|
+
"license": "MIT",
|
|
36
|
+
"repository": {
|
|
37
|
+
"type": "git",
|
|
38
|
+
"url": "https://github.com/boshyxd/robloxstudio-mcp.git"
|
|
39
|
+
},
|
|
40
|
+
"homepage": "https://github.com/boshyxd/robloxstudio-mcp#readme",
|
|
41
|
+
"bugs": {
|
|
42
|
+
"url": "https://github.com/boshyxd/robloxstudio-mcp/issues"
|
|
43
|
+
},
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@modelcontextprotocol/sdk": "^0.6.0",
|
|
46
|
+
"cors": "^2.8.5",
|
|
47
|
+
"express": "^4.18.2",
|
|
48
|
+
"node-fetch": "^3.3.2",
|
|
49
|
+
"uuid": "^9.0.1",
|
|
50
|
+
"ws": "^8.14.2"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@types/cors": "^2.8.17",
|
|
54
|
+
"@types/express": "^4.17.21",
|
|
55
|
+
"@types/jest": "^29.5.11",
|
|
56
|
+
"@types/node": "^20.10.0",
|
|
57
|
+
"@types/supertest": "^6.0.2",
|
|
58
|
+
"@types/uuid": "^9.0.7",
|
|
59
|
+
"@types/ws": "^8.5.10",
|
|
60
|
+
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
61
|
+
"@typescript-eslint/parser": "^7.0.0",
|
|
62
|
+
"eslint": "^8.57.0",
|
|
63
|
+
"jest": "^29.7.0",
|
|
64
|
+
"supertest": "^6.3.3",
|
|
65
|
+
"ts-jest": "^29.1.1",
|
|
66
|
+
"tsx": "^4.6.0",
|
|
67
|
+
"typescript": "^5.3.2"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# Roblox Studio MCP Plugin Installation Guide
|
|
2
|
+
|
|
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
|
+
|
|
5
|
+
## 🚀 Quick Installation
|
|
6
|
+
|
|
7
|
+
### **Method 1: Roblox Creator Store** ⭐ (Easiest)
|
|
8
|
+
1. **Install from Creator Store:**
|
|
9
|
+
- Visit: https://create.roblox.com/store/asset/132985143757536
|
|
10
|
+
- Click **"Install"** button
|
|
11
|
+
- Plugin automatically opens in Studio
|
|
12
|
+
|
|
13
|
+
2. **No restart needed** - Plugin appears immediately in toolbar!
|
|
14
|
+
|
|
15
|
+
### **Method 2: Direct Download**
|
|
16
|
+
1. **Download the plugin:**
|
|
17
|
+
- **GitHub Release**: [Download MCPPlugin.rbxmx](https://github.com/boshyxd/robloxstudio-mcp/releases/latest/download/MCPPlugin.rbxmx)
|
|
18
|
+
- This is the official Roblox plugin format
|
|
19
|
+
|
|
20
|
+
2. **Install to plugins folder:**
|
|
21
|
+
- **Windows**: Save to `%LOCALAPPDATA%/Roblox/Plugins/`
|
|
22
|
+
- **macOS**: Save to `~/Documents/Roblox/Plugins/`
|
|
23
|
+
- **Or use Studio**: Plugins tab → Plugins Folder → drop the file
|
|
24
|
+
|
|
25
|
+
3. **Restart Roblox Studio** - Plugin appears automatically!
|
|
26
|
+
|
|
27
|
+
### **Method 3: Save as Local Plugin**
|
|
28
|
+
1. **Copy the plugin code:**
|
|
29
|
+
- Open [plugin.luau](https://github.com/boshyxd/robloxstudio-mcp/blob/main/studio-plugin/plugin.luau) on GitHub
|
|
30
|
+
- Copy all the code (Ctrl+A, Ctrl+C)
|
|
31
|
+
|
|
32
|
+
2. **Create in Studio:**
|
|
33
|
+
- Open Roblox Studio with any place
|
|
34
|
+
- Create a new Script in ServerScriptService
|
|
35
|
+
- Paste the plugin code
|
|
36
|
+
- **Right-click script** → **"Save as Local Plugin..."**
|
|
37
|
+
- Name it "Roblox Studio MCP"
|
|
38
|
+
|
|
39
|
+
3. **Plugin appears immediately** in your toolbar!
|
|
40
|
+
|
|
41
|
+
## ⚙️ Setup & Configuration
|
|
42
|
+
|
|
43
|
+
### **1. Enable HTTP Requests (Required)**
|
|
44
|
+
🔐 **Game Settings** → **Security** → ✅ **"Allow HTTP Requests"**
|
|
45
|
+
|
|
46
|
+
### **2. Activate the Plugin**
|
|
47
|
+
🔘 **Plugins toolbar** → Click **"MCP Server"** button
|
|
48
|
+
- 🟢 **Green status** = Connected and ready
|
|
49
|
+
- 🔴 **Red status** = Disconnected (normal until MCP server runs)
|
|
50
|
+
|
|
51
|
+
### **3. Install MCP Server**
|
|
52
|
+
Choose your AI assistant:
|
|
53
|
+
|
|
54
|
+
**For Claude Code:**
|
|
55
|
+
```bash
|
|
56
|
+
claude mcp add robloxstudio-mcp
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**For Claude Desktop/Others:**
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"mcpServers": {
|
|
63
|
+
"robloxstudio-mcp": {
|
|
64
|
+
"command": "npx",
|
|
65
|
+
"args": ["-y", "robloxstudio-mcp"]
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
<details>
|
|
72
|
+
<summary>Note for native Windows users</summary>
|
|
73
|
+
If you encounter issues, you may need to run it through `cmd`. Update your configuration like this:
|
|
74
|
+
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"mcpServers": {
|
|
78
|
+
"robloxstudio-mcp": {
|
|
79
|
+
"command": "cmd",
|
|
80
|
+
"args": ["/c", "npx", "-y", "robloxstudio-mcp@latest"]
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
</details>
|
|
86
|
+
|
|
87
|
+
## 🎯 How It Works
|
|
88
|
+
|
|
89
|
+
1. **🤖 AI calls tool** → MCP server queues request
|
|
90
|
+
2. **🔄 Plugin polls** every 500ms for work
|
|
91
|
+
3. **⚙️ Plugin executes** Studio API calls
|
|
92
|
+
4. **📤 Plugin responds** with extracted data
|
|
93
|
+
5. **✅ AI receives** comprehensive Studio information
|
|
94
|
+
|
|
95
|
+
**Available Tools:** 15 specialized tools for file trees, dependencies, properties, project structure, and more!
|
|
96
|
+
|
|
97
|
+
## 🔧 Troubleshooting
|
|
98
|
+
|
|
99
|
+
### **Plugin Missing from Toolbar**
|
|
100
|
+
- ✅ Verify file saved to correct plugins folder
|
|
101
|
+
- 🔄 Restart Roblox Studio completely
|
|
102
|
+
- 📝 Check Output window for error messages
|
|
103
|
+
|
|
104
|
+
### **"HTTP 403 Forbidden" Errors**
|
|
105
|
+
- ✅ Enable "Allow HTTP Requests" in Game Settings → Security
|
|
106
|
+
- 🔍 Verify MCP server is running (status should show connected)
|
|
107
|
+
|
|
108
|
+
### **Plugin Shows "Disconnected"**
|
|
109
|
+
- ✅ **Normal behavior** when MCP server isn't running
|
|
110
|
+
- 🔘 Click "MCP Server" button to activate
|
|
111
|
+
- 📡 Install MCP server using commands above
|
|
112
|
+
|
|
113
|
+
### **Connection Issues**
|
|
114
|
+
- 🔥 Check Windows Firewall isn't blocking localhost:3002
|
|
115
|
+
- 🖥️ Restart both Studio and your AI assistant
|
|
116
|
+
- 📝 Check Studio Output window for detailed error messages
|
|
117
|
+
|
|
118
|
+
## 🔒 Security & Privacy
|
|
119
|
+
|
|
120
|
+
- 🏠 **Local-only**: All communication stays on your machine
|
|
121
|
+
- 🚫 **No external servers**: Plugin only talks to localhost
|
|
122
|
+
- 👁️ **Read-only access**: Plugin extracts data but never modifies your place
|
|
123
|
+
- 🔐 **No data collection**: Your projects remain private
|
|
124
|
+
|
|
125
|
+
## 🛠️ Advanced Usage
|
|
126
|
+
|
|
127
|
+
### **Plugin Features**
|
|
128
|
+
- **Real-time status**: Visual connection indicators
|
|
129
|
+
- **Smart polling**: Exponential backoff for failed connections
|
|
130
|
+
- **Error recovery**: Automatic retry with timeout handling
|
|
131
|
+
- **Debug friendly**: Comprehensive logging in Output window
|
|
132
|
+
|
|
133
|
+
### **Customization**
|
|
134
|
+
- 📝 **Server URL**: Modify in plugin UI (default: http://localhost:3002)
|
|
135
|
+
- ⏱️ **Poll interval**: 500ms default (editable in code)
|
|
136
|
+
- 🔧 **Timeout settings**: 30-second request timeouts
|
|
137
|
+
|
|
138
|
+
### **Development Mode**
|
|
139
|
+
```lua
|
|
140
|
+
-- Enable debug logging in plugin code:
|
|
141
|
+
local DEBUG_MODE = true
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## 💡 Pro Tips
|
|
145
|
+
|
|
146
|
+
- 🖥️ **Keep Studio open** while using AI assistants
|
|
147
|
+
- 🔄 **Plugin auto-connects** when MCP server starts
|
|
148
|
+
- 📊 **Monitor status** via the dock widget
|
|
149
|
+
- 🎯 **Use AI tools** to explore game architecture, find bugs, analyze dependencies
|
|
150
|
+
- 🚀 **Perfect for** code reviews, debugging, and understanding complex projects!
|