[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-84337":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":20,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":27,"readmeContent":28,"aiSummary":9,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":29,"discoverSource":30},84337,"Unreal_mcp","ChiR24\u002FUnreal_mcp","ChiR24","A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine through the native C++ Automation Bridge plugin. Built with TypeScript and C++.",null,"https:\u002F\u002Fgithub.com\u002FChiR24\u002FUnreal_mcp","C++",699,129,8,7,0,2,6,10.34,false,"main",[23,24,25,26],"mcp","mcp-server","unreal-engine","unreal-engine-5","2026-06-12 02:04:39","# Unreal Engine MCP Server\n\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n[![NPM Package](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Funreal-engine-mcp-server)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Funreal-engine-mcp-server)\n[![MCP SDK](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMCP%20SDK-TypeScript-blue)](https:\u002F\u002Fgithub.com\u002Fmodelcontextprotocol\u002Fsdk)\n[![Unreal Engine](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FUnreal%20Engine-5.0--5.8-orange)](https:\u002F\u002Fwww.unrealengine.com\u002F)\n[![MCP Registry](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMCP%20Registry-Published-green)](https:\u002F\u002Fregistry.modelcontextprotocol.io\u002F)\n[![Project Board](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProject-Roadmap-blueviolet?logo=github)](https:\u002F\u002Fgithub.com\u002Fusers\u002FChiR24\u002Fprojects\u002F3)\n[![Discussions](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscussions-Join-brightgreen?logo=github)](https:\u002F\u002Fgithub.com\u002FChiR24\u002FUnreal_mcp\u002Fdiscussions)\n\nA comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal Engine through a native C++ Automation Bridge plugin. Built with TypeScript and C++.\n\n---\n\n## Table of Contents\n\n- [Features](#features)\n- [Getting Started](#getting-started)\n- [Configuration](#configuration)\n- [Available Tools](#available-tools)\n- [Docker](#docker)\n- [Documentation](#documentation)\n- [Community](#community)\n- [Development](#development)\n- [Contributing](#contributing)\n\n---\n\n## Features\n\n| Category | Capabilities |\n|----------|-------------|\n| **Asset Management** | Browse, import, duplicate, rename, delete assets; create materials |\n| **Actor Control** | Spawn, delete, transform, physics, tags, components |\n| **Editor Control** | PIE sessions, camera, viewport, screenshots, bookmarks |\n| **Level Management** | Load\u002Fsave levels, streaming, lighting |\n| **Animation & Physics** | Animation BPs, state machines, ragdolls, vehicles, constraints |\n| **Visual Effects** | Niagara particles, GPU simulations, procedural effects, debug shapes |\n| **Sequencer** | Cinematics, timeline control, camera animations, keyframes |\n| **Graph Editing** | Blueprint, Niagara, Material, and Behavior Tree graph manipulation |\n| **Audio** | Sound cues, audio components, sound mixes, ambient sounds |\n| **System** | Console commands, UBT, tests, logs, project settings, CVars |\n\n### Architecture\n\n- **Native C++ Automation** — All operations route through the MCP Automation Bridge plugin\n- **Dual Transport** — Native HTTP\u002FSSE (no bridge needed) or WebSocket via TypeScript bridge\n- **Dynamic Type Discovery** — Runtime introspection for lights, debug shapes, and sequencer tracks\n- **Graceful Degradation** — Server starts even without an active Unreal connection\n- **On-Demand Connection** — Retries automation handshakes with exponential backoff\n- **Command Safety** — Blocks dangerous console commands with pattern-based validation\n- **Capability Token Auth** — Optional token-based authentication for both WS and HTTP transports\n- **Asset Caching** — 10-second TTL for improved performance\n- **Metrics Rate Limiting** — Per-IP rate limiting (60 req\u002Fmin) on Prometheus endpoint\n- **Centralized Configuration** — Unified class aliases and type definitions\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n- **Unreal Engine** 5.0–5.8 (5.8 preview validated)\n\nChoose your transport:\n- **Option A: Native MCP** (recommended) — no additional dependencies\n- **Option B: TypeScript Bridge** — requires **Node.js** 18+\n\n### Step 1: Install MCP Server (Option B only — skip for Native MCP)\n\n> Skip this step if using **Option A: Native MCP Transport** ([Step 4A](#option-a-native-mcp-transport-direct-http--no-bridge-needed) below).\n\n**NPX (Recommended):**\n```bash\nnpx unreal-engine-mcp-server\n```\n\n**Clone & Build:**\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FChiR24\u002FUnreal_mcp.git\ncd Unreal_mcp\nnpm install\nnpm run build\nnode dist\u002Fcli.js\n```\n\n### Step 2: Install Unreal Plugin\n\nThe MCP Automation Bridge plugin is included at `Unreal_mcp\u002Fplugins\u002FMcpAutomationBridge`.\n\n#### From source (requires a project with code target)\n\nYour project must have a code target (`.sln` or `.xcworkspace`).\nBlueprint-only projects cannot compile native plugins — to convert, add any class via **Tools > New C++ Class** in the editor.\n\n**Method 1: Copy Folder**\n```text\nCopy:  Unreal_mcp\u002Fplugins\u002FMcpAutomationBridge\u002F\nTo:    YourUnrealProject\u002FPlugins\u002FMcpAutomationBridge\u002F\n```\n\n**Method 2: External Plugin Directory (no copy needed)**\n1. Open Unreal Editor → **Edit → Plugins**\n2. Click **Plugin Directories** (bottom-left)\n3. In **Additional Plugin Directories**, add the path to `Unreal_mcp\u002Fplugins\u002F`\n4. Restart the editor — the plugin will be picked up from the external location\n\nThis saves the path in your `.uproject` file so the plugin stays linked without copying.\n\nThe plugin compiles automatically when you open the project — UE detects the `.uplugin` + `Source\u002F` and runs UnrealBuildTool.\n\n**Video Guide:**\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fd8b86ebc-4364-48c9-9781-de854bf3ef7d\n\n> ⚠️ **First-Time Project Open:** UE may prompt *\"Would you like to rebuild them now?\"* — click **Yes**. If instead you see *\"Missing Modules — McpAutomationBridge. Engine modules cannot be compiled at runtime. Please build through your IDE.\"* — open your project in **Visual Studio** (Win) or **Xcode** (Mac) and build from there. After that, the editor will open normally with the plugin loaded.\n\n#### Pre-built (works with any project, including Blueprint-only)\n\nBuild the plugin once, then distribute the compiled binaries — no IDE or compilation needed on the target machine.\n\n**1. Build:**\n```bash\n# macOS \u002F Linux\n.\u002Fscripts\u002Fpackage-plugin.sh \u002Fpath\u002Fto\u002FUE_5.6\n\n# Windows\nscripts\\package-plugin.bat C:\\Path\\To\\UE_5.6\n```\n\nThis produces a zip like `McpAutomationBridge-v0.5.30-UE5.6-Mac.zip`.\n\n**2. Install:** unzip into `YourProject\u002FPlugins\u002F` and open the project. That's it — no compilation step.\n\n> Note: pre-built binaries are tied to a specific UE version. A build for 5.6 won't work with 5.5, 5.7, or 5.8.\n\n### Step 3: Enable Required Plugins\n\nEnable via **Edit → Plugins**, then restart the editor.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Core Plugins (Required)\u003C\u002Fb>\u003C\u002Fsummary>\n\n| Plugin | Required For |\n|--------|--------------|\n| **MCP Automation Bridge** | All automation operations |\n| **Python Editor Script Plugin** | Python-backed editor automation helpers |\n| **Editor Scripting Utilities** | Asset\u002FActor subsystem operations |\n| **Niagara** | Visual effects and particle systems |\n| **Gameplay Abilities** | `manage_gas` operations |\n| **Smart Objects** | AI smart object operations |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Optional Plugins (Auto-enabled)\u003C\u002Fb>\u003C\u002Fsummary>\n\n| Plugin | Required For |\n|--------|--------------|\n| **Level Sequence Editor** | `manage_sequence` operations |\n| **Control Rig** | `animation_physics` operations |\n| **GeometryScripting** | `manage_geometry` operations |\n| **Behavior Tree Editor** | `manage_ai` Behavior Tree operations |\n| **Niagara Editor** | Niagara authoring |\n| **Environment Query Editor** | AI\u002FEQS operations |\n| **MetaSound** | `manage_audio` MetaSound authoring |\n| **StateTree** | `manage_ai` State Tree operations |\n| **Enhanced Input** | `manage_networking` input mapping operations |\n| **Chaos Cloth** | Cloth simulation |\n| **Interchange** | Asset import\u002Fexport |\n| **Data Validation** | Data validation |\n| **PCG** | `manage_pcg` graph authoring and execution when enabled for the build |\n| **Procedural Mesh Component** | Procedural geometry |\n| **OnlineSubsystem** | Session\u002Fnetworking operations |\n| **OnlineSubsystemUtils** | Session\u002Fnetworking operations |\n\n\u003C\u002Fdetails>\n\n> 💡 Optional plugins are auto-enabled by the MCP Automation Bridge plugin when needed.\n> PCG support is compiled for source projects when the project explicitly enables PCG. Versioned release packages for UE 5.2+ include PCG support.\n\n### Step 4: Configure MCP Client\n\n#### Option A: Native MCP Transport (Direct HTTP — no bridge needed)\n\nThe plugin includes a built-in MCP Streamable HTTP server. AI clients connect directly to the plugin over HTTP — no TypeScript bridge, no Node.js, no npm.\n\n**Enable in Unreal:**\n1. **Edit > Project Settings > Plugins > MCP Automation Bridge**\n2. Check **Enable Native MCP**\n3. Set port (default: `3000`)\n4. Optionally set **Native MCP Instructions** for project-specific guidance\n5. Restart the editor\n\n**Configure your MCP client** to use Streamable HTTP transport at:\n```\nhttp:\u002F\u002Flocalhost:3000\u002Fmcp\n```\n\n**Claude Code:**\n```bash\nclaude mcp add unreal-engine --transport http http:\u002F\u002Flocalhost:3000\u002Fmcp\n```\n\nOr manually in `~\u002F.claude\u002Fsettings.json` or project `.mcp.json`:\n```json\n{\n  \"mcpServers\": {\n    \"unreal-engine\": {\n      \"type\": \"url\",\n      \"url\": \"http:\u002F\u002Flocalhost:3000\u002Fmcp\"\n    }\n  }\n}\n```\n\n**Cursor** (`.cursor\u002Fmcp.json`):\n```json\n{\n  \"mcpServers\": {\n    \"unreal-engine\": {\n      \"url\": \"http:\u002F\u002Flocalhost:3000\u002Fmcp\"\n    }\n  }\n}\n```\n\n**Verify it works:**\n- **Status bar** — look for `● MCP :3000 (2)` in the bottom-right of the editor. Green dot = server running, number in parens = active sessions. Click it to open settings.\n- **Output Log** — filter by `LogMcpNativeTransport` to see connections, tool calls, and session activity:\n  ```\n  LogMcpNativeTransport: Native MCP server started on http:\u002F\u002Flocalhost:3000\u002Fmcp\n  LogMcpNativeTransport: MCP session initialized: ... (client: claude-code 2.1.92, active sessions: 1)\n  LogMcpNativeTransport: tools\u002Fcall: inspect (RequestId=...)\n  LogMcpNativeTransport: tools\u002Fcall completed: ... (tool=inspect, success=true)\n  ```\n\nFeatures:\n- SSE streaming for real-time progress during long operations\n- Multiple concurrent sessions (Cursor + Claude Code + others simultaneously)\n- Dynamic tool management — core tools load by default, enable more via `manage_tools`\n- Python execution via `execute_python` action (inline code or .py files)\n- Capability token authentication — enable in project settings for network security\n\n#### Option B: TypeScript Bridge (stdio — classic setup)\n\nAdd to your Claude Desktop \u002F Cursor config file:\n\n**Using Clone\u002FBuild:**\n```json\n{\n  \"mcpServers\": {\n    \"unreal-engine\": {\n      \"command\": \"node\",\n      \"args\": [\"path\u002Fto\u002FUnreal_mcp\u002Fdist\u002Fcli.js\"],\n      \"env\": {\n        \"UE_PROJECT_PATH\": \"C:\u002FPath\u002FTo\u002FYourProject\",\n        \"MCP_AUTOMATION_PORT\": \"8091\"\n      }\n    }\n  }\n}\n```\n\n**Using NPX:**\n```json\n{\n  \"mcpServers\": {\n    \"unreal-engine\": {\n      \"command\": \"npx\",\n      \"args\": [\"unreal-engine-mcp-server\"],\n      \"env\": {\n        \"UE_PROJECT_PATH\": \"C:\u002FPath\u002FTo\u002FYourProject\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## Configuration\n\n### Environment Variables\n\n```env\n# Required\nUE_PROJECT_PATH=\"C:\u002FPath\u002FTo\u002FYourProject\"\n\n# Automation Bridge\nMCP_AUTOMATION_HOST=127.0.0.1\nMCP_AUTOMATION_PORT=8091\n\n# LAN Access (optional)\n# SECURITY: Set to true to allow binding to non-loopback addresses (e.g., 0.0.0.0)\n# Only enable if you understand the security implications.\nMCP_AUTOMATION_ALLOW_NON_LOOPBACK=false\n\n# Logging\nLOG_LEVEL=info  # debug | info | warn | error\n\n# Optional\nMCP_CONNECTION_TIMEOUT_MS=5000\nMCP_REQUEST_TIMEOUT_MS=120000\nASSET_LIST_TTL_MS=10000\n\n# Optional Prometheus metrics endpoint\n# Loopback-only by default. Non-loopback metrics requires both explicit opt-in and a token.\n# MCP_METRICS_PORT=9100\n# MCP_METRICS_HOST=127.0.0.1\n# MCP_METRICS_ALLOW_NON_LOOPBACK=false\n# MCP_METRICS_TOKEN=change-me\n\n# Custom content mount points (comma-separated)\n# Plugins with CanContainContent register mount points beyond \u002FGame\u002F.\n# MCP_ADDITIONAL_PATH_PREFIXES=\u002FProjectObject\u002F,\u002FProjectAnimation\u002F\n```\n\n### LAN Access Configuration\n\nBy default, the automation bridge only binds to loopback addresses (127.0.0.1) for security. To enable access from other machines on your network:\n\n**TypeScript (MCP Server):**\n```env\nMCP_AUTOMATION_ALLOW_NON_LOOPBACK=true\nMCP_AUTOMATION_HOST=0.0.0.0\n```\n\n**Unreal Engine Plugin:**\n1. Go to **Edit → Project Settings → Plugins → MCP Automation Bridge**\n2. Under **Security**, enable **\"Allow Non Loopback\"**\n3. Under **Connection**, set **\"Listen Host\"** to `0.0.0.0`\n4. Restart the editor\n\n⚠️ **Security Warning:** Enabling LAN access exposes the automation bridge to your local network. Only use on trusted networks with appropriate firewall rules. **Enable capability token authentication** (`Require Capability Token` in project settings) to prevent unauthorized access when using LAN mode.\n\n---\n\n## Available Tools\n\n**23 exposed MCP tools** in broad all-tools mode. Related actions live directly on their parent tools so clients load less context without losing capabilities.\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Core Tools\u003C\u002Fb>\u003C\u002Fsummary>\n\n| Tool | Description |\n|------|-------------|\n| `manage_asset` | Assets, Materials, Render Targets, Behavior Trees |\n| `manage_blueprint` | Blueprints, SCS components, graph editing, UMG widgets, layout, bindings, animations |\n| `control_actor` | Spawn, delete, transform, physics, tags |\n| `control_editor` | PIE, Camera, viewport, screenshots |\n| `manage_level` | Load\u002Fsave, streaming, lighting |\n| `system_control` | UBT, Tests, Logs, Project Settings, CVars, Python Execution |\n| `inspect` | Object Introspection |\n| `manage_tools` | Dynamic tool management (enable\u002Fdisable at runtime) |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>World Building\u003C\u002Fb>\u003C\u002Fsummary>\n\n| Tool | Description |\n|------|-------------|\n| `build_environment` | Landscapes, foliage, procedural terrain, lighting, spline roads\u002Frivers\u002Ffences |\n| `manage_level_structure` | Levels, sublevels, World Partition, streaming, data layers, HLOD, volumes |\n| `manage_geometry` | Procedural mesh creation and editing with Geometry Script |\n| `manage_pcg` | PCG graph assets, subgraphs, input\u002Fsampler\u002Ffilter\u002Fspawner nodes, pin connections, execution, partition grid size, and node settings |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Gameplay Systems\u003C\u002Fb>\u003C\u002Fsummary>\n\n| Tool | Description |\n|------|-------------|\n| `animation_physics` | Animation BPs, skeletons, sockets, physics assets, cloth, vehicles, ragdolls, Control Rig, IK |\n| `manage_effect` | Niagara, particles, debug shapes, GPU simulations |\n| `manage_gas` | Gameplay Ability System: abilities, effects, attributes |\n| `manage_character` | Character creation, movement, advanced locomotion |\n| `manage_combat` | Weapons, projectiles, damage, melee combat |\n| `manage_ai` | AI controllers, Behavior Trees, EQS, perception, State Trees, Smart Objects, NavMesh\u002Fpathfinding |\n| `manage_inventory` | Items, equipment, loot tables, crafting |\n| `manage_interaction` | Interactables, destructibles, triggers |\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Utility\u003C\u002Fb>\u003C\u002Fsummary>\n\n| Tool | Description |\n|------|-------------|\n| `manage_audio` | Audio Assets, Components, Sound Cues, MetaSounds, Attenuation |\n| `manage_sequence` | Sequencer, cinematics, bindings, tracks, playback, keyframes |\n| `manage_networking` | Replication, RPCs, network prediction, sessions, split-screen, LAN\u002Fvoice, game framework, input mappings |\n\n\u003C\u002Fdetails>\n### Supported Asset Types\n\nBlueprints • Materials • Textures • Static Meshes • Skeletal Meshes • Levels • Sounds • Particles • Niagara Systems • Behavior Trees\n\n---\n\n## Docker\n\n```bash\ndocker build -t unreal-mcp .\ndocker run -it --rm -e UE_PROJECT_PATH=\u002Fproject unreal-mcp\n```\n\n---\n\n## Documentation\n\n| Document | Description |\n|----------|-------------|\n| [Handler Mappings](docs\u002Fhandler-mapping.md) | TypeScript to C++ routing |\n| [Plugin Extension](docs\u002Feditor-plugin-extension.md) | C++ plugin architecture |\n| [Testing Guide](docs\u002Ftesting-guide.md) | How to run and write tests |\n| [Roadmap](docs\u002FRoadmap.md) | Development phases |\n\n\n---\n\n## Development\n\n```bash\nnpm run build       # Build TypeScript\nnpm run lint        # Run ESLint\nnpm run test:unit   # Run unit tests\nnpm run test:all    # Run all tests\n```\n\n---\n\n## Community\n\n| Resource | Description |\n|----------|-------------|\n| [Project Roadmap](https:\u002F\u002Fgithub.com\u002Fusers\u002FChiR24\u002Fprojects\u002F3) | Track development progress across 48 phases |\n| [Discussions](https:\u002F\u002Fgithub.com\u002FChiR24\u002FUnreal_mcp\u002Fdiscussions) | Ask questions, share ideas, get help |\n| [Issues](https:\u002F\u002Fgithub.com\u002FChiR24\u002FUnreal_mcp\u002Fissues) | Report bugs and request features |\n\n---\n\n## Contributing\n\nContributions welcome! Please:\n- Include reproduction steps for bugs\n- Keep PRs focused and small\n- Follow existing code style\n\n---\n\n## License\n\nMIT — See [LICENSE](LICENSE)\n","2026-06-11 04:12:51","trending"]