MCP UAsset工具包
 
特性
资产信息
- 阅读资产结构 -解析.uasset文件并访问元数据
- 一般信息 -查看包详细信息、标志、GUID、文件夹名称
- 名称地图 -列出并编辑资产使用的字符串表
- 自定义版本 -查看所有自定义版本信息
进出口管理
- 列出进口 -查看所有具有完整详细信息的外部依赖关系(类包、类名、外部索引等)
- 列出出口 -使用全面的元数据查看资产中包含的所有对象
- 导出数据 -访问特定导出的详细属性数据
编辑功能
- 名称地图编辑 -在名称表中添加或修改条目
- 导入编辑 -更新导入引用(对象名、类包、类名、外部索引)
- 导出编辑 -修改导出信息(对象名称、索引、标志)
- 保存更改 -将修改后的资产写回磁盘
安装
先决条件
- .NET 10.0 SDK或更高版本
- Windows x64(当前配置为win-x64)
下载预构建的二进制文件
从下载最新版本 发布页面.
从源代码构建
# Clone the repository with submodules
git clone --recurse-submodules https://github.com/hedgehogform/MCP-UAsset-Toolkit.git
cd "MCP UAsset Toolkit"
# Build the project (Debug)
dotnet build
# Build Release
dotnet build --configuration Release
# Run the MCP server
dotnet run发布独立可执行文件
dotnet publish -c Release -r win-x64 --self-contained可执行文件将位于 bin/Release/net10.0/win-x64/publish/
配置
服务器URL
默认服务器URL在中配置 appsettings.json:
{
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://127.0.0.1:13338"
}
}
}
}您可以通过以下方式覆盖此内容:
- 环境变量:
ASPNETCORE_URLS=http://localhost:5000 - 命令行:
dotnet run --urls "http://localhost:5000"
MCP客户端配置
添加到您的MCP客户端配置中(例如,Claude Desktop):
{
"mcpServers": {
"uasset-toolkit": {
"command": "dotnet",
"args": ["run", "--project", "path/to/MCP UAsset Toolkit"],
"env": {}
}
}
}用法
1.设置发动机版本
在使用任何资源之前,请设置虚幻引擎版本:
set_engine_version("4.27")支持的格式: "4.27", "5.3", "5.5"等等。
2.阅读资产信息
read_asset("path/to/asset.uasset")
list_exports("path/to/asset.uasset")
list_imports("path/to/asset.uasset")
get_name_map("path/to/asset.uasset")3.编辑资产
# Edit a name in the name map
edit_name_map_entry("path/to/asset.uasset", index: 5, newName: "NewName")
# Edit an import
edit_import("path/to/asset.uasset", importIndex: 1, objectName: "NewObjectName")
# Edit export information
edit_export_info("path/to/asset.uasset", exportIndex: 1, bIsAsset: true)
# Save changes
save_asset("path/to/asset.uasset")可用的MCP工具
版本管理
set_engine_version-设置用于解析的虚幻引擎版本
资产读数
read_asset-解析并读取基本资产结构get_general_info-获取包裹的一般信息get_full_asset_info-获取全面的元数据(类似于UAssetGUI信息选项卡)list_exports-列出所有出口,并附上详细信息list_imports-列出所有具有详细信息的导入get_export_data-获取特定导出的详细数据get_name_map-获取名称映射(字符串表)list_custom_versions-列出所有自定义版本
资产编辑
edit_name_map_entry-编辑名称映射中的条目add_name_map_entry-在名称映射中添加新名称edit_import-编辑导入字段edit_export_info-编辑导出信息字段save_asset-将修改后的资产保存到磁盘
建筑
MCP UAsset Toolkit/
├── Source/
│ ├── Program.cs # ASP.NET Core host and MCP server setup
│ ├── Models/ # Data transfer objects
│ ├── Services/ # Global state management (EngineVersionService)
│ └── Tools/ # MCP tool implementations
│ ├── VersionTools.cs # Engine version management
│ ├── AssetInfoTools.cs # Asset information retrieval
│ ├── AssetDataTools.cs # Import/export/name map listing
│ └── AssetEditTools.cs # Asset editing operations
├── UAssetAPI/ # Submodule - Unreal asset parsing library
└── appsettings.json # Server configuration运输
MCP服务器使用 SSE(服务器发送事件) 交通在 /sse 端点:
- 默认URL:
http://127.0.0.1:13338/sse - 协议: 模型上下文协议
依赖项
- 资产API -核心虚幻资产解析和操作
- CUE4解析 v1.2.2-虚幻引擎解析工具
- 模型上下文协议。AspNetCore v0.8.0-preview.1-MCP服务器框架
重要提示
⚠️ 备份您的资产 -编辑前始终备份原始.uasset文件
⚠️ 版本兼容性 -在使用资源之前,请确保设置了正确的引擎版本
构建调试配置
.net构建
构建发布配置
netsbuild--配置发布
### CI/CD
This project uses GitHub Actions for automated builds and releases:
- **Build Workflow** - Automatically builds Debug and Release configurations on every push/PR to main
- **Release Workflow** - Creates GitHub releases when version tags are pushed (e.g., `v1.0.0`)
To create a new release:git tag v1.0.0 git push origin v1.0.0quired** - Edit operations modify assets in memory. You must call save_asset to persist changes
Development
Building
dotnet build运行测试
# UAssetAPI has separate test suite
cd UAssetAPI
dotnet test UAssetAPI.Tests/UAssetAPI.Tests.csproj代码的风格
- 方法以结尾
Async - 工具类包括
public static - 所有工具返回JSON字符串
{ success: bool, ... }格式 - 验证所有工具中的引擎版本和文件是否存在
许可证
此项目使用UAssetAPI。看 UAssetAPI许可证 了解详情。
贡献
欢迎投稿!请确保:
- 所有MCP工具都遵循既定的模式
- 使用标准错误消息进行正确的错误处理
- 资产操作前的引擎版本验证
- 构建成功,无错误
