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.

License: AGPL-3.0 Node 20+ TypeScript MCP Tools Engines Status


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 MCP

Distribuidas en 12 módulos: gestión de escenas, scripting, CRUD de instancias, simulación de física por motor.

🌉 4 Conectores de Motores

Puentes con reconexión automática para Roblox (HTTP), Unity (TCP), Unreal (TCP) y Blender (TCP).

🤖 Consola de IA Integrada

Chatea con Claude, GPT-4o o Gemini directamente desde el panel de control: las herramientas se ejecutan automáticamente.

🖥️ Panel de Control Web

Monitoreo SSE en tiempo real en localhost:3100 con interfaz de tema oscuro estilo glassmorphism.

⚡ Motor de Física

Gravedad por motor, cuerpos rígidos, restricciones, raycasting, simulación de fuerzas/impulsos.

🔌 Compatibilidad Universal

Funciona con Claude Desktop, Cursor, Claude Code, OpenCode, VS Code Copilot y cualquier cliente MCP.


🎯 Motores Compatibles




20 herramientas
Puente HTTP Long-Poll
Puerto 3002
Plugin Luau Incluido




15 herramientas
Puente TCP Socket
Puerto 7890
EditorWindow en C#




15 herramientas
Puente TCP Socket
Puerto 55557
Plugin C++




13 herramientas
Puente TCP Socket
Puerto 9876
Addon 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
HerramientaDescripción
project_initInicializa el manifiesto del proyecto
inspect_projectLee el estado del manifiesto
doctorValida el entorno y los conectores
list_capabilitiesLista todas las herramientas y el estado de los conectores
🟦 Roblox — 20 herramientas
CategoríaHerramientas
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íaHerramientas
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íaHerramientas
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íaHerramientas
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:

Web Dashboard

PanelDescripción
Estado de MotoresEstado de conexión en tiempo real para los 4 motores con efectos de brillo animados
Consola de IAChatea con Claude / GPT-4o / Gemini — ejecuta automáticamente herramientas de motores
Registro de HerramientasLas 67 herramientas con puntos de color por motor y búsqueda en vivo
Registro de EventosFlujo en tiempo real impulsado por SSE de conexiones, llamadas a herramientas y errores

Proveedores de la Consola de IA

ProveedorModelos
AnthropicClaude Opus 4.6, Claude Sonnet 4.6, Claude Haiku 4.5
OpenAIGPT-5.4, GPT-5.4 Mini, GPT-5.4 Nano, o3, o4-mini
GoogleGemini 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

  1. Copia runtime/roblox-studio-plugin/GamedevAllInOne.server.lua a tu carpeta de Plugins:
    • Windows: %LOCALAPPDATA%\Roblox\Plugins\
    • Mac: ~/Documents/Roblox/Plugins/
  2. Reinicia Roblox Studio
  3. Activa: Game Settings > Security > Allow HTTP Requests = ON
  4. Inicia el servidor con npm run dev
  5. 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

MotorProtocoloPuertoReconexiónPlugin
RobloxHTTP long-poll3002N/APlugin Luau (incluido)
UnitySocket TCP7890AutomáticaEditorWindow en C#
UnrealSocket TCP55557AutomáticaPlugin C++
BlenderSocket TCP9876AutomáticaAddon 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

VariablePredeterminadoDescripción
WEB_DASHBOARD_PORT3100Puerto HTTP del panel de control
WEB_DASHBOARD_ENABLEDtrueEstablece false para deshabilitar el panel de control
ROBLOX_LUAU_BRIDGE_PORT3002Puerto del puente Luau de Roblox
UNITY_BRIDGE_PORT7890Puerto del puente TCP de Unity
UNREAL_BRIDGE_PORT55557Puerto del puente TCP de Unreal
BLENDER_BRIDGE_PORT9876Puerto 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:

  1. Haz un fork del repositorio
  2. Crea una rama de características: git checkout -b feat/amazing-feature
  3. Haz commit de tus cambios: git commit -m 'feat: add amazing feature'
  4. Haz push a la rama: git push origin feat/amazing-feature
  5. 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
MotorProyectoLicencia
Robloxboshyxd/robloxstudio-mcpMIT
Robloxyannyhl/linkedsword-mcpMIT
RobloxRoblox/studio-rust-mcp-serverOficial
UnityCoderGamester/mcp-unityMIT
UnityCoplayDev/unity-mcpMIT
Unrealchongdashu/unreal-mcpMIT
Unrealkevinpbuckley/VibeUEMIT
Blenderahujasid/blender-mcpMIT
Blenderpoly-mcp/Blender-MCP-ServerMIT
FísicaKAIST-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

Si este proyecto ayuda a tu flujo de trabajo de desarrollo de juegos, dale una ⭐


Hecho con ❤️ por la comunidad de código abierto


Star History Chart