
Roblox Studio
STDIOComprehensive Roblox Studio integration for AI assistants with 18 specialized tools.
Comprehensive Roblox Studio integration for AI assistants with 18 specialized tools.
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 18 specialized AI tools including mass operations for bulk editing.
For Claude Code users:
claude mcp add robloxstudio -- npx -y robloxstudio-mcp
For other MCP clients (Claude Desktop, etc.):
{ "mcpServers": { "robloxstudio-mcp": { "command": "npx", "args": ["-y", "robloxstudio-mcp"], "description": "Advanced Roblox Studio integration for AI assistants" } } }
The MCP server requires a companion Roblox Studio plugin:
Roblox Creator Store (Easiest ⭐):
Manual download:
%LOCALAPPDATA%/Roblox/Plugins
folderAdvanced setup:
After installation:
This is a dual-component system bridging Roblox Studio with AI assistants:
%%{init: {'theme':'dark', 'themeVariables': {'primaryColor':'#2d3748', 'primaryTextColor':'#ffffff', 'primaryBorderColor':'#4a5568', 'lineColor':'#718096', 'sectionBkgColor':'#1a202c', 'altSectionBkgColor':'#2d3748', 'gridColor':'#4a5568', 'secondaryColor':'#2b6cb0', 'tertiaryColor':'#319795'}}}%% graph TB subgraph AI_ENV ["🤖 AI Environment"] AI["🤖 AI Assistant<br/>Claude Code/Desktop"] MCP["📡 MCP Server<br/>Node.js + TypeScript"] end subgraph COMM_LAYER ["🔗 Communication Layer"] HTTP["🌐 HTTP Bridge<br/>localhost:3002"] QUEUE["📋 Request Queue<br/>UUID tracking"] end subgraph STUDIO_ENV ["🎮 Roblox Studio Environment"] PLUGIN["🎮 Studio Plugin<br/>Luau Script"] STUDIO["🎯 Roblox Studio<br/>APIs & Data"] end subgraph TOOLS ["🛠️ 18 AI Tools"] FILE["📁 File System<br/>Trees, Search"] CONTEXT["🎯 Studio Context<br/>Services, Objects"] PROPS["🔍 Properties<br/>Get, Set, Mass Ops"] CREATE["🏗️ Object Creation<br/>Single, Mass, Properties"] PROJECT["🏢 Project Analysis<br/>Smart Structure"] end AI -->|stdio| MCP MCP -->|HTTP POST| HTTP HTTP -->|Queue Request| QUEUE PLUGIN -->|Poll every 500ms| HTTP HTTP -->|Pending Work| PLUGIN PLUGIN -->|Execute APIs| STUDIO STUDIO -->|Return Data| PLUGIN PLUGIN -->|HTTP Response| HTTP HTTP -->|Resolve Promise| MCP MCP -->|Tool Result| AI MCP -.->|Exposes| FILE MCP -.->|Exposes| CONTEXT MCP -.->|Exposes| PROPS MCP -.->|Exposes| CREATE MCP -.->|Exposes| PROJECT classDef aiStyle fill:#1e40af,stroke:#3b82f6,stroke-width:2px,color:#ffffff classDef mcpStyle fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:#ffffff classDef httpStyle fill:#ea580c,stroke:#f97316,stroke-width:2px,color:#ffffff classDef pluginStyle fill:#059669,stroke:#10b981,stroke-width:2px,color:#ffffff classDef studioStyle fill:#dc2626,stroke:#ef4444,stroke-width:2px,color:#ffffff classDef toolStyle fill:#0891b2,stroke:#06b6d4,stroke-width:2px,color:#ffffff class AI aiStyle class MCP mcpStyle class HTTP,QUEUE httpStyle class PLUGIN pluginStyle class STUDIO studioStyle class FILE,CONTEXT,PROPS,CREATE,PROJECT toolStyle
get_file_tree
- Complete project hierarchy with scripts, models, folderssearch_files
- Find files by name, type, or content patternsget_place_info
- Place ID, name, game settings, workspace infoget_services
- All Roblox services and their child countssearch_objects
- Find instances by name, class, or propertiesget_instance_properties
- Complete property dump for any objectget_instance_children
- Child objects with metadata (scripts, GUI types, etc.)search_by_property
- Find objects with specific property valuesget_class_info
- Available properties/methods for Roblox classesset_property
- Set a property on any Roblox instancemass_set_property
- 🆕 NEW! Set the same property on multiple instances at oncemass_get_property
- 🆕 NEW! Get the same property from multiple instances at oncecreate_object
- Create a new Roblox object instance (basic)create_object_with_properties
- 🆕 NEW! Create objects with initial propertiesmass_create_objects
- 🆕 NEW! Create multiple objects at once (basic)mass_create_objects_with_properties
- 🆕 NEW! Create multiple objects with propertiesdelete_object
- Delete a Roblox object instanceget_project_structure
- 🔥 ENHANCED! Smart hierarchy with improved depth control (recommended: depth 5-10)⚠️ Note: Previous tools like
get_file_content
,get_file_properties
,get_selection
,get_dependencies
, andvalidate_references
have been removed. Use Rojo/Argon workflows or file system reading for better performance.
Example Use Cases:
// Set all parts in workspace to red mass_set_property(["game.Workspace.Part1", "game.Workspace.Part2"], "BrickColor", "Really red") // Create 10 parts with properties mass_create_objects_with_properties([ {className: "Part", parent: "game.Workspace", name: "RedPart", properties: {BrickColor: "Really red"}}, {className: "Part", parent: "game.Workspace", name: "BluePart", properties: {BrickColor: "Really blue"}} ])
get_project_structure("game.ServerStorage", maxDepth=5)
scriptsOnly=true
for code analysisnpm run dev # Development server with hot reload npm run build # Production build npm start # Run built server npm run lint # ESLint code quality npm run typecheck # TypeScript validation
%%{init: {'theme':'dark', 'themeVariables': {'primaryColor':'#2d3748', 'primaryTextColor':'#ffffff', 'primaryBorderColor':'#4a5568', 'lineColor':'#10b981', 'sectionBkgColor':'#1a202c', 'altSectionBkgColor':'#2d3748', 'gridColor':'#4a5568', 'secondaryColor':'#3b82f6', 'tertiaryColor':'#8b5cf6', 'background':'#1a202c', 'mainBkg':'#2d3748', 'secondBkg':'#374151', 'tertiaryColor':'#6366f1'}}}%% sequenceDiagram participant AI as 🤖 AI Assistant participant MCP as 📡 MCP Server participant HTTP as 🌐 HTTP Bridge participant PLUGIN as 🎮 Studio Plugin participant STUDIO as 🎯 Roblox Studio Note over AI,STUDIO: 🚀 Tool Request Flow AI->>+MCP: Call tool (e.g., get_file_tree) MCP->>+HTTP: Queue request with UUID HTTP->>HTTP: Store in pending requests map HTTP-->>-MCP: Request queued ✅ Note over PLUGIN: 🔄 Polling every 500ms PLUGIN->>+HTTP: GET /poll HTTP->>-PLUGIN: Return pending request + UUID PLUGIN->>+STUDIO: Execute Studio APIs Note over STUDIO: 🎯 game.ServerStorage<br/>📋 Selection:Get()<br/>🔍 Instance properties STUDIO->>-PLUGIN: Return Studio data 📊 PLUGIN->>+HTTP: POST /response with UUID + data HTTP->>-MCP: Resolve promise with data MCP->>-AI: Return tool result 🎉 Note over AI,STUDIO: ⚠️ Error Handling alt Request Timeout (30s) HTTP->>MCP: Reject promise with timeout ⏰ MCP->>AI: Return error message ❌ end alt Plugin Disconnected PLUGIN->>HTTP: Connection lost 🔌 HTTP->>HTTP: Exponential backoff retry 🔄 Note over PLUGIN: Status: "Waiting for server..." ⏳ end
Features:
// Get service overview get_project_structure() // Explore weapons folder get_project_structure("game.ServerStorage.Weapons", maxDepth=2) // Find all Sound objects search_by_property("ClassName", "Sound") // Check script dependencies get_dependencies("game.ServerScriptService.MainScript") // Find broken references validate_references() // Get UI component details get_instance_properties("game.StarterGui.MainMenu.SettingsFrame")
Environment Variables:
MCP_SERVER_PORT
- MCP server port (default: stdio)HTTP_SERVER_PORT
- HTTP bridge port (default: 3002)PLUGIN_POLL_INTERVAL
- Plugin poll frequency (default: 500ms)REQUEST_TIMEOUT
- Request timeout (default: 30000ms)Studio Settings:
mass_set_property
- Bulk property modificationmass_get_property
- Batch property readingcreate_object_with_properties
- Object creation with initial propertiesmass_create_objects
- Bulk object creationmass_create_objects_with_properties
- Bulk creation with propertiesget_project_structure
with improved depth parameter documentationget_file_content
, get_file_properties
, get_selection
, get_dependencies
, validate_references
(use Rojo/Argon workflows instead)set_property
tool for instance modificationcreate_object
and delete_object
toolsMIT License - Feel free to use in commercial and personal projects!