返回市场
统一代码MCP

统一代码MCP

作者:hackerzhuli5 星标更新:2025-08-07

项目介绍

Unity Code MCP

描述

Unity Code MCP 是一个专注于编码的模型上下文协议(MCP)服务器,它使AI代理能够自主编写Unity代码。

🎯 为什么选择 Unity Code MCP?

Unity Code MCP 是一个高性能、以编码为中心的MCP服务器,使用Rust构建。它优雅地处理Unity的编译周期,同时仅提供自主代码开发所需的基本工具:编译反馈和测试执行。

此MCP服务器使AI代理能够以极高的速度和可靠性自主开发Unity代码——编写代码、编译、修复编译错误、测试、修复错误、重复,就像人类一样进行操作。

✨ 主要特性

  • 🤖 编码优化:专为高效的AI代理编码工作流程设计的精简工具
  • ⚡ 轻量级且高性能:使用Rust构建,具有卓越的速度、最小的内存使用和闪电般的响应时间。在工作空间不是Unity项目时,仅使用1MB内存;当它是Unity项目并且Unity编辑器打开时,仅使用10MB。此外,与Unity编辑器的通信基于UDP,因此对系统负载极小。
  • 🎯 高效通信:使用最少的令牌进行基本操作,仅返回相关的信息
  • 🧪 测试驱动:全面的测试执行和报告能力
  • 📦 自包含:单个二进制文件,无需运行时依赖项(不需要Node.js、Python或.NET)

🛠️ MCP服务器工具

Unity Code MCP 提供了两个用于自主代码开发的工具:

1. 资产数据库刷新

  • 触发Unity编译和资产处理
  • 返回编译错误和其他非编译警告和错误 仅包括刷新期间的日志
  • 妥善处理域重新加载

资产数据库刷新工具示例:

资产数据库刷新

2. 测试执行

  • 运行Unity测试并提供全面的报告
  • 提供详细的堆栈跟踪和失败日志
  • 支持EditMode和PlayMode测试

测试执行工具示例:

测试执行

🚀 自主AI代理工作流示例

配置完成后,AI代理可以完全自主地开发Unity代码:

用户:"创建一个使用WASD键移动并具有跳跃功能的玩家控制器。确保它经过全面测试。"

AI:我将创建一个完整的玩家控制器,带有移动和跳跃逻辑,然后编写全面的测试。

1. [AI编写PlayerController.cs,包含移动逻辑]
2. [AI调用:refresh_asset_database]
   → 结果:"编译失败:CS0246:类型或命名空间名称'Rigidbody'未找到"
3. [AI修复缺少的using UnityEngine;语句]
4. [AI调用:refresh_asset_database]
   → 结果:"编译成功,无错误"
5. [AI编写PlayerControllerTests.cs,包含移动和跳跃测试]
6. [AI调用:run_tests]
   → 结果:"5个测试通过,2个测试失败:NullReferenceException在Jump_ShouldApplyUpwardForce中,ArgumentException在Move_WithInvalidInput中"
7. [AI分析失败并修复空引用和输入验证错误]
8. [AI调用:refresh_asset_database]
   → 结果:"编译成功,无错误"
9. [AI调用:run_tests]
   → 结果:"所有7个测试均成功通过"

AI:✅ 完成!创建了一个完整的具有WASD移动、跳跃机制和全面测试覆盖的PlayerController。所有测试均通过。

这展示了真正的自主开发——从用户请求到完全测试过的、工作的Unity代码,无需任何人工干预。

AI代理在行动,告诉Kimi K2在没有上下文的情况下修复Unity项目的编译错误: Kimi K2修复编译错误

📦 安装

先决条件

  • Unity 6.0或更高版本
  • Rust工具链(用于从源代码构建)
  • CMake和C编译器(构建依赖项所需)

第一步:安装Unity包

在您的Unity项目中安装Visual Studio Code Editor包。

第二步:获取二进制文件

选项A:下载发布版(推荐)(仅限Windows)

  • 从发布页面下载最新二进制文件

选项B:从源代码构建

cargo build --release

第三步:配置您的AI助手

将MCP服务器添加到您的AI助手配置中:

对于Cursor/Trae:

{
  "mcpServers": {
    "unity-code": {
      "command": "/path/to/unity-code-mcp",
      "env": {
        "UNITY_PROJECT_PATH": "${workspaceFolder}"
      }
    }
  }
}

对于VS Code带MCP扩展:

{
  “mcp.servers”: {
    “unity-code”: {
      “command”: “/path/to/unity_code_mcp”,
      “env”: {
        “UNITY_PROJECT_PATH”: “${workspaceFolder}”
      }
    }
  }
}

对于Claude Desktop:

{
  "mcpServers": {
    "unity-code": {
      "command": "/path/to/unity_code_mcp"
    }
  }
}

注意UNITY_PROJECT_PATH环境变量是一个备用选项。如果您的IDE支持MCP roots功能,服务器将自动检测提供的工作区根目录中的Unity项目,并优先于环境变量。

故障排除:如果${workspaceFolder}在您的IDE中不起作用,请尝试使用绝对路径,例如:“UNITY_PROJECT_PATH”:“/absolute/path/to/your/unity/project”。或者,要求您的IDE开发者添加对MCP roots功能的支持。

重要:使用绝对路径作为二进制命令。

平台支持

代码是跨平台的,但我只能在Windows上构建和测试。如果您遇到特定平台的问题,您需要自行解决。

🧪 开发与测试

运行测试

要运行测试套件:

  1. 启动Unity编辑器,加载嵌入的测试项目:

    # 打开Unity编辑器并加载项目:
    # ./UnityProject
    
  2. 运行测试(单线程以避免Unity冲突):

    cargo test -- --test-threads=1
    

注意:测试需要运行Unity编辑器实例并加载嵌入的项目。由于与Unity编辑器的交互,测试可能需要30-60秒才能完成。

从源代码构建

先决条件

  • C编译器:构建aws-lc-rs依赖项所需
    • Windows:MSVC(Visual Studio Build Tools)
    • macOS:Xcode命令行工具(xcode-select --install
    • Linux:GCC(在Ubuntu/Debian上sudo apt-get install build-essential
  • CMake:构建aws-lc-rs依赖项所需
    • Windows:遵循官方指南
    • macOS:brew install cmake
    • Linux:sudo apt-get install cmake(Ubuntu/Debian)

构建命令

# 调试构建
cargo build

# 发布构建(建议用于生产)
cargo build --release

🤝 贡献

欢迎贡献!请:

  1. 分叉仓库
  2. 创建功能分支
  3. 使用cargo test -- --test-threads=1运行测试
  4. 提交拉取请求

📄 许可证

本项目采用MIT许可证——详情见LICENSE文件。

🔗 相关项目