Roblox开放云MCP服务器
一个生产形状MCP(模型上下文协议)服务器,它封装了
公共Roblox Open Cloud表面作为AI代理的键入工具。用它
管理体验、无头运行Luau、读写数据存储
和内存商店,运送货币化产品,处理审核,
从Claude Code内部发送体验通知等,
Claude Desktop、Cursor或任何兼容MCP的客户端。
v0.1.1 — 96工具 穿过 18个域名 .
搭配战略 限制.md 那张地图
Open Cloud表面的程序差距。服务器是
对于告诉你你的事情很有用 不能 从Roblox外面做
尽你所能。
快速入门(5分钟)
复制 # 1. Clone and build
git clone https://github.com/kevinswint/roblox-opencloud-mcp-server.git
cd roblox-opencloud-mcp-server
npm install
npm run build
# 2. Create an API key at
# https://create.roblox.com/dashboard/credentials
# with the scopes you need (see "Scopes" below)
# 3. Register with Claude Code (stdio transport)
claude mcp add roblox-opencloud-mcp \
-e ROBLOX_API_KEY=your_key_here \
-- node "$(pwd)/dist/index.js"
# 4. Verify — lists every registered tool
npm run list-tools
现在,您应该可以向Claude Code询问以下问题:
“从中提取用户12345的最后5个数据存储条目
UserProgress 存储在宇宙123456中。”
无需手动点击Creator Hub即可实现。
看 演示.md 对于11个端到端代理流,您可以复制粘贴。
运输方式
标准 (默认,建议用于本地桌面客户端):
复制 ROBLOX_API_KEY=your_key node dist/index.js
超文本传输协议 (用于远程多客户端访问):
复制 TRANSPORT=http ROBLOX_API_KEY=your_key PORT=3000 node dist/index.js
# Server listens on http://localhost:3000/mcp
# Health check: http://localhost:3000/health
两种模式均由官方提供动力 @modelcontextprotocol/sdk —
没有定制运输。通过翻转来交换它们 TRANSPORT.
配置
环境变量
必需
默认
目的
ROBLOX_API_KEY
✅
—
从创建者中心打开云API密钥
TRANSPORT
stdio
stdio 或 http
PORT
3000
仅在以下情况下使用 TRANSPORT=http
工具索引(96个工具)
跑 npm run list-tools 从源重新生成此列表
真相。下面是手动分组视图。
卢执行(2)
工具
它做什么
roblox_execute_luau
针对某个地点提交Luau脚本并返回任务路径
roblox_get_luau_task
轮询Luau任务,直到 COMPLETE 并读取其输出
数据存储(7)
工具
它做什么
roblox_list_data_stores
列出宇宙中的所有数据存储
roblox_list_data_store_entries
列出商店中的条目(密钥)
roblox_get_data_store_entry
按键读取单个条目
roblox_set_data_store_entry
创建或更新条目
roblox_delete_data_store_entry
删除条目
roblox_increment_data_store_entry
原子添加到数字条目中
roblox_list_data_store_entry_revisions
列出以前的修订版本以供审核/回滚
有序数据存储(6)
工具
它做什么
roblox_list_ordered_data_store_entries
按值排序的列表条目
roblox_get_ordered_data_store_entry
读取单个有序条目
roblox_create_ordered_data_store_entry
创建新的订单条目
roblox_update_ordered_data_store_entry
更新已排序条目的值
roblox_increment_ordered_data_store_entry
原子碰撞一个数值
roblox_delete_ordered_data_store_entry
删除已排序的条目
存储器(10)
工具
它做什么
roblox_memory_store_queue_add
使用可选优先级+到期时间对项目进行排队
roblox_memory_store_queue_read
使用不可见窗口取消项目队列
roblox_memory_store_queue_discard
丢弃以前读取的项目
roblox_list_memory_store_sorted_map_items
列出排序后的地图条目
roblox_get_memory_store_sorted_map_item
获取一个已排序的地图条目
roblox_create_memory_store_sorted_map_item
创建新的排序地图条目
roblox_update_memory_store_sorted_map_item
更新现有的已排序地图条目
roblox_delete_memory_store_sorted_map_item
删除已排序的地图条目
roblox_flush_memory_store
清空整个内存存储(异步操作)
roblox_get_memory_store_operation
轮询内存存储中长时间运行的操作
消息传递(1)
工具
它做什么
roblox_publish_message
使用Messaging v2发布到主题(v1回退)
体验与场所管理(5)
工具
它做什么
roblox_get_universe
读取体验元数据
roblox_update_universe
补丁体验设置(名称、可见性、语音等)
roblox_restart_servers
强制重新启动所有正在运行的服务器
roblox_get_place
读取地点元数据
roblox_update_place
补丁位置设置
货币化——开发者产品和游戏通行证(8)
工具
它做什么
roblox_list_developer_products
列出宇宙中的所有开发人员产品
roblox_create_developer_product
创建新的开发人员产品
roblox_get_developer_product
阅读一个开发者产品
roblox_update_developer_product
更新开发人员产品(价格、名称、描述)
roblox_list_game_passes
列出所有游戏通行证
roblox_create_game_pass
创建新的游戏通行证
roblox_get_game_pass
阅读一张游戏通行证
roblox_update_game_pass
更新游戏通行证(价格、名称、描述、待售)
创造者商店产品(2)
工具
它做什么
roblox_get_creator_store_product
阅读Creator Store产品
roblox_update_creator_store_product
更新元数据或基础价格
配置(佐治亚州2026年3月10日)(8)
工具
它做什么
roblox_get_config
读取当前发布的配置
roblox_get_config_draft
阅读未发表的草稿
roblox_update_config_draft
将部分数据合并到草稿中
roblox_replace_config_draft
覆盖整个草稿
roblox_delete_config_draft
放弃草稿
roblox_publish_config
发布当前草稿
roblox_list_config_revisions
列出修订历史记录
roblox_restore_config_revision
将以前的版本还原为当前版本
宇宙秘密(5)
工具
它做什么
roblox_list_secrets
列出宇宙的秘密
roblox_get_secret_public_key
获取宇宙的加密公钥
roblox_create_secret
创建新密码(使用LibSodium密封盒自动加密)
roblox_update_secret
旋转一个秘密值(使用LibSodium密封盒自动加密)
roblox_delete_secret
删除机密
适度——用户限制(4)
工具
它做什么
roblox_list_user_restrictions
列出宇宙中的所有禁令
roblox_get_user_restriction
获取一个用户的禁令详细信息
roblox_update_user_restriction
禁止、取消禁止或延长限制
roblox_list_user_restriction_logs
限制更改的审核日志
资产(10)
工具
它做什么
roblox_upload_asset
上传新资产(多部分)
roblox_get_asset
获取资产元数据
roblox_update_asset
更新元数据或交换文件内容
roblox_list_asset_versions
列出以前的资产版本
roblox_get_asset_version
阅读一个资产版本
roblox_rollback_asset_version
恢复到以前的版本
roblox_archive_asset
从创建者中心隐藏资产
roblox_restore_asset
取消隐藏资产的归档
roblox_get_asset_operation
轮询长时间运行的上传操作
roblox_get_user_asset_quota
读取用户的资产上传配额
团体(9)
工具
它做什么
roblox_get_group
读取组元数据
roblox_list_group_memberships
列出成员
roblox_list_group_roles
列出角色
roblox_get_group_role
获取角色详细信息
roblox_list_group_join_requests
待处理的加入请求
roblox_accept_group_join_request
接受加入请求
roblox_decline_group_join_request
拒绝加入请求
roblox_update_group_membership_role
更改成员的角色
roblox_get_group_shout
阅读群喊
用户和库存(4)
工具
它做什么
roblox_get_user
读取用户资料
roblox_generate_user_thumbnail
启动头像缩略图生成
roblox_get_user_thumbnail_operation
轮询缩略图操作
roblox_list_user_inventory
列出用户的库存项目(可过滤)
徽章(6)
工具
它做什么
roblox_get_badge
读取徽章元数据+统计数据
roblox_list_universe_badges
列出宇宙徽章
roblox_list_user_badges
列出用户拥有的徽章
roblox_get_badge_awarded_date
当用户获得特定徽章时
roblox_get_universe_badge_quota
剩余免费徽章配额
roblox_update_badge
更新徽章元数据(旧版PATCH)
缩略图(5)
工具
它做什么
roblox_get_user_headshots
批量头像头像
roblox_get_game_icons
批量体验图标
roblox_get_asset_thumbnails
批处理资产缩略图
roblox_get_group_icons
批处理组图标
roblox_batch_get_thumbnails
混合型批量请求
通知(1)
工具
它做什么
roblox_send_user_notification
通过模板发送体验通知
生成型人工智能(3)
工具
它做什么
roblox_generate_speech_asset
文本转语音→ 音频资产(异步操作)
roblox_translate_text
将文本翻译成一个或多个语言环境
roblox_get_generative_operation
轮询生成式AI操作
范围
使用实际需要的作用域配置API密钥。服务器
报告一个结构化错误,该错误指向
403 所以你可以毫无猜测地做出反应。
域
范围
卢执行
universe.place.luau-execution-session:read, universe.place.luau-execution-session:write
数据存储(标准)
universe-datastores.objects:list/read/create/update/delete, universe-datastores.versions:list, universe-datastores.control:list/delete/snapshot
有序数据存储
universe.ordered-data-store.scope.entry:read, universe.ordered-data-store.scope.entry:write
内存存储
universe.memory-store.queue:read/write, universe.memory-store.sorted-map:read/write
消息传递
universe.messaging-service:publish
宇宙/地方
universe:read, universe:write
开发者产品
universe.developer-product:read, universe.developer-product:write
游戏通行证
universe.game-pass:read, universe.game-pass:write
创作者商店
creator-store-product:read, creator-store-product:write
配置
universe.creator-configs:read, universe.creator-configs:write
宇宙秘密
universe.secrets:list/read/write/delete
用户限制
universe.user-restriction:read, universe.user-restriction:write
资产
asset:read, asset:write
团体
group:read, group:write
用户/库存
user.inventory-item:read,可选 user.advanced:read, user.social:read
徽章(传统)
legacy-universe.badge:manage-and-spend-robux, legacy-universe.badge:write
缩略图
无 (公共端点)
通知
user.user-notification:write
生成型人工智能(语音)
universe:write, asset:read, asset:write
生成型人工智能(翻译)
universe:write
建筑
复制 src/
├── index.ts — Server init, transport setup, tool registration
├── constants.ts — API base URLs, limits, timeouts
├── types.ts — Shared response-shape interfaces
├── schemas/
│ └── common.ts — Shared Zod schemas (universe_id, pagination, etc.)
├── services/
│ ├── api-client.ts — HTTP client, auth, rate-limited requests, error mapping
│ ├── rate-limiter.ts — Token-bucket, 500 req/min shared ceiling per API key
│ └── logger.ts — Structured JSON-per-line stderr logging
├── scripts/
│ └── list-tools.ts — Discovery harness (`npm run list-tools`)
└── tools/
├── luau-execution.ts
├── data-stores.ts
├── ordered-data-stores.ts
├── memory-stores.ts
├── messaging.ts
├── universes.ts
├── monetization.ts
├── creator-store.ts
├── config.ts
├── secrets.ts
├── user-restrictions.ts
├── assets.ts
├── groups.ts
├── users.ts
├── badges.ts
├── thumbnails.ts
├── notifications.ts
└── generative-ai.ts
每个工具处理程序都要经过:
wrapTool (logger.ts)--记录 (tool_name, input_hash, latency_ms, result_status) 将JSON转换为stderr。Stdout是为MCP协议本身保留的。
rateLimiter.acquire() (rate-limiter.ts)-每个API键在500 req/min共享的开放云上限下的paces调用。当存储桶已满80%以上时,向stderr发出警告。
makeApiRequest (api-client.ts)--添加 x-api-key,应用超时,将结构化API错误解析为可人工读取的消息,这些消息命名了403上缺失的作用域。
truncateResponse --将标记文本响应限制在25000个字符以内,这样MCP客户端就不会被巨大的DataStore blob阻塞。使用 response_format="json" 在需要原始数据时绕过。
故障排除
Error: ROBLOX_API_KEY environment variable is required
在启动服务器之前设置env var。使用Claude Code,使用
claude mcp add ... -- env ROBLOX_API_KEY=....
403 Forbidden: missing scope "..."
API键没有工具所需的作用域。打开
create.roblox.com/dashboard/credentials ,
编辑密钥,添加作用域,保存,然后重试。
429 Too Many Requests
尽管进行了内部起搏,但仍超过了心率限制上限。这通常
意味着另一个进程正在使用相同的API密钥。检查你的
服务器日志记录速率限制警告行,并记录速度减慢或
提供第二把钥匙。
大型响应被截断
服务器将降价响应限制在25000个字符以内以保护
MCP客户端。通过 response_format="json" 绕过盖子。
Luau执行任务卡住 PROCESSING
Luau Execution API仍然是测试版。检查创建者中心→ 账户
设置→ Beta功能→ “开放云Luau执行”已启用
所属用户/组。看 限制.md .
什么没包
看 限制.md 查看Open Cloud的完整地图
该服务器故意不包装(仅cookie API,
测试版不稳定,Creator Hub的长尾功能没有
公共程序界面)。该文件是
这个项目——它将MCP服务器变成了一个可以采取行动的差距分析
上。
许可证
麻省理工学院——见 许可证 .