unreal-python-mcp
v0.2.1
Published
Unreal Engine MCP using Unreal Python Remote Execution
Downloads
52
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) |
