
Gamedev All-in-One MCP
โ 5from dmae97
an open-source MCP server that unifies Roblox Studio, Unity, Unreal Engine, and Blender into a single AI control plane for game development workflows.
๐ฎ Gamedev All-in-One MCP
One Server. Four Engines. 67 Tools. Zero Friction.
The first open-source MCP server that unifies Roblox Studio, Unity, Unreal Engine, and Blender into a single AI-powered control plane.
Quick Start ยท Features ยท Architecture ยท Tool Inventory ยท Dashboard ยท Contributing
"Hey Claude, create a red spinning cube in Unity, then replicate it in Roblox and Blender."โจ Features
๐ง 67 MCP ToolsAcross 12 modules โ scene management, scripting, instance CRUD, physics simulation per engine. ๐ 4 Engine ConnectorsAuto-reconnecting bridges for Roblox (HTTP), Unity (TCP), Unreal (TCP), and Blender (TCP). ๐ค Built-in AI ConsoleChat with Claude, GPT-4o, or Gemini directly from the dashboard โ tools auto-execute. |
๐ฅ๏ธ Web DashboardReal-time SSE monitoring at โก Physics EnginePer-engine gravity, rigid bodies, constraints, raycasting, force/impulse simulation. ๐ Universal CompatibilityWorks with Claude Desktop, Cursor, Claude Code, OpenCode, VS Code Copilot, and any MCP client. |
๐ฏ Supported Engines
|
|
|
|
|
๐ Architecture
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๐ฆ Tool Inventory (67 tools)
๐ง Foundation โ 4 tools
| Tool | Description |
|---|---|
project_init | Initialize project manifest |
inspect_project | Read manifest state |
doctor | Validate environment and connectors |
list_capabilities | List all tools and connector status |
๐ฆ Roblox โ 20 tools
| Category | Tools |
|---|---|
| Core (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 |
| Instance (5) | roblox_create_instance ยท roblox_delete_instance ยท roblox_set_property ยท roblox_clone_instance ยท roblox_reparent_instance |
| Query (4) | roblox_get_instance_properties ยท roblox_get_instance_children ยท roblox_search_instances ยท roblox_get_file_tree |
| Physics (5) | roblox_set_gravity ยท roblox_set_physics ยท roblox_add_constraint ยท roblox_raycast ยท roblox_simulate_physics |
โฌ Unity โ 15 tools
| Category | Tools |
|---|---|
| Core (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 |
| Physics (5) | unity_set_gravity ยท unity_add_rigidbody ยท unity_add_joint ยท unity_raycast ยท unity_apply_force |
โฌ Unreal Engine โ 15 tools
| Category | Tools |
|---|---|
| Core (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 |
| Physics (5) | unreal_set_gravity ยท unreal_set_simulate_physics ยท unreal_add_physics_constraint ยท unreal_raycast ยท unreal_apply_force |
๐ง Blender โ 13 tools
| Category | Tools |
|---|---|
| Core (8) | blender_get_scene ยท blender_get_object ยท blender_create_object ยท blender_delete_object ยท blender_set_transform ยท blender_set_material ยท blender_run_python ยท blender_export |
| Physics (5) | blender_set_gravity ยท blender_setup_rigid_body ยท blender_add_constraint ยท blender_bake_physics ยท blender_apply_force |
๐ฅ๏ธ Web Dashboard
The built-in dashboard at http://127.0.0.1:3100 features a dark glassmorphism UI:
| Panel | Description |
|---|---|
| Engine Status | Real-time connection status for all 4 engines with animated glow effects |
| AI Console | Chat with Claude / GPT-4o / Gemini โ auto-executes engine tools |
| Tool Registry | All 67 tools with color-coded engine dots and live search |
| Event Log | SSE-powered real-time stream of connections, tool calls, and errors |
AI Console Providers
| Provider | Models |
|---|---|
| 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 |
API keys are stored in localStorage only โ never sent to or stored on the server.
๐ Roblox Studio Plugin
A production-ready single-file plugin is included.
Installation
- Copy
runtime/roblox-studio-plugin/GamedevAllInOne.server.luato your Plugins folder:- Windows:
%LOCALAPPDATA%\Roblox\Plugins\ - Mac:
~/Documents/Roblox/Plugins/
- Windows:
- Restart Roblox Studio
- Enable: Game Settings > Security > Allow HTTP Requests = ON
- Start the server with
npm run dev - Plugin auto-connects on load
Plugin Features
- 20 command handlers (script CRUD, instance CRUD, physics, raycast)
- Auto-handshake with bridge on startup
- HTTP long-poll command loop with
pcall-wrapped requests - Toolbar button to start/stop runtime
๐ Bridge Architecture
| Engine | Protocol | Port | Reconnect | Plugin |
|---|---|---|---|---|
| Roblox | HTTP long-poll | 3002 | N/A | Luau plugin (included) |
| Unity | TCP socket | 7890 | Auto | C# EditorWindow |
| Unreal | TCP socket | 55557 | Auto | C++ Plugin |
| Blender | TCP socket | 9876 | Auto | Python Addon |
All bridges bind to
127.0.0.1only. TCP bridges auto-reconnect with configurable intervals.
๐ Security
- Loopback only โ all bridges bind to
127.0.0.1 - Host validation โ requests with invalid Host headers are rejected
- Origin-restricted CORS โ only localhost origins permitted
- Body size limits โ 1 MiB max on Luau bridge, 64 KiB on dashboard API
- Input validation โ Zod schemas on all bridge endpoints
- No server-side secrets โ API keys live in browser localStorage only
- Graceful degradation โ port conflicts disable individual services without crashing
๐ Development
npm run dev # Start with tsx (hot reload)
npm run build # TypeScript compile + copy dashboard
npm start # Production mode
npm test # Run testsProject Structure
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๐ค Contributing
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feat/amazing-feature - Commit your changes:
git commit -m 'feat: add amazing feature' - Push to the branch:
git push origin feat/amazing-feature - Open a Pull Request
Areas We'd Love Help With
- ๐ฎ Engine plugins โ C# EditorWindow for Unity, C++ plugin for Unreal, Python addon for Blender
- ๐งช Tests โ unit tests, integration tests, E2E bridge tests
- ๐ Docs โ tutorials, video walkthroughs, example prompts
- ๐ i18n โ translations for the dashboard UI
- ๐ง New tools โ animation, audio, terrain, lighting tools per engine
๐ Upstream References
Projects that inspired this work
| Engine | Project | License |
|---|---|---|
| Roblox | boshyxd/robloxstudio-mcp | MIT |
| Roblox | yannyhl/linkedsword-mcp | MIT |
| Roblox | Roblox/studio-rust-mcp-server | Official |
| 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 |
| Physics | KAIST-M4/MCP-SIM | โ |
๐ License
AGPL-3.0-only โ see LICENSE for details.
- Improvements to the server must remain open source
- Networked or hosted variants must not become closed forks
- MIT and Apache-2.0 upstream code adapted with attribution preserved
# 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๐ Quick Start
# 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 devThen open http://127.0.0.1:3100 for the web dashboard.
MCP Client Configuration
Add to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"gamedev-all-in-one": {
"command": "node",
"args": ["/absolute/path/to/gamedev-all-in-one/dist/index.js"]
}
}
}โ๏ธ Configuration
Environment Variables
| Variable | Default | Description |
|---|---|---|
WEB_DASHBOARD_PORT | 3100 | Dashboard HTTP port |
WEB_DASHBOARD_ENABLED | true | Set false to disable dashboard |
ROBLOX_LUAU_BRIDGE_PORT | 3002 | Roblox Luau bridge port |
UNITY_BRIDGE_PORT | 7890 | Unity TCP bridge port |
UNREAL_BRIDGE_PORT | 55557 | Unreal TCP bridge port |
BLENDER_BRIDGE_PORT | 9876 | Blender TCP bridge port |
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under AGPL-3.0โ you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub โ