loading…
Search for a command to run...
loading…
A comprehensive MCP server providing 41 tools for complete Roblox Studio control, enabling safe script editing with syntax checking, instance manipulation, and
A comprehensive MCP server providing 41 tools for complete Roblox Studio control, enabling safe script editing with syntax checking, instance manipulation, and backup features directly from Claude Code or any MCP-compatible AI assistant.
English | 日本語
The most comprehensive MCP (Model Context Protocol) server for Roblox Studio. 41 tools for complete Studio control from Claude Code or any MCP-compatible AI assistant.
The default Roblox Studio MCP only provides run_code — forcing you to manipulate script sources via string operations (gsub). This leads to:
end) statements This MCP solves all of that.
| Tool | Description |
|---|---|
getScript |
Get full source code |
setScript |
Replace entire source (with syntax check + auto backup) |
editScript |
Edit specific line range (partial edit!) |
insertCode |
Insert code after a specific line |
removeLines |
Remove specific lines |
replaceInScript |
Find & replace text (plain text, safe) |
getLines |
Get only specific line range (lightweight) |
getFunctionList |
List all functions with line numbers |
getScriptSummary |
Overview: functions, requires, globals |
listScripts |
List all scripts in the game |
getAllScripts |
Get all script sources at once |
searchInScripts |
Search keyword across all scripts |
getReferences |
Find all usages of a variable/function |
getModuleDependencies |
List require() dependencies |
| Feature | Description |
|---|---|
| 🔒 Syntax Check | Auto-validates before writing. Rejects bad code. |
| 💾 Auto Backup | Saves previous version before every edit (10 generations) |
| 🛑 Play Mode Guard | Blocks writes during Play mode (prevents silent rollbacks) |
| 📝 UpdateSourceAsync | Uses ScriptEditorService for conflict-free writes |
| Tool | Description |
|---|---|
restoreBackup |
Restore from auto-saved backup |
listBackups |
List available backups |
| Tool | Description |
|---|---|
checkSyntax |
Check syntax without writing |
verifyScript |
Verify line count / source length |
validateAllScripts |
Batch syntax check all scripts |
| Tool | Description |
|---|---|
getTree |
Get instance hierarchy |
getChildren |
List children (lightweight) |
getProperty / setProperty |
Get/set properties |
createInstance |
Create new instance |
deleteInstance |
Delete instance |
cloneInstance |
Clone instance |
renameInstance |
Rename instance |
moveInstance |
Move to different parent |
findInstances |
Search instances by name/class |
| Tool | Description |
|---|---|
runCode |
Execute Luau code (with output capture) |
batch |
Execute multiple commands at once |
getAttribute / setAttribute |
Attribute operations |
getErrors / clearErrors |
Error log management |
undo / redo |
Undo/redo operations |
getSelection |
Get current selection |
getStudioInfo |
Get Studio info |
git clone https://github.com/YOUR_USERNAME/roblox-studio-ultimate-mcp.git
cd roblox-studio-ultimate-mcp
npm install
npm run build
Copy the plugin file to your Roblox Plugins folder:
Mac:
cp plugin/UltimateMCP.rbxmx ~/Documents/Roblox/Plugins/
Windows:
copy plugin\UltimateMCP.rbxmx %LOCALAPPDATA%\Roblox\Plugins\
Or generate it from source:
bash generate-plugin.sh
Open Roblox Studio, then in the Command Bar (View → Command Bar):
game:GetService("HttpService").HttpEnabled = true
Add to your ~/.claude.json under the appropriate project:
{
"mcpServers": {
"roblox_ultimate": {
"type": "stdio",
"command": "node",
"args": ["/path/to/roblox-studio-ultimate-mcp/dist/index.js"],
"env": {}
}
}
}
Claude Code ←(stdio)→ MCP Server (Node.js) ←(HTTP)→ Studio Plugin (Luau)
Port 3002
src/index.ts): Translates MCP tool calls to HTTP commandsplugin/RobloxMCP.lua): Polls the server, executes commands inside StudioThis server is designed to work alongside the official Roblox Studio MCP:
| Use Case | Which MCP |
|---|---|
| Script read/write | Ultimate (getScript/setScript) |
| Play testing | Official (start_stop_play) |
| Console output | Official (get_console_output) |
| Instance manipulation | Ultimate |
| Property changes | Ultimate |
Before this MCP, a simple one-line fix in a 260-line script required:
run_code to get the sourcegsub pattern matching (often fails)run_code to write backNow: editScript(path, 103, 103, "new code") → Done. First try.
PRs welcome! Especially for:
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"roblox-studio-ultimate-mcp-server": {
"command": "npx",
"args": []
}
}
}PRs, issues, code search, CI status
Database, auth and storage
Reference / test server with prompts, resources, and tools.
Secure file operations with configurable access controls.