Unity Agent Bridge MCP Server

使用说明(Markdown格式)

  • 项目简介

    • 该仓库实现了一个完整的 MCP 服务器,用于在 Unity 编辑器中提供标准化的上下文服务。核心功能包括托管和管理 Resources(资源、数据访问)、注册和执行 Tools(工具、外部功能调用)、以及定义 PROMPTS(提示模板)。服务器通过 JSON-RPC 与 MCP 客户端通信,并支持会话管理与多传输协议的扩展。
  • 主要功能点

    • MCP 服务器核心:实现 Model Context Protocol 的资源、工具、提示等能力,通过标准化的 JSON-RPC 进行请求与响应。
    • 资源管理:暴露并管理 Unity 场景层级、资源、场景描述等数据源。
    • 工具执行:通过反射自动发现并暴露大量 Unity 相关的操作工具,支持批量、分步调用以及参数化执行。
    • 提示模板:提供用于引导 LLM 的提示模板与场景 Reconstruction 的对话上下文。
    • 支持多种传输:当前实现基于 StdIO transport,理论上可扩展为 SSE/WebSocket 等传输协议。
    • 会话与诊断:提供健康检查、错误诊断、重试机制以及边缘场景的容错处理。
  • 安装步骤

    • 安装依赖:需要 .NET 环境可编译运行该 MCP 服务器端。
    • 构建与运行:在包含 Program.cs 的项目中构建并运行,服务器会在初始化时启动 stdio 传输端口,提供 MCP 客户端连接。
  • 服务器配置(MCP 客户端配置示意) 说明:MCP 客户端需要知道服务器端信息以便建立连接。以下为符合要求的 JSON 配置字段示例说明(非代码块显示,便于理解):

    • serverName: UnityAgentBridge-MCP
      • 说明:该 MCP 服务器的名称,用于标识该服务。
    • command: dotnet
      • 说明:启动服务器的命令,使用 .NET 运行入口。
    • args: ["run", "--project", "UnityMCP/UnityMCP.csproj"]
      • 说明:启动参数,指向包含 Program.cs 的项目文件,实际路径以你的部署结构为准。
    • transport: stdio(可选,当前实现使用 stdio 传输)
      • 说明:客户端通过标准输入/输出与服务器进行 JSON-RPC 交互。
  • 基本使用方法

    • 启动服务器:按照上面的配置在包含该仓库的环境中启动 .NET 应用,服务器启动后监听并准备接收 MCP 客户端请求。
    • 客户端接入:MCP 客户端通过指定的 transport(如 stdio)与服务器进行 JSON-RPC 调用,调用结果以 JSON 形式返回。
    • 使用场景:通过 Unity 中的工具和资源接口,LLM 可以读取场景信息、执行编辑器操作、构造场景、对资源进行增删改等。
  • 重要注意

    • 该实现包含大量通过反射暴露的工具方法,确保 Unity 编辑器处于可运行状态以执行命令。
    • 服务器具备基本的重试与诊断能力,适用于在编辑器后台执行任务时的韧性需求。

服务器信息