Roblox Studio MCP Server

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.

Category
访问服务器

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:

  1. Roblox Creator Store (Easiest ⭐):

    • Install from: https://create.roblox.com/store/asset/132985143757536
    • Click "Install" → Opens in Studio automatically
  2. Manual download:

    • Download MCPPlugin.rbxmx
    • Save to your %LOCALAPPDATA%/Roblox/Plugins folder
  3. Advanced setup:

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, folders
  • get_file_content - Extract source code from any script
  • search_files - Find files by name, type, or content patterns
  • get_file_properties - Script metadata, parent/child relationships

🎯 Studio Context Tools

  • get_place_info - Place ID, name, game settings, workspace info
  • get_services - All Roblox services and their child counts
  • get_selection - Currently selected objects in Studio Explorer
  • search_objects - Find instances by name, class, or properties

🔍 Instance & Property Tools

  • get_instance_properties - Complete property dump for any object
  • get_instance_children - Child objects with metadata (scripts, GUI types, etc.)
  • search_by_property - Find objects with specific property values
  • get_class_info - Available properties/methods for Roblox classes

🏢 Project Analysis Tools

  • get_project_structure - 🆕 AI-Optimized! Smart hierarchy with depth control
  • get_dependencies - Module dependency mapping and require() analysis
  • validate_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=true for 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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选