Gamedev All-in-One MCP
un servidor MCP de código abierto que unifica Roblox Studio, Unity, Unreal Engine y Blender en un único plano de control de IA para flujos de trabajo de desarrollo de juegos.
Documentación
🎮 Gamedev All-in-One MCP
Un Servidor. Cuatro Motores. 67 Herramientas. Cero Fricción.
El primer servidor MCP de código abierto que unifica Roblox Studio, Unity, Unreal Engine y Blender en un único plano de control impulsado por IA.
Inicio Rápido · Características · Arquitectura · Inventario de Herramientas · Panel de Control · Contribuir
"Hey Claude, create a red spinning cube in Unity, then replicate it in Roblox and Blender."
✨ Características
🔧 67 Herramientas MCPDistribuidas en 12 módulos: gestión de escenas, scripting, CRUD de instancias, simulación de física por motor. 🌉 4 Conectores de MotoresPuentes con reconexión automática para Roblox (HTTP), Unity (TCP), Unreal (TCP) y Blender (TCP). 🤖 Consola de IA IntegradaChatea con Claude, GPT-4o o Gemini directamente desde el panel de control: las herramientas se ejecutan automáticamente. |
🖥️ Panel de Control WebMonitoreo SSE en tiempo real en ⚡ Motor de FísicaGravedad por motor, cuerpos rígidos, restricciones, raycasting, simulación de fuerzas/impulsos. 🔌 Compatibilidad UniversalFunciona con Claude Desktop, Cursor, Claude Code, OpenCode, VS Code Copilot y cualquier cliente MCP. |
🎯 Motores Compatibles
|
20 herramientas Puente HTTP Long-Poll Puerto 3002Plugin Luau Incluido |
15 herramientas Puente TCP Socket Puerto 7890EditorWindow en C# |
15 herramientas Puente TCP Socket Puerto 55557Plugin C++ |
13 herramientas Puente TCP Socket Puerto 9876Addon Python |
🚀 Inicio Rápido
# Clone the repo
git clone https://github.com/nicepkg/gamedev-all-in-one.git
cd gamedev-all-in-one
# Install & build
npm install
npm run build
# Start the server
npm run dev
Luego abre http://127.0.0.1:3100 para el panel de control web.
Configuración del Cliente MCP
Añade a la configuración de tu cliente MCP (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"gamedev-all-in-one": {
"command": "node",
"args": ["/absolute/path/to/gamedev-all-in-one/dist/index.js"]
}
}
}
🏗 Arquitectura
graph TB
subgraph Client["🤖 MCP Clients"]
CD[Claude Desktop]
CR[Cursor]
CC[Claude Code]
OC[OpenCode]
VS[VS Code Copilot]
end
subgraph Server["⚡ MCP Server — Node.js"]
FND["🔧 Foundation (4 tools)"]
RBX["🟦 Roblox (20 tools)"]
UNI["⬛ Unity (15 tools)"]
UNR["⬜ Unreal (15 tools)"]
BLN["🟧 Blender (13 tools)"]
WEB["🖥️ Dashboard :3100"]
end
subgraph Engines["🎮 Game Engines"]
RS["Roblox Studio<br/>Luau Plugin"]
UE["Unity Editor<br/>C# EditorWindow"]
UEE["Unreal Editor<br/>C++ Plugin"]
BE["Blender<br/>Python Addon"]
end
Client -->|stdio| Server
RBX -->|"HTTP :3002"| RS
UNI -->|"TCP :7890"| UE
UNR -->|"TCP :55557"| UEE
BLN -->|"TCP :9876"| BE
style Client fill:#1e1b4b,stroke:#6366f1,color:#e0e7ff
style Server fill:#0c4a6e,stroke:#0ea5e9,color:#e0f2fe
style Engines fill:#431407,stroke:#f97316,color:#fff7ed
📦 Inventario de Herramientas (67 herramientas)
🔧 Fundación — 4 herramientas
| Herramienta | Descripción |
|---|---|
project_init | Inicializa el manifiesto del proyecto |
inspect_project | Lee el estado del manifiesto |
doctor | Valida el entorno y los conectores |
list_capabilities | Lista todas las herramientas y el estado de los conectores |
🟦 Roblox — 20 herramientas
| Categoría | Herramientas |
|---|---|
| Núcleo (2) | roblox_run_code · roblox_create_workspace_part |
| Script (4) | roblox_get_script_source · roblox_set_script_source · roblox_edit_script_lines · roblox_grep_scripts |
| Instancia (5) | roblox_create_instance · roblox_delete_instance · roblox_set_property · roblox_clone_instance · roblox_reparent_instance |
| Consulta (4) | roblox_get_instance_properties · roblox_get_instance_children · roblox_search_instances · roblox_get_file_tree |
| Física (5) | roblox_set_gravity · roblox_set_physics · roblox_add_constraint · roblox_raycast · roblox_simulate_physics |
⬛ Unity — 15 herramientas
| Categoría | Herramientas |
|---|---|
| Núcleo (10) | unity_get_hierarchy · unity_get_gameobject · unity_create_gameobject · unity_delete_gameobject · unity_set_component_property · unity_add_component · unity_set_transform · unity_get_script_source · unity_play_mode · unity_execute_menu_item |
| Física (5) | unity_set_gravity · unity_add_rigidbody · unity_add_joint · unity_raycast · unity_apply_force |
⬜ Unreal Engine — 15 herramientas
| Categoría | Herramientas |
|---|---|
| Núcleo (10) | unreal_get_world_outliner · unreal_get_actor · unreal_spawn_actor · unreal_destroy_actor · unreal_set_actor_transform · unreal_set_actor_property · unreal_get_blueprint · unreal_run_python · unreal_play_mode · unreal_get_viewport_screenshot |
| Física (5) | unreal_set_gravity · unreal_set_simulate_physics · unreal_add_physics_constraint · unreal_raycast · unreal_apply_force |
🟧 Blender — 13 herramientas
| Categoría | Herramientas |
|---|---|
| Núcleo (8) | blender_get_scene · blender_get_object · blender_create_object · blender_delete_object · blender_set_transform · blender_set_material · blender_run_python · blender_export |
| Física (5) | blender_set_gravity · blender_setup_rigid_body · blender_add_constraint · blender_bake_physics · blender_apply_force |
🖥️ Panel de Control Web
El panel de control integrado en http://127.0.0.1:3100 cuenta con una interfaz de glassmorphism oscuro:
| Panel | Descripción |
|---|---|
| Estado de Motores | Estado de conexión en tiempo real para los 4 motores con efectos de brillo animados |
| Consola de IA | Chatea con Claude / GPT-4o / Gemini — ejecuta automáticamente herramientas de motores |
| Registro de Herramientas | Las 67 herramientas con puntos de color por motor y búsqueda en vivo |
| Registro de Eventos | Flujo en tiempo real impulsado por SSE de conexiones, llamadas a herramientas y errores |
Proveedores de la Consola de IA
| Proveedor | Modelos |
|---|---|
| Anthropic | Claude Opus 4.6, Claude Sonnet 4.6, Claude Haiku 4.5 |
| OpenAI | GPT-5.4, GPT-5.4 Mini, GPT-5.4 Nano, o3, o4-mini |
| Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash-Lite |
Las claves de API se almacenan solo en localStorage — nunca se envían ni se guardan en el servidor.
🔌 Plugin de Roblox Studio
Se incluye un plugin de un solo archivo listo para producción.
Instalación
- Copia
runtime/roblox-studio-plugin/GamedevAllInOne.server.luaa tu carpeta de Plugins:- Windows:
%LOCALAPPDATA%\Roblox\Plugins\ - Mac:
~/Documents/Roblox/Plugins/
- Windows:
- Reinicia Roblox Studio
- Activa: Game Settings > Security > Allow HTTP Requests = ON
- Inicia el servidor con
npm run dev - El plugin se conecta automáticamente al cargar
Características del Plugin
- 20 manejadores de comandos (CRUD de scripts, CRUD de instancias, física, raycast)
- Handshake automático con el puente al iniciar
- Bucle de comandos HTTP long-poll con solicitudes envueltas en
pcall - Botón en la barra de herramientas para iniciar/detener el runtime
🌉 Arquitectura de Puentes
| Motor | Protocolo | Puerto | Reconexión | Plugin |
|---|---|---|---|---|
| Roblox | HTTP long-poll | 3002 | N/A | Plugin Luau (incluido) |
| Unity | Socket TCP | 7890 | Automática | EditorWindow en C# |
| Unreal | Socket TCP | 55557 | Automática | Plugin C++ |
| Blender | Socket TCP | 9876 | Automática | Addon Python |
Todos los puentes se vinculan solo a
127.0.0.1. Los puentes TCP se reconectan automáticamente con intervalos configurables.
⚙️ Configuración
Variables de Entorno
| Variable | Predeterminado | Descripción |
|---|---|---|
WEB_DASHBOARD_PORT | 3100 | Puerto HTTP del panel de control |
WEB_DASHBOARD_ENABLED | true | Establece false para deshabilitar el panel de control |
ROBLOX_LUAU_BRIDGE_PORT | 3002 | Puerto del puente Luau de Roblox |
UNITY_BRIDGE_PORT | 7890 | Puerto del puente TCP de Unity |
UNREAL_BRIDGE_PORT | 55557 | Puerto del puente TCP de Unreal |
BLENDER_BRIDGE_PORT | 9876 | Puerto del puente TCP de Blender |
🔒 Seguridad
- Solo loopback — todos los puentes se vinculan a
127.0.0.1 - Validación de host — se rechazan solicitudes con cabeceras Host inválidas
- CORS restringido por origen — solo se permiten orígenes localhost
- Límites de tamaño de cuerpo — máximo 1 MiB en el puente Luau, 64 KiB en la API del panel de control
- Validación de entrada — esquemas Zod en todos los endpoints de puentes
- Sin secretos en el servidor — las claves de API viven solo en localStorage del navegador
- Degradación elegante — los conflictos de puerto deshabilitan servicios individuales sin bloquearse
🛠 Desarrollo
npm run dev # Start with tsx (hot reload)
npm run build # TypeScript compile + copy dashboard
npm start # Production mode
npm test # Run tests
Estructura del Proyecto
src/
├── index.ts # Entry point + graceful shutdown
├── version.ts # NAME, VERSION constants
├── server/
│ └── create-server.ts # McpServer + 12 tool module registration
├── connectors/
│ ├── shared/tcp-bridge.ts # Shared TCP bridge (Unity/Unreal/Blender)
│ ├── roblox/index.ts # Roblox detection + command dispatch
│ ├── luau/bridge.ts # HTTP long-poll bridge (hardened)
│ ├── unity/index.ts # Unity detection + TCP bridge
│ ├── unreal/index.ts # Unreal detection + TCP bridge
│ └── blender/index.ts # Blender detection + TCP bridge
├── tools/
│ ├── foundation.ts # 4 foundation tools
│ ├── roblox*.ts # 20 Roblox tools (5 files)
│ ├── unity*.ts # 15 Unity tools (2 files)
│ ├── unreal*.ts # 15 Unreal tools (2 files)
│ └── blender*.ts # 13 Blender tools (2 files)
└── web/
├── server.ts # Dashboard HTTP + SSE + Chat API
├── llm-proxy.ts # Multi-provider LLM with tool execution
└── dashboard.html # Single-file frontend (dark theme)
runtime/
└── roblox-studio-plugin/
└── GamedevAllInOne.server.lua # Production-ready Studio plugin
🤝 Contribuir
¡Las contribuciones son bienvenidas! Así es como empezar:
- Haz un fork del repositorio
- Crea una rama de características:
git checkout -b feat/amazing-feature - Haz commit de tus cambios:
git commit -m 'feat: add amazing feature' - Haz push a la rama:
git push origin feat/amazing-feature - Abre una Pull Request
Áreas en las que Nos Encantaría Ayuda
- 🎮 Plugins de motores — EditorWindow en C# para Unity, plugin C++ para Unreal, addon Python para Blender
- 🧪 Pruebas — pruebas unitarias, pruebas de integración, pruebas E2E de puentes
- 📚 Documentación — tutoriales, recorridos en video, ejemplos de prompts
- 🌐 i18n — traducciones para la interfaz del panel de control
- 🔧 Nuevas herramientas — herramientas de animación, audio, terreno e iluminación por motor
📚 Referencias Ascendentes
Proyectos que inspiraron este trabajo
| Motor | Proyecto | Licencia |
|---|---|---|
| Roblox | boshyxd/robloxstudio-mcp | MIT |
| Roblox | yannyhl/linkedsword-mcp | MIT |
| Roblox | Roblox/studio-rust-mcp-server | Oficial |
| Unity | CoderGamester/mcp-unity | MIT |
| Unity | CoplayDev/unity-mcp | MIT |
| Unreal | chongdashu/unreal-mcp | MIT |
| Unreal | kevinpbuckley/VibeUE | MIT |
| Blender | ahujasid/blender-mcp | MIT |
| Blender | poly-mcp/Blender-MCP-Server | MIT |
| Física | KAIST-M4/MCP-SIM | — |
📄 Licencia
AGPL-3.0-only — consulta LICENSE para más detalles.
- Las mejoras al servidor deben permanecer como código abierto
- Las variantes en red o alojadas no deben convertirse en forks cerrados
- Código ascendente MIT y Apache-2.0 adaptado con atribución preservada