radial-hks_MCP-Unreal-Server

radial-hks_MCP-Unreal-Server

0

MCP Unreal Server is designed to facilitate interaction with Unreal Engine instances using remote Python execution. It offers features like automatic node discovery, real-time status monitoring, and detailed logging, making it a robust tool for developers working with Unreal Engine in both attended and unattended modes.

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

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

  1. Connect to Unreal Instance
{
  "host": "239.0.0.1",
  "port": 6766
}
  1. 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

ModeDescription
MODE_EXEC_FILEExecute Python file
MODE_EXEC_STATEMENTExecute Python statement
MODE_EVAL_STATEMENTEvaluate 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