
Unreal MCP
Control Unreal Engine 5.5 from AI clients — spawn actors, build Blueprints, and wire node graphs via natural language.
Add to your client
Copy the config for your MCP client and paste it into its config file.
uv --directory <path/to/unreal-mcp/Python> run unreal_mcp_server.pyPaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"unreal-mcp": {
"command": "uv",
"args": [
"--directory",
"<path/to/unreal-mcp/Python>",
"run",
"unreal_mcp_server.py"
]
}
}
}Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf
Before you start
- Unreal Engine 5.5+
- Python 3.12+ and the uv package manager
- The UnrealMCP plugin built into your project (or use the bundled MCPGameProject starter) — requires generating VS project files and building the Development Editor target
- An MCP client such as Claude Desktop, Cursor, or Windsurf
About Unreal MCP
The system has two halves. The UnrealMCP C++ plugin lives in your project's Plugins folder, integrates with editor subsystems, and listens on TCP port 55557 for JSON commands. The Python side (Python/unreal_mcp_server.py, built on FastMCP) speaks MCP to your client over stdio, loads tool modules from a tools/ directory, and forwards each call to the plugin — so both pieces must be running: the editor with the plugin enabled, and the uv-launched Python server.
Where it goes deeper than most engine integrations is Blueprint authoring. Beyond spawning primitives and setting transforms, the node-graph tools add event nodes (BeginPlay, Tick), input-action nodes, and function-call nodes, connect pins between nodes, add typed variables with defaults, and create component/self references — enough for an agent to assemble a working Pawn Blueprint with physics settings and input mappings from a prompt, then compile_blueprint to make it live.
Getting started is a real build step, not a pip install: use the bundled MCPGameProject (UE 5.5 blank project with the plugin configured) or copy Plugins/UnrealMCP into your own project, generate Visual Studio project files, and build the Development Editor target. The MCP client config then points uv --directory <repo>/Python run unreal_mcp_server.py.
Judge it as a promising experiment rather than a product: the README warns of breaking changes, incomplete features, and outdated docs, and the repo has been quiet since April 2025 while Unreal has moved past 5.5. For prototyping level scaffolding and Blueprint generation on a throwaway branch it's genuinely useful; for production pipelines it is, by its own admission, not ready.
Tools & capabilities (26)
get_actors_in_levelList all actors in the current level
find_actors_by_nameFind actors matching a name pattern
spawn_actorCreate actors (cubes, spheres, lights, cameras, etc.)
delete_actorRemove an actor from the level
set_actor_transformSet an actor's position, rotation, and scale
get_actor_propertiesQuery an actor's properties
set_actor_propertySet a property on an actor
spawn_blueprint_actorSpawn an actor from a Blueprint class
focus_viewportFocus the editor viewport on an actor or location
create_blueprintCreate a new Blueprint class
add_component_to_blueprintAdd a component (mesh, camera, light...) to a Blueprint
set_static_mesh_propertiesConfigure a static mesh component
set_component_propertySet properties on a Blueprint component
set_physics_propertiesConfigure physics on a component
compile_blueprintCompile a Blueprint after editing
set_blueprint_propertySet a class-level Blueprint property
set_pawn_propertiesConfigure Pawn-specific settings on a Blueprint
add_blueprint_event_nodeAdd event nodes like BeginPlay or Tick to the graph
add_blueprint_input_action_nodeAdd an input-action event node
add_blueprint_function_nodeAdd a function call node to the graph
connect_blueprint_nodesConnect pins between nodes in the graph
add_blueprint_variableAdd a typed variable with default value to a Blueprint
add_blueprint_get_self_component_referenceAdd a get-component-reference node
add_blueprint_self_referenceAdd a self reference node
find_blueprint_nodesFind and inspect nodes in a Blueprint graph
create_input_mappingCreate input mappings for player controls
When to use it
- Scaffold a level from a prompt: spawn and place actors, lights, and cameras without touching the viewport
- Generate a Blueprint class with components, physics settings, and pawn configuration from a description
- Wire BeginPlay/input-action node graphs programmatically for rapid gameplay prototyping
- Experiment with editor automation before writing your own MCP tool modules on top
Quick setup
- 1Clone the repo and either open MCPGameProject (UE 5.5 starter with the plugin preconfigured) or copy MCPGameProject/Plugins/UnrealMCP into your project's Plugins folder
- 2Right-click the .uproject → Generate Visual Studio project files, open the .sln, and build the Development Editor target; enable the plugin under Edit → Plugins if needed
- 3Set up the Python side per Python/README.md (Python 3.12+, uv)
- 4Add the MCP config to your client: command uv, args ["--directory", "<path>/Python", "run", "unreal_mcp_server.py"] (config file locations per client are listed in the README)
- 5Open the project in the editor, then prompt your client — e.g. "spawn a cube at the origin and focus the viewport on it"
Security notes
The Python server relays commands to an unauthenticated localhost TCP socket (port 55557) that controls your Unreal Editor — it can spawn and delete actors and rewrite Blueprints, so only use it on projects under version control. The author labels it experimental, and there have been no updates since April 2025; newer UE versions may break it.
Unreal MCP FAQ
Is unreal-mcp safe to run on my game project?
It's free, MIT-licensed, and local-only, but it drives your editor over an unauthenticated localhost TCP port and is officially experimental — commit your project to version control first and expect breaking changes. With no commits since April 2025, newer UE releases may not work without fixes.
Does it work with Unreal Engine 4 or older UE 5 versions?
No — it targets UE 5.5+, and the bundled starter project is a UE 5.5 blank project. Older engine versions aren't supported, and given the repo's inactivity, forward compatibility with newer versions isn't guaranteed either.
Do I have to use the bundled sample project?
No. MCPGameProject just saves setup time; you can copy Plugins/UnrealMCP into any existing project, regenerate project files, build, and enable the plugin. The Python server and client config are identical either way.
Alternatives to Unreal MCP
Compare all alternatives →Microsoft's official browser-automation MCP using Playwright's accessibility tree (no vision model).
Up-to-date, version-specific library documentation injected into your coding agent.
Pack any local or remote repository into one AI-ready file your agent can grep and read incrementally.
Compare Unreal MCP with: