MCP Unreal Server logo

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.

View on GitHub

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

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

| 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