MCP Unreal Server
by radial-hks
A server implementation for interacting with Unreal Engine instances through remote Python execution. It enables management, remote code execution, and monitoring of Unreal Engine environments.
Last updated: N/A
MCP Unreal Server
A server implementation for interacting with Unreal Engine instances through remote Python execution.
Features
-
🚀 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 (
Installation
# Clone repository
git clone https://github.com/your-org/mcp-unreal-server.git
cd mcp-unreal-server
# Install dependencies
pip install -r requirements.txt
Configuration
Network Settings
Configure multicast parameters in RemoteExecutionConfig
:
# Default multicast settings (modify in server.py)
config.multicast_group_endpoint = ("239.0.0.1", 6766)
Logging
Modify logging configuration in server.py
:
# Adjust log levels
file_handler.setLevel(logging.DEBUG) # File logging
console_handler.setLevel(logging.INFO) # Console logging
Usage
Starting the Server
python -m src.mcp_server_unreal.server
Supported Tools
- 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
}
API Documentation
Resource Format
types.Resource(
uri="unreal://<node_id>",
name=f"Unreal Instance: {node_id}",
description="Unreal Engine instance",
mimeType="application/x-unreal"
)
Execution Modes
| Mode | Description | |----------------------|---------------------------------| | MODE_EXEC_FILE | Execute Python file | | MODE_EXEC_STATEMENT | Execute Python statement | | MODE_EVAL_STATEMENT | Evaluate Python expression |
Troubleshooting
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.log
for node status changes
License
Apache-2.0 License