build_projectLABSCO SUMMARY
Typed tools over the editor, so the agent stops improvising raw bpy-style calls.
The three-lane split is what makes it usable: documentation tools always answer, headless build and test work with the editor closed, and the editor tools need the plugin loaded — so an agent can read AActor before it writes any C++. Two things to set up front: build_project and run_tests can take 60 seconds or more, so raise your client's tool timeout, and the editor does not auto-save, so end a session with level_ops and its save_level operation.
What it is
A single Go binary that exposes an Unreal Engine 5.7 project to any MCP client over three paths: headless UnrealEditor-Cmd calls for builds and tests, the built-in Remote Control API for actor properties, and a bundled editor plugin for deep editor work.
What you get
- Headless build and test:
build_projectreturns a structured error count,run_testsreturns per-test pass and fail detail,cook_projectpackages content - Actors:
get_level_actors,spawn_actor,move_actor,get_property,set_property,call_function - Blueprints:
blueprint_queryto inspect variables, functions, graphs and pins,blueprint_modifyto change and compile them;anim_blueprint_queryandanim_blueprint_modifyfor state machines - Materials, Niagara, PCG, GAS, ISM, textures and DataTables, each behind one operation-style tool such as
material_opsorniagara_ops capture_viewportreturns a screenshot the model can actually look at;pie_controlandplayer_controldrive a Play In Editor sessionlookup_docsandlookup_classsearch a local UE 5.7 documentation index and work with no editor running
Requirements
Go 1.25+ to install, Unreal Engine 5.7, the built-in Remote Control API plugin enabled (HTTP on port 30010), and the MCPUnreal editor plugin copied into your project's Plugins folder (port 8090). Set MCP_UNREAL_PROJECT to your .uproject path and UE_EDITOR_PATH to UnrealEditor-Cmd, then run mcp-unreal --build-index once to build the documentation index.
Setup effort
One command — go install github.com/remiphilippe/mcp-unreal/cmd/mcp-unreal@latest
USE CASES
Fixing a build that is failing on someone else's code
Compile, read the structured error list, look up the API you got wrong, and compile again — all without leaving the conversation.
Placing and positioning an actor in the level
Find the existing actors and their paths first, then spawn, move and set properties on the new one.
Editing a Blueprint graph you would rather not click through
Inspect the graph's variables, functions and node connections, make the change, then compile it.
Checking what the game actually looks like right now
Start a Play In Editor session, move the pawn or the camera, and capture the viewport so the model can see the result.
Writing against a UE API you do not know
Search the local docs index and pull the class reference — inheritance, properties and functions — before writing a line.
49 tools
Listed in project docs. Your client may show a different list.
cook_projectgenerate_project_filesproject_opsconfig_opsrun_testsrun_visual_testslist_testsget_test_logget_level_actorsspawn_actordelete_actorsmove_actorget_propertyset_propertycall_functionblueprint_queryblueprint_modifyanim_blueprint_queryanim_blueprint_modifysearch_assetsget_asset_infomaterial_opscharacter_configinput_opspcg_opsgas_opsniagara_opsprocedural_meshrealtime_meshlevel_opsrun_console_commandget_output_logcapture_viewportexecute_scriptlive_compilepie_controlplayer_controlget_actor_componentsism_opstexture_opsdata_asset_opsfab_opssubsystem_queryui_querynetwork_debugstatuslookup_docslookup_classBEFORE YOU INSTALL
What to know first
Tools you get
49 tools named in the project's documentation.
Requires
- go on PATH
- Go 1.25+
Where it runs
All 6 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
go install github.com/remiphilippe/mcp-unreal/cmd/mcp-unreal@latestMCP Clients
Claude Code
claude mcp add mcp-unreal -- <YOUR_PATH_TO_MCP_UNREAL>Cursor, Windsurf, Cline
{
"mcpServers": {
"mcp-unreal": {
"command": "<YOUR_PATH_TO_MCP_UNREAL>",
"env": {
"MCP_UNREAL_PROJECT": "<YOUR_PATH_TO_PROJECT>/MyProject.uproject"
}
}
}
}VS Code
{
"servers": {
"mcp-unreal": {
"type": "stdio",
"command": "<YOUR_PATH_TO_MCP_UNREAL>",
"env": {
"MCP_UNREAL_PROJECT": "${workspaceFolder}"
}
}
}
}Zed
{
"context_servers": {
"mcp-unreal": {
"command": "<YOUR_PATH_TO_MCP_UNREAL>",
"env": {
"MCP_UNREAL_PROJECT": "<YOUR_PATH_TO_PROJECT>/MyProject.uproject"
}
}
}
}