rbx-studio-mcp

Servidor MCP gratuito y de código abierto para Roblox Studio. Transporte SSE basado en push, ediciones de scripts seguras para el editor, 29 herramientas eficientes en tokens.

Documentación

Roblox Studio MCP

Servidor MCP para Roblox Studio: 29 herramientas sobre un puente basado en push, escrituras por lotes que se deshacen como un solo paso, ediciones de scripts seguras para el editor. MIT.

The Studio MCP panel, showing calls and their latency

Instalación

1. El plugin de Studio

npx -y @el4cteo/rbx-studio-mcp --install-plugin

O descarga StudioMCP.rbxmx desde Releases en tu carpeta de plugins de Studio.

2. El servidor, en el cliente que uses:

Claude Code
claude mcp add roblox-studio -- npx -y @el4cteo/rbx-studio-mcp
Codex CLI
codex mcp add roblox-studio -- npx -y @el4cteo/rbx-studio-mcp
Cursor~/.cursor/mcp.json o .cursor/mcp.json
{
  "mcpServers": {
    "roblox-studio": {
      "command": "npx",
      "args": ["-y", "@el4cteo/rbx-studio-mcp"]
    }
  }
}
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "roblox-studio": {
      "command": "npx",
      "args": ["-y", "@el4cteo/rbx-studio-mcp"]
    }
  }
}
Gemini CLI~/.gemini/settings.json
{
  "mcpServers": {
    "roblox-studio": {
      "command": "npx",
      "args": ["-y", "@el4cteo/rbx-studio-mcp"]
    }
  }
}
Windsurf~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "roblox-studio": {
      "command": "npx",
      "args": ["-y", "@el4cteo/rbx-studio-mcp"]
    }
  }
}
VS Code / Copilot.vscode/mcp.json
{
  "servers": {
    "roblox-studio": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@el4cteo/rbx-studio-mcp"]
    }
  }
}
opencodeopencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "roblox-studio": {
      "type": "local",
      "command": ["npx", "-y", "@el4cteo/rbx-studio-mcp"],
      "enabled": true
    }
  }
}

3. Abre Studio y acepta el mensaje de 127.0.0.1 — el plugin se conecta automáticamente. Verifica con studio_status.

4. debug adicionalmente necesita Debugger Luau API en Archivo → Funciones Beta, más un reinicio de Studio. Nada más lo requiere.

The Debugger Luau API beta feature toggle in Studio

El puerto por defecto es 44755 — cámbialo con --port o ROBLOX_STUDIO_MCP_PORT, y hazlo coincidir en el widget del plugin. Solo loopback.

Múltiples agentes

Registra el servidor en tantos clientes como quieras — el plugin se conecta a un puerto, el primer servidor lo posee y el resto actúa como proxy. Sin configuración, sin segunda conexión de Studio.

Cada agente mantiene su propio objetivo (set_active_studio es por cliente), así dos agentes pueden trabajar en dos lugares abiertos y ninguno puede reorientar al otro. Pasa studioId en una sola llamada para llegar a otro lugar sin cambiar tu predeterminado.

Los subagentes comparten la conexión de su padre y, por tanto, su objetivo — un subagente que llame a set_active_studio reorienta silenciosamente a su padre. Da a los subagentes un studioId explícito por llamada.

Herramientas

Sesiónstudio_status list_studios set_active_studio
Descubrirtree inspect find api
Scriptsscript_read script_edit script_grep script_create
Instanciascreate modify delete move
Mundogeometry assets collision undo
Ejecutar y depurarplaytest execute_luau character input console debug performance
Mirarscreenshot viewport device

Advertencias: durante una prueba de juego se conectan dos sesiones — pasa studioId explícitamente y usa la sesión de edición para cualquier cosa que deba persistir. La emulación de device persiste hasta device op="stop".

Procesamiento por lotes

Cada herramienta de escritura acepta un array — diez ediciones de scripts o doscientas eliminaciones es una sola llamada.

herramientaaceptalímite
createinstancias, cada una anidando children a cualquier profundidad100
modifyentradas, cada una con una lista ilimitada de paths100 entradas
deleterutas200
movemovimientos200
script_editediciones, en cualquier número de scripts50
script_createscripts50
inspectrutas50
inputpasos de entrada, entregados en orden40

modify limita entradas, no objetivos — una entrada puede anclar quinientas partes, así que combínala con find para cambiar un lugar completo en una sola llamada.

Cada lote es una única grabación de ChangeHistoryService: un Ctrl+Z. Los lotes son todo-o-nada — todo se transforma en memoria primero, así que una coincidencia fallida deja el lugar intacto.

Las llamadas paralelas también funcionan (las respuestas se identifican por id de solicitud), pero prefiere un lote: N llamadas paralelas son N viajes de ida y vuelta y N pasos de deshacer, un lote es uno de cada.

Comparado con lo que más existe

herramientastransporteescrituras seguras para el editorgrabación de deshacervolcado de API en vivolicencia
este29SSE pushMIT
Roblox integrado~27stdioparcialn/acódigo cerrado
Chrrxs~40pollnoparcialnoMIT
drgost151poll 500 msnonoMIT
boshyxd43long-pollnononoMIT (archivado)
Roblox/studio-rust-mcp-server2HTTPnononoMIT (superado)
  • Push, no poll — 50 viajes de ida y vuelta secuenciales: 13.6 ms de media vs 25.8 ms, 12.8 ms de mediana vs 29.9 ms (node scripts/latency.mjs --count 50 --compare).
  • Ediciones de scripts segurasScriptEditorService:UpdateSourceAsync, no script.Source; tu buffer de editor sin guardar sobrevive.
  • ~16k tokens de esquema frente a 43–51 herramientas en otros lugares. Paginado por cursor, limitado, detail: concise | standard | full.
  • Volcado de API en vivo — los errores tipográficos en propiedades reciben sugerencias (AnchorredAnchored).

No construido aquí: terreno, generación de mallas de IA y materiales.

Seguridad

Se vincula a 127.0.0.1, rechaza Origin, y requiere una cabecera que un navegador no puede establecer entre orígenes — cerrando el agujero de re-vinculación de DNS. El permiso HTTP se concede por plugin y por URL, así que la configuración "Permitir solicitudes HTTP" de tu experiencia queda intacta.

Desarrollo

npm install
npm run build          # TypeScript -> dist/
npm run build:plugin   # plugin/src -> build/StudioMCP.rbxmx
npm run install:plugin # build + copy into the Studio plugins folder
npm test               # plugin (Luau) + bridge (Node) tests

Necesita luau, luau-compile y luau-analyze de los lanzamientos de Luau en PATH o en tools/.

evals/ contiene diez preguntas que solo pueden responderse conduciendo una sesión real de Studio — ver evals/README.md.

Licencia

MIT.