execute_python_codeLABSCO SUMMARY
It deliberately does not duplicate the engine's own tools — it fills the gaps, and profiling is the biggest one.
Unreal 5.8's native toolsets can start PIE but cannot measure anything, so an agent asked to fix frame rate is guessing. frame_timing() gives it a CPU-vs-GPU-bound verdict first, which decides whether optimising the GPU would do anything at all. Everything else follows the same rule: agents use the engine's toolsets for basic asset and actor work, and VibeUE for the domains they do not cover.
What it is
An expansion of Unreal Engine 5.8's own MCP server. VibeUE registers its services into the engine's ToolsetRegistry and ModelContextProtocol endpoint, so there is no second server to run.
What you get
- Terrain and world — landscape sculpting, heightmaps and splines, auto-materials with RVT, foliage, FPS map blockout, and real-world terrain from GPS coordinates
- Audio — MetaSound and SoundCue graph authoring
- Animation assets — AnimSequence keyframe editing, AnimMontage authoring, AnimBP state machines, and skeleton bone, socket and retarget editing
- Behavior Tree and Blackboard authoring by structural path, with JSON round-trips and validate/repair, guarded against edits while PIE or an editor window is open
- Higher-order Blueprint authoring — timelines, event dispatchers, delegates, custom-event pins and a batch build_graph builder
- PerformanceService — frame_timing() returns the Game/Render/GPU/RHI split with a CPU-vs-GPU-bound verdict, plus Unreal Insights capture through start_trace, stop_trace and get_trace_status, and analyse() to read the trace and log back
- TransactionService wrapping the editor's transaction buffer, so an agent can group and roll back its own edits
- execute_python_code plus discover_python_module, discover_python_class and list_python_subsystems — one round-trip reaches every service and the whole unreal.* API
- deep_research and terrain_data, and around 36 markdown skill packs served through Unreal's native AgentSkill system
Requirements
Unreal Engine 5.8 or newer and Git. Unreal's native MCP has to be set up first — enable the Unreal MCP and Editor Tools plugins, then turn on Auto Start Server; the default endpoint is http://127.0.0.1:8000/mcp. Clone VibeUE into your project's Plugins folder and build with the supplied script. A free API key, set in Editor Preferences, unlocks the real-world terrain tools; everything else works without one. The endpoint is loopback-only with no authentication, so it is same-machine use.
Setup effort
Follow the published steps — git clone https://github.com/kevinpbuckley/VibeUE.git
USE CASES
Diagnosing a frame-rate problem before optimising anything
Read the thread split and the bound verdict, capture an Insights trace over the workload, then have the trace and log summarised.
Building terrain from a real place
Pull heightmaps and water for GPS coordinates and sculpt a landscape from them, with an auto-material applied.
Editing AI behaviour without hand-wiring nodes
Change Behavior Tree nodes and decorators by structural path, bind blackboard keys, then validate the tree.
Undoing an agent's whole batch of edits
Group the edits through the editor's transaction buffer, then roll the checkpoint back when the result is wrong.
9 tools
Listed in project docs. Your client may show a different list.
discover_python_modulediscover_python_classlist_python_subsystemsmanage_assetread_logseditor_controlterrain_datadeep_researchBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation. Many names quoted as VibeUE tools are not: frame_timing, start_trace and build_graph are service methods reached through Python, and call_tool, list_toolsets and ListSkills belong to Unreal's own toolset registry.
INSTALLATION
Connect your client
Server setup
Edit → Plugins → enable Unreal MCP (auto-enables Toolset Registry) and Editor Tools; restart when prompted
Edit → Editor Preferences → General → Model Context Protocol → enable Auto Start Server (or run the console command ModelContextProtocol.StartServer)
cd <YOUR_PATH_TO_PROJECT_PLUGINS>
git clone https://github.com/kevinpbuckley/VibeUE.git
VibeUE/BuildAndLaunchGame.ps1 # builds + launches the editor(Linux/macOS instead) VibeUE/BuildAndLaunchGame.sh --engine <YOUR_ENGINE>
Edit → Plugins → enable VibeUE and restart
In the Unreal editor console (open it with the ` key): ModelContextProtocol.GenerateClientConfig ClaudeCode, then VibeUE.GenerateAgentConfig ClaudeCode
MCP Clients
Claude Code
In the Unreal editor console (open it with the ` key), run: ModelContextProtocol.GenerateClientConfig ClaudeCode
Cursor
In the Unreal editor console (open it with the ` key), run: ModelContextProtocol.GenerateClientConfig Cursor
VS Code
In the Unreal editor console (open it with the ` key), run: ModelContextProtocol.GenerateClientConfig VSCode
Gemini
In the Unreal editor console (open it with the ` key), run: ModelContextProtocol.GenerateClientConfig Gemini
Codex
In the Unreal editor console (open it with the ` key), run: ModelContextProtocol.GenerateClientConfig Codex