Roblox Studio MCP Server
An AI-powered server that provides access to Roblox Studio data through a plugin architecture, enabling AI tools to interact with file systems, studio context, properties, and project structure.
README
Roblox Studio MCP Server
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.
⚡ Quick Start (One Command)
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"
}
}
}
🔌 Studio Plugin Setup (Required)
The MCP server requires a companion Roblox Studio plugin:
-
Roblox Creator Store (Easiest ⭐):
- Install from: https://create.roblox.com/store/asset/132985143757536
- Click "Install" → Opens in Studio automatically
-
Manual download:
- Download MCPPlugin.rbxmx
- Save to your
%LOCALAPPDATA%/Roblox/Pluginsfolder
-
Advanced setup:
- See studio-plugin/INSTALLATION.md for other methods
After installation:
- ✅ Enable "Allow HTTP Requests" in Game Settings → Security
- 🔘 Click the "MCP Server" button in the Plugins toolbar
- 🟢 Status should show "Connected" when working
🏗️ Architecture Overview
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 ["🛠️ 15 AI Tools"]
FILE["📁 File System<br/>Trees, Content, Search"]
CONTEXT["🎯 Studio Context<br/>Services, Selection"]
PROPS["🔍 Properties<br/>Instances, Children"]
PROJECT["🏢 Project Analysis<br/>Structure, Dependencies"]
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| 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,PROJECT toolStyle
Key Components:
- 🧠 MCP Server (Node.js/TypeScript) - Exposes 15 tools via stdio for AI integration
- 🔗 HTTP Bridge - Request/response queue on localhost:3002 with 30s timeouts
- 🎮 Studio Plugin (Luau) - Polls every 500ms, executes Studio API calls, handles errors
- 📊 Smart Caching - Efficient data transfer with intelligent response limiting
🛠️ 15 Powerful AI Tools
📁 File System Tools
get_file_tree- Complete project hierarchy with scripts, models, foldersget_file_content- Extract source code from any scriptsearch_files- Find files by name, type, or content patternsget_file_properties- Script metadata, parent/child relationships
🎯 Studio Context Tools
get_place_info- Place ID, name, game settings, workspace infoget_services- All Roblox services and their child countsget_selection- Currently selected objects in Studio Explorersearch_objects- Find instances by name, class, or properties
🔍 Instance & Property Tools
get_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 classes
🏢 Project Analysis Tools
get_project_structure- 🆕 AI-Optimized! Smart hierarchy with depth controlget_dependencies- Module dependency mapping and require() analysisvalidate_references- Find broken script references and missing modules
🧠 AI-Optimized Features
Smart Project Structure
- Service Overview Mode: Clean service list with child counts
- Path-based Exploration:
get_project_structure("game.ServerStorage", maxDepth=3) - Script-only Filtering:
scriptsOnly=truefor code analysis - Intelligent Grouping: Large folders auto-group by class type
- Progressive Discovery: Depth limits prevent context bloat
Rich Metadata
- Script Status: Enabled/disabled, source detection, script types
- GUI Intelligence: Text content, visibility, container vs interactive
- Dependency Mapping: Complete require() call analysis
- Reference Validation: 27+ issue types detected automatically
🚀 Development & Testing
Commands
npm 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
Plugin Development
- Live reload: Plugin updates automatically detect server changes
- Error handling: Robust timeout and retry mechanisms
- Debug mode: Detailed logging in Studio Output window
- Connection status: Visual indicators in plugin UI
📊 Communication Protocol
%%{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:
- 🕐 30-second timeouts with exponential backoff
- 🔄 Automatic retries for network issues
- 📏 Response limiting prevents context overflow
- 🎯 Request deduplication for efficiency
🎯 Example Usage
// 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")
🔧 Configuration
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:
- ✅ Allow HTTP Requests (Game Settings → Security)
- 🌐 HttpService.HttpEnabled = true
- 🔌 Plugin activated via toolbar button
📄 License
MIT License - Feel free to use in commercial and personal projects!
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。