研究非现实编辑器MCP
Unreal Engine 5 编辑和MCP (Model Context Protocol) 的学习用项目。 在本项目中Claude AI 的Unreal Editor 中所述修改相应参数的值。
目次
- Claude Desktop 中的设置 - VS Code 中的设置 - Claude Code 中的设置
项目简介
此项目包括:Unreal Engine 5 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
能做什么?
- Claude AI 的Unreal Editor 通信
- Python 在…上写的MCP 单击功能区上Unreal Editor 和HTTP 通信
- Unreal Editor 的插件HTTP 作为服务器运行
- Claude 从Unreal Editor 可以确认或操作的状态
什么结构?
Claude Desktop/VS Code/Claude Code
↓ (MCP プロトコル)
Python MCP Server (study-unrealeditormcp)
↓ (HTTP REST API)
Unreal Editor Plugin (UnrealEditorMCP)
↓
Unreal Engine 5 Editor项目配置
Study_UnrealEditorMCP/
├── src/ # Python MCP サーバーのソースコード
│ └── study_unrealeditormcp/
│ ├── server.py # MCP サーバーのメインファイル
│ ├── connection.py # Unreal Editor との接続管理
│ └── tools/
│ └── editor_tools.py # Claude から使えるツール定義
│
├── Plugins/ # Unreal Engine プラグイン
│ └── UnrealEditorMCP/ # Unreal Editor 操作用プラグイン
│ ├── Source/ # C++ ソースコード
│ │ └── UnrealEditorMCP/
│ │ ├── Private/
│ │ │ ├── HTTP/ # HTTP サーバー実装
│ │ │ └── UnrealEditorMCPSubsystem.cpp
│ │ └── Public/
│ └── UnrealEditorMCP.uplugin # プラグイン定義ファイル
│
├── SampleProject/ # Unreal Engine 5 サンプルプロジェクト
│ ├── Content/ # ゲームアセット
│ ├── Plugins/ # プロジェクト固有のプラグイン
│ └── SampleProject.uproject # UE5 プロジェクトファイル
│
├── scripts/ # 開発用スクリプト
│ └── test_mcp.py # MCP サーバーのテストスクリプト
│
├── .mcp.json # Claude Code 用 MCP 設定
├── pyproject.toml # Python プロジェクト設定
├── Taskfile.yml # タスクランナー設定
└── README.md # このファイル所需环境
软件
- 虚幻引擎 -游戏引擎主机
- python - MCP 移动服务器
- 紫外线 - Python 包管理器(pip也可以uv ),模板名称将采用不同的格式
- 克劳德桌面版 或 VS Code 或 克劳德代码 - Claude AI 客户机
- 任务 -任务流道(这不是必需的)
知识
- Python 边查边读
- Unreal Engine 和Unreal C++ 曾经做过使用的教程
- HTTP/REST API 听说过一点
安装过程
1.克隆存储库
git clone https://github.com/self-taught-code-tokushima/Study_UnrealEditorMCP.git
cd Study_UnrealEditorMCP2. Python 设置环境
紫外线
# uv のインストール(まだの場合)
# Windows PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# 依存パッケージのインストール
uv syncpip (无论如何uv ),模板名称将采用不同的格式
# 仮想環境の作成
python -m venv .venv
# 仮想環境の有効化(Windows PowerShell)
.venv\Scripts\Activate.ps1
# 依存パッケージのインストール
pip install -e .3. Unreal Engine 打开项目
SampleProject/SampleProject.uproject列表框中,此格式对应于条目“无”- Unreal Editor 启动
- 插件
UnrealEditorMCP将自动加载
4. MCP 服务器行为确认
本地测试
# Task を使う場合
task mcp-server-test
# 直接実行する場合
uv run python scripts/test_mcp.py如果正常运行pong 的信息。
如果在这里失败UnrealEditorMCP 使用 3000 可能会出现端口已经在其他应用程序中使用等问题。
MCP 如何设置
Claude Desktop 中的设置
Claude Desktop 的MCP 让服务器可用。
配置文件位置
%APPDATA%\Claude\claude_desktop_config.json
設定内容
claude_desktop_config.json 中所述修改相应参数的值。
{
"mcpServers": {
"study-ue_editor_mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/self-taught-code-tokushima/Study_UnrealEditorMCP",
"study-unrealeditormcp"
],
"env": {}
}
}
}设定手顺
- Claude Desktop 退出
- 在文本编辑器中打开上述配置文件
- 已经
mcpServers在动态输入提示中单击study-ue_editor_mcp添加 - 保存文件
- Claude Desktop 重新启动
- Claude Desktop 的设定画面中MCP 确认是否检测到服务器
VS Code 中的设置
VS Code 的,之Claude 扩展功能MCP 让服务器可用。
前提条件
- VS Code 已安装
- Claude for VS Code 已安装扩展
配置文件位置
VS Code 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
- 工作区设置:
.vscode/settings.json - 用户设置:
settings.json(VS Code ),模板名称将采用不同的格式
設定内容
{
"claude.mcpServers": {
"study-ue_editor_mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/self-taught-code-tokushima/Study_UnrealEditorMCP",
"study-unrealeditormcp"
],
"env": {}
}
}
}设定手顺
- VS Code 的双曲正切值
Ctrl+Shift+P(macOS:Cmd+Shift+P)打开命令选项板- “首选项:打开用户设置(JSON)”を選択
- 添加上述设置
- 保存文件
- VS Code 重新装入(
Ctrl+Shift+P→ “开发人员:重新加载窗口”)
Claude Code 中的设置
Claude Code(CLI)的MCP 让服务器可用。
设定手顺
- 在项目根目录中:。
claude mcp add -s project --transport stdio study-ue_editor_mcp -- uvx --from git+https://github.com/self-taught-code-tokushima/Study_UnrealEditorMCP study-unrealeditormcp- 项目根目录
.mcp.json中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
动作确认
# Claude Code を起動
claude
# Claude Code のプロンプトで
> MCP サーバーのステータスを確認して用法
基本流程
- Unreal Editor 启动(打开采样项目)
- Claude Desktop/VS Code/Claude Code を起动
- Claude 指示
使用例
接続确认
Claude にメッセージ: "Unreal Editor との接続を確認して"Claude 的MCP 通过服务器Unreal Editor 的ping 发送,确认连接状态。
确认可用工具
Claude にメッセージ: "どんなツールが使えるか教えて"Claude 当前可用MCP 显示工具列表。
开発手顺
说明如何在此项目的基础上添加新功能。
使用任务流道
在这个项目中 任务 来定义自定义外观。
可用任务
# タスク一覧を表示
task
# または
task --list主要任务:
task ue-mcp-status- Unreal Editor MCP 状态确认task ue-mcp-tools-可用工具列表task ue-mcp-tool-ping- ping 测试工具task mcp-server-test- MCP 测试服务器task mcp-server-run- MCP 在本地运行服务器task mcp-server-run-github- GitHub 从MCP 运行服务器
添加新工具
1. Unreal Editor 在插件端添加功能
Unreal Editor 想在一侧执行的功能C++ 中所述修改相应参数的值。
文件: Plugins/UnrealEditorMCP/Source/UnrealEditorMCP/Private/HTTP/UnrealEditorMCPHttpServer.cpp
2. MCP 将工具添加到服务器端
Python MCP 为服务器定义新工具。
文件: src/study_unrealeditormcp/tools/editor_tools.py
@mcp.tool()
async def my_new_tool(param: str) -> str:
"""
新しいツールの説明
Args:
param: パラメータの説明
Returns:
結果の説明
"""
conn = get_connection()
response = await conn.call_endpoint("/my-endpoint", {"param": param})
return response3.测试
# ローカルで MCP サーバーを実行
task mcp-server-run
# または Claude Code でテスト
claude调试方法
Python MCP 服务器日志
日志文件: study_unrealeditormcp.log
# ログをリアルタイムで確認(PowerShell)
Get-Content -Path study_unrealeditormcp.log -WaitUnreal Editor 日志
Unreal Editor 菜单: Window → Developer Tools → Output Log
LogTemp 用类别过滤的话可能会很容易理解。
故障排除
待定
参考资料
- 模型上下文协议(MCP) - MCP 公式文档
- Python MCP服务器 - Python MCP 服务器框架
- 虚幻引擎文档 - Unreal Engine 公式文档
- 紫外线 - Python 包管理器
- 任务 -任务流道
______________________________________________________________________
快乐学习! 🎓
