返回市场
罗布乐思工作室-MCP

罗布乐思工作室-MCP

作者:boshyxd41 星标更新:2025-11-04

项目介绍

Roblox Studio MCP 服务器

用于AI驱动的Roblox Studio集成的MCP服务器。包含18个专用工具,用于探索项目、分析脚本和执行批量操作。

<a href="https://glama.ai/mcp/servers/@boshyxd/robloxstudio-mcp"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=2377272120,703939671&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Roblox Studio Server MCP 服务器" /> </a>

快速开始

对于Claude Code用户:

claude mcp add robloxstudio -- npx -y robloxstudio-mcp

对于其他MCP客户端(如Claude Desktop等):

{
  "mcpServers": {
    "robloxstudio-mcp": {
      "command": "npx",
      "args": ["-y", "robloxstudio-mcp"],
      "description": "高级的Roblox Studio与AI助手集成"
    }
  }
}
<details> <summary>针对Windows原生用户的注意事项</summary> 如果您遇到问题,可能需要通过`cmd`运行它。更新您的配置如下:
{
  "mcpServers": {
    "robloxstudio-mcp": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "robloxstudio-mcp@latest"]
    }
  }
}
</details>

Studio 插件设置(必需)

MCP服务器需要一个配套的Roblox Studio插件:

  1. Roblox创作者商店

  2. 手动下载

    • 下载 MCPPlugin.rbxmx
    • 保存到您的 %LOCALAPPDATA%/Roblox/Plugins 文件夹
  3. 高级设置

安装后:

  • 在游戏设置 > 安全 中启用“允许HTTP请求”
  • 点击插件工具栏中的“MCP服务器”按钮
  • 当工作时,状态应显示“已连接”

架构概述

双组件系统,连接Roblox Studio与AI助手:

