项目简介
UniMcp 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在桥接支持 MCP 协议的 AI 助手(如 Cursor、Windsurf)与 Unity 游戏开发环境。它允许 AI 助手通过标准化的方式访问 Unity 环境并执行特定任务。
本项目包含两个主要部分:
- UniMcp.Server: 实际的 MCP 服务器,负责接收来自 AI 助手的 MCP 请求(JSON-RPC 格式),并将其转发给运行在 Unity 编辑器中的客户端。
- UniMcp.Client: 作为 Unity Editor 的插件,负责与 UniMcp.Server 建立连接,接收服务器转发的命令,并在 Unity 环境中执行相应的操作(如编译代码、运行测试),然后将结果返回给服务器。
主要功能点
- AI助手集成: 为 Cursor、Windsurf 等支持 MCP 的 AI 助手提供与 Unity 环境交互的能力。
- 代码编译: 允许 AI 助手触发 Unity 项目的代码编译。
- 运行测试: 允许 AI 助手运行 Unity 项目中的测试,可指定过滤器。
- 基于MCP协议: 使用标准的 MCP (Model Context Protocol) JSON-RPC 协议进行通信。
- Stdio传输: 服务器支持通过标准输入/输出来与 MCP 客户端通信。
- 自动发现: 服务器使用 UDP 广播,Unity 客户端可以自动发现并连接服务器。
安装步骤
- 安装 .NET 8: 确保您的系统上安装了 .NET 8 运行时或 SDK。
- 克隆仓库: 将 UniMcp 仓库克隆到本地文件夹。
- 添加到 Unity 项目: 打开您的 Unity 项目。通过 Unity Editor 的 Package Manager,使用 "Add package from disk" 或编辑 'Packages/manifest.json' 文件,添加 UniMcp.Client 包。路径应指向您克隆仓库中的 'UniMcp/UniMcp.Client' 文件夹。例如,如果您的 Unity 项目与克隆的 UniMcp 仓库位于同一父文件夹下,可以在 'manifest.json' 中添加:
请根据您实际的文件结构调整路径。"com.yousician.unimcp.client": "file:../../UniMcp/UniMcp.Client", - 配置 IDE/AI 助手: 在 Unity Editor 中,打开 'Tools > UniMcp' 菜单项。在弹出的窗口中,您会看到用于配置不同 IDE/AI 助手的按钮(如 Configure Cursor, Configure Windsurf)。点击您使用的 AI 助手对应的配置按钮。这将自动或引导您将 UniMcp 服务器的启动信息写入到 AI 助手的配置文件中。如果您的 IDE 没有列出,也可以点击 "Copy Config to Clipboard" 按钮获取配置信息,然后手动将其粘贴到您的 IDE 的 MCP 服务器配置中。
- 启动服务器: 大部分支持 MCP 的 IDE 或 AI 助手会在需要时自动启动配置好的 MCP 服务器。通常,在 IDE 的 MCP 服务器设置中点击刷新或连接按钮即可。Unity Bridge 客户端部分会在 Unity Editor 启动时自动运行。
服务器配置
对于 MCP 客户端(例如您的 AI 助手或 IDE),需要配置 UniMcp 服务器的启动方式。通过 Unity Editor 中 UniMcp 窗口的配置按钮可以自动完成此步骤。手动配置时,需要提供服务器的名称(通常是 "UniMcp")以及启动服务器进程的命令和参数。
配置信息通常包含:
- 'server name': 服务器的名称,用于在客户端列表中识别(例如 "UniMcp")。
- 'command': 启动服务器可执行文件的命令(例如 "dotnet")。
- 'args': 传递给命令的参数,用于指定运行哪个项目(例如 "run --project [UniMcp.Server 项目路径]")。
Unity Editor 中的配置工具会自动计算并写入正确的项目路径。用户通常不需要手动编辑这些复杂的启动参数。
基本使用方法
完成安装和配置后,当您的 AI 助手(如 Cursor, Windsurf)需要与 Unity 环境交互时,它会通过 MCP 协议连接到 UniMcp 服务器。UniMcp 服务器会与 Unity Editor 中的客户端通信。
您现在可以直接在 AI 助手的界面或聊天窗口中,通过自然语言请求执行在 UniMcp 中公开的功能,例如:
- “请帮我编译一下代码。”
- “运行一下所有的测试。”
- “运行命名空间 'MyNamespace.MyTests' 下的测试。”
AI 助手会识别这些请求,将其转换为相应的 MCP Tool Call,发送给 UniMcp 服务器,服务器通过 Unity 客户端在 Unity 中执行操作,并将结果(编译是否成功、测试结果等)返回给 AI 助手。
信息
分类
开发者工具