A server implementation for interacting with Unreal Engine instances through remote Python execution.
-
🚀 Unreal Instance Management
- Automatic discovery of Unreal nodes via multicast
- Real-time node status monitoring
- Resource listing through LSP-compatible clients
-
💻 Remote Execution
- Execute Python code in Unreal Engine environments
- Support for both attended and unattended execution modes
- File execution and statement evaluation modes
-
📊 Logging & Monitoring
- Detailed logging to file (
mcp_unreal.log) - Console logging with different verbosity levels
- Node connection health monitoring
- Detailed logging to file (
# Clone repository
git clone https://github.com/your-org/mcp-unreal-server.git
cd mcp-unreal-server
# Install dependencies
pip install -r requirements.txtConfigure multicast parameters in RemoteExecutionConfig:
# Default multicast settings (modify in server.py)
config.multicast_group_endpoint = ("239.0.0.1", 6766)Modify logging configuration in server.py:
# Adjust log levels
file_handler.setLevel(logging.DEBUG) # File logging
console_handler.setLevel(logging.INFO) # Console loggingpython -m src.mcp_server_unreal.server- Connect to Unreal Instance
{
"host": "239.0.0.1",
"port": 6766
}- Execute Python Code
{
"node_id": "<unreal-node-id>",
"code": "print('Hello Unreal')",
"unattended": true
}types.Resource(
uri="unreal://<node_id>",
name=f"Unreal Instance: {node_id}",
description="Unreal Engine instance",
mimeType="application/x-unreal"
)| Mode | Description |
|---|---|
| MODE_EXEC_FILE | Execute Python file |
| MODE_EXEC_STATEMENT | Execute Python statement |
| MODE_EVAL_STATEMENT | Evaluate Python expression |
Common Issues:
- No nodes discovered: Verify Unreal instances are running with MCP plugin
- Execution timeout: Check firewall settings for multicast traffic
- Connection drops: Monitor
mcp_unreal.logfor node status changes
Apache-2.0 License