unreal-python-mcp
v0.2.0
Published
Unreal Engine MCP using Unreal Python Remote Execution
Readme
Unreal Python MCP
An MCP server that connects AI agents to Unreal Editor via Python remote execution.
Features
- Run Python code directly in Unreal Editor
- ToolsetRegistry integration (UE 5.8+): 300+ built-in editor tools with schema validation
- Connection reuse: serial command queue with idle keep-alive, no port conflicts
- Backward compatible: graceful fallback on older UE versions
Setup
- Enable 'Python Editor Script Plugin' in Unreal Editor
- Enable 'Edit' > 'Project Settings' > 'Plugins' > 'Python' > 'Enable Remote Execution' & 'Develop Mode'
- (Optional, UE 5.8+) Enable the 'Toolset Registry' plugin for 300+ built-in editor tools
- Restart Unreal Editor and keep it running
- Add MCP config:
{ "mcpServers": { "unreal-python-mcp": { "command": "npx", "args": ["-y", "unreal-python-mcp"] } } }
Configuration
Environment variables:
| Variable | Description | Default |
| -------------------------------- | ----------------------------------------------- | ----------- |
| UNREAL_MULTICAST_GROUP | Multicast group address | 239.0.0.1 |
| UNREAL_MULTICAST_PORT | Multicast port | 6766 |
| UNREAL_BIND_ADDRESS | Bind address | 127.0.0.1 |
| UNREAL_CONNECTION_IDLE_MS | Keep connection alive after last command (ms) | 3000 |
| UNREAL_ENABLE_TOOLSET_REGISTRY | Register ToolsetRegistry tools (true/false) | true |
Example with custom configuration:
{
"mcpServers": {
"unreal-python-mcp": {
"command": "npx",
"args": ["-y", "unreal-python-mcp"],
"env": {
"UNREAL_BIND_ADDRESS": "0.0.0.0"
}
}
}
}How It Works
The server communicates with Unreal Editor via UDP multicast discovery + TCP command execution (Python Remote Execution protocol).
Two modes of operation:
- ToolsetRegistry (preferred, UE 5.8+): Use
get_toolset_schemato browse available tools, thenexecute_toolto call them. These are purpose-built, schema-validated editor operations. - Raw Python (fallback): Use
run_python_codefor custom logic or when no suitable tool exists.
Tools
| Tool | Description |
| -------------------- | ------------------------------------------------------------- |
| run_python_code | Execute Python code in Unreal Editor |
| run_python_file | Execute an existing .py script file |
| get_toolset_schema | Discover available ToolsetRegistry tools (3 levels of detail) |
| execute_tool | Call a ToolsetRegistry tool by name |
Resources
| Resource | URI | Description |
| ------------------ | ---------------------- | ---------------------------------------------------- |
| Unreal Python Stub | unreal://python-stub | File path to the auto-generated API stub (unreal.py) |
