MCP server for Unreal Engine using Unreal Python Remote Execution
npm install @runreal/unreal-mcp!hero
!gif
This server does not require installing a new UE plugin as it uses the built-in Python remote execution protocol.
Adding new tools/features is much faster to develop since it does not require any C++ code.
It can support the full Unreal Engine Python API
- This is not an official Unreal Engine project.
- Your AI agents or tools will have full access to your Editor.
- Review any changes your Client suggests before you approve them.
#### Requirements
- Unreal Engine 5.4+ (verified, may work with earlier versions)
- Node.js with npx
- MCP Client (Claude, Cursor, etc.)
1. Setting up your Editor:
- Open your Unreal Engine project
- Go to Edit -> Plugins
- Search for "Python Editor Script Plugin" and enable it
- Restart the editor if prompted
- Go to Edit -> Project Settings
- Search for "Python" and enable the "Enable Remote Execution" option
!enable plugin
!enable remote execution
2. Set up your Client:
- Edit your Claude (or Cursor) config
``json`
{
"mcpServers": {
"unreal": {
"command": "npx",
"args": [
"-y",
"@runreal/unreal-mcp"
]
}
}
}
| Tool | Description |
|------|-------------|
| set_unreal_engine_path | Set the Unreal Engine path |set_unreal_project_path
| | Set the Project path |get_unreal_engine_path
| | Get the current Unreal Engine path |get_unreal_project_path
| | Get the current Unreal Project path |editor_run_python
| | Execute any python within the Unreal Editor |editor_list_assets
| | List all Unreal assets |editor_export_asset
| | Export an Unreal asset to text |editor_get_asset_info
| | Get information about an asset, including LOD levels for StaticMesh and SkeletalMesh assets |editor_get_asset_references
| | Get references for an asset |editor_console_command
| | Run a console command in Unreal |editor_project_info
| | Get detailed information about the current project |editor_get_map_info
| | Get detailed information about the current map/level |editor_search_assets
| | Search for assets by name or path with optional class filter |editor_get_world_outliner
| | Get all actors in the current world with their properties |editor_validate_assets
| | Validate assets in the project to check for errors |editor_create_object
| | Create a new object/actor in the world |editor_update_object
| | Update an existing object/actor in the world |editor_delete_object
| | Delete an object/actor from the world |editor_take_screenshot
| | Take a screenshot of the Unreal Editor |editor_move_camera` | Move the viewport camera to a specific location and rotation for positioning screenshots |
|
Please feel free to open issues or pull requests. Contributions are welcome, especially new tools/commands.