MCP 虚幻远程代码执行服务器
一个服务器实现,它能够在虚幻引擎环境中启用远程Python代码执行,通过组播网络实现自动的虚幻节点发现和管理。
服务介绍
MCP Unreal Server
一个通过远程 Python 执行与 Unreal Engine 实例交互的服务器实现。
特性
-
🚀 Unreal 实例管理
- 通过多播自动发现 Unreal 节点
- 实时节点状态监控
- 通过兼容 LSP 的客户端列出资源
-
💻 远程执行
- 在 Unreal Engine 环境中执行 Python 代码
- 支持有监督和无监督两种执行模式
- 文件执行和语句评估模式
-
📊 日志记录与监控
- 详细日志记录到文件 (
mcp_unreal.log) - 具有不同详细程度级别的控制台日志记录
- 节点连接健康状况监控
- 详细日志记录到文件 (
安装
# Clone repository
git clone https://github.com/your-org/mcp-unreal-server.git
cd mcp-unreal-server
# Install dependencies
pip install -r requirements.txt
配置
网络设置
在 RemoteExecutionConfig 中配置多播参数:
# Default multicast settings (modify in server.py)
config.multicast_group_endpoint = ("239.0.0.1", 6766)
日志记录
在 server.py 中修改日志配置:
# Adjust log levels
file_handler.setLevel(logging.DEBUG) # File logging
console_handler.setLevel(logging.INFO) # Console logging
使用方法
启动服务器
python -m src.mcp_server_unreal.server
支持的工具
- 连接到 Unreal 实例
{
"host": "239.0.0.1",
"port": 6766
}
- 执行 Python 代码
{
"node_id": "<unreal-node-id>",
"code": "print('Hello Unreal')",
"unattended": true
}
API 文档
资源格式
types.Resource(
uri="unreal://<node_id>",
name=f"Unreal Instance: {node_id}",
description="Unreal Engine instance",
mimeType="application/x-unreal"
)
执行模式
| 模式 | 描述 |
|---|---|
| MODE_EXEC_FILE | 执行 Python 文件 |
| MODE_EXEC_STATEMENT | 执行 Python 语句 |
| MODE_EVAL_STATEMENT | 评估 Python 表达式 |
故障排除
常见问题:
- 没有发现任何节点:请确认带有 MCP 插件的 Unreal 实例正在运行
- 执行超时:检查防火墙设置以允许多播流量
- 连接断开:监控
mcp_unreal.log以查看节点状态变化
许可证
Apache-2.0 许可证