%%{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环境"]
        AI["AI助手<br/>Claude Code/Desktop"]
        MCP["MCP服务器<br/>Node.js + TypeScript"]
    end
    
    subgraph COMM_LAYER ["通信层"]
        HTTP["HTTP桥接器<br/>localhost:3002"]
        QUEUE["请求队列<br/>UUID跟踪"]
    end
    
    subgraph STUDIO_ENV ["Roblox Studio环境"]
        PLUGIN["Studio插件<br/>Luau脚本"]
        STUDIO["Roblox Studio<br/>API及数据"]
    end
    
    subgraph TOOLS ["18个AI工具"]
        FILE["文件系统<br/>树形结构,搜索"]
        CONTEXT["Studio上下文<br/>服务,对象"]
        PROPS["属性<br/>获取,设置,批量操作"]
        CREATE["对象创建<br/>单个,批量,属性"]
        PROJECT["项目分析<br/>智能结构"]
    end
    
    AI -->|stdio| MCP
    MCP -->|HTTP POST| HTTP
    HTTP -->|Queue Request| QUEUE
    PLUGIN -->|每500毫秒轮询| HTTP
    HTTP -->|待处理工作| PLUGIN
    PLUGIN -->|执行API| STUDIO
    STUDIO -->|返回数据| PLUGIN
    PLUGIN -->|HTTP响应| HTTP
    HTTP -->|解析Promise| MCP
    MCP -->|工具结果| AI
    
    MCP -.->|暴露| FILE
    MCP -.->|暴露| CONTEXT  
    MCP -.->|暴露| PROPS
    MCP -.->|暴露| CREATE
    MCP -.->|暴露| 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

关键组件:

  • MCP服务器(Node.js/TypeScript) - 通过stdio暴露18个工具
  • HTTP桥接器 - 请求/响应队列在localhost:3002上
  • Studio插件(Luau) - 轮询服务器并执行API调用
  • 智能缓存 - 高效的数据传输

18个AI工具

文件系统工具

  • get_file_tree - 完整的项目层次结构,包括脚本、模型、文件夹
  • search_files - 根据名称、类型或内容模式查找文件

Studio上下文工具

  • get_place_info - 地点ID、名称、游戏设置、工作区信息
  • get_services - 所有Roblox服务及其子项数量
  • search_objects - 根据名称、类或属性查找实例

实例及属性工具

  • get_instance_properties - 任何对象的完整属性列表
  • get_instance_children - 子对象及其元数据
  • search_by_property - 查找具有特定属性值的对象
  • get_class_info - Roblox类可用的属性/方法

属性修改工具

  • set_property - 设置Roblox实例上的属性
  • mass_set_property - 在多个实例上设置相同的属性
  • mass_get_property - 从多个实例中获取相同的属性

对象创建工具

  • create_object - 创建新的Roblox对象实例
  • create_object_with_properties - 创建带有初始属性的对象
  • mass_create_objects - 一次创建多个对象
  • mass_create_objects_with_properties - 创建多个带有属性的对象
  • delete_object - 删除Roblox对象实例

项目分析工具

  • get_project_structure - 智能层次结构,深度控制(推荐:5-10)

注意:先前的工具已移除:get_file_contentget_file_propertiesget_selectionget_dependenciesvalidate_references。请使用Rojo/Argon工作流代替。

AI优化功能

批量操作(v1.3.0)

  • 批量属性编辑
  • 批量对象创建
  • 批量属性读取
  • 原子撤销/重做操作
// 示例:将多个部分设置为红色
mass_set_property(["game.Workspace.Part1", "game.Workspace.Part2"], "BrickColor", "Really red")

智能项目结构

  • 带子项数量的服务概览
  • 基于路径的探索:get_project_structure("game.ServerStorage", maxDepth=5)
  • 仅过滤脚本以进行代码分析
  • 大文件夹的智能分组
  • 推荐最大深度为5-10

丰富的元数据

  • 脚本状态跟踪
  • GUI智能
  • 性能优化

开发与测试

命令

npm run dev         # 开发服务器,支持热重载  
npm run build       # 生产构建
npm start           # 运行构建好的服务器
npm run lint        # ESLint代码质量检查
npm run typecheck   # TypeScript验证

插件开发

  • 实时重载
  • 强大的错误处理
  • 调试日志记录
  • 视觉状态指示器

通信协议

%%{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助手
    participant MCP as MCP服务器  
    participant HTTP as HTTP桥接器
    participant PLUGIN as Studio插件
    participant STUDIO as Roblox Studio
    
    Note over AI,STUDIO: 工具请求流程
    
    AI->>+MCP: 调用工具(例如,get_file_tree)
    MCP->>+HTTP: 使用UUID排队请求
    HTTP->>HTTP: 存储在待处理请求映射中
    HTTP-->>-MCP: 请求已排队
    
    Note over PLUGIN: 每500毫秒轮询
    PLUGIN->>+HTTP: GET /poll
    HTTP->>-PLUGIN: 返回待处理请求+UUID
    
    PLUGIN->>+STUDIO: 执行Studio API
    Note over STUDIO: game.ServerStorage<br/>选择:Get()<br/>实例属性
    STUDIO->>-PLUGIN: 返回Studio数据
    
    PLUGIN->>+HTTP: POST /response with UUID + 数据
    HTTP->>-MCP: 使用数据解析Promise
    MCP->>-AI: 返回工具结果
    
    Note over AI,STUDIO: 错误处理
    
    alt 请求超时(30秒)
        HTTP->>MCP: 由于超时拒绝Promise
        MCP->>AI: 返回错误消息
    end
    
    alt 插件断开连接
        PLUGIN->>HTTP: 连接丢失
        HTTP->>HTTP: 指数退避重试
        Note over PLUGIN: 状态:"等待服务器..."
    end

特性:

  • 30秒超时,指数退避
  • 自动重试
  • 响应限制
  • 请求去重

示例用法

// 获取服务概览
get_project_structure()

// 探索武器文件夹
get_project_structure("game.ServerStorage.Weapons", maxDepth=2)

// 查找所有Sound对象  
search_by_property("ClassName", "Sound")

// 检查脚本依赖
get_dependencies("game.ServerScriptService.MainScript")

// 查找损坏的引用
validate_references()

// 获取UI组件详细信息
get_instance_properties("game.StarterGui.MainMenu.SettingsFrame")

配置

环境变量:

  • MCP_SERVER_PORT - MCP服务器端口(默认:stdio)
  • HTTP_SERVER_PORT - HTTP桥接器端口(默认:3002)
  • PLUGIN_POLL_INTERVAL - 插件轮询频率(默认:500毫秒)
  • REQUEST_TIMEOUT - 请求超时(默认:30000毫秒)

Studio设置:

  • 允许HTTP请求(游戏设置 > 安全)
  • HttpService.HttpEnabled = true
  • 通过工具栏按钮激活插件

许可证

MIT许可证 - 欢迎在商业和个人项目中使用!