Token导航 LogoToken导航TokenDH.com
Unity MCP logo
开发工具SSE官方级别未说明来源级核验

Unity MCP

MCP Server

Unity-MCP是一个开源实现,通过Model Context Protocol(MCP)在Unity游戏开发环境中实现AI助手交互,支持AI辅助开发、自动化测试、场景分析和运行时调试。

工具数

0

提示词数

0

GitHub Stars

7

资源数

0
TypeScriptClaude开发工具Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

TSavo

提供方

TSavo

最后核验

2026/5/17 20:59

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Unity MCP

Unity和使用模型上下文协议(MCP)的AI助手之间的桥梁。

概述

Unity MCP是Unity游戏开发的模型上下文协议的开源实现。它使AI助手能够通过标准化的界面与Unity游戏环境进行交互,允许AI辅助游戏开发、自动测试、场景分析和运行时调试。

建筑

架构已经简化,可以使用AILogger进行持久化,不再需要单独的服务器组件:

AI Assistant  Unity-MCP STDIO Client  Unity Client  AILogger
  • AI助手:使用MCP协议与Unity MCP STDIO客户端通信
  • Unity MCP STDIO客户端:将命令转发到Unity客户端并将结果存储在AILogger中
  • Unity客户端:在Unity中执行命令并返回结果
  • AILogger:存储日志和结果以供以后检索

Unity MCP STDIO客户端直接与Unity客户端通信,Unity客户端为代码执行和查询提供端点。查询工具通过将查询包装在 return 声明。

特性

  • 在Unity运行时环境中执行C#代码
  • 检查游戏对象及其组件
  • 分析场景层次和结构
  • 运行测试并接收结果
  • 调用游戏对象和组件的方法
  • 在运行时修改游戏状态

部署选项

  • Unity编辑器扩展:一个在游戏执行周期之外持续存在的编辑器扩展
  • Docker容器:一个通过网络与Unity通信的容器化版本
  • NPX包:一个可以通过NPX安装和运行的Node.js包

文档

入门指南

要开始使用Unity MCP,请按照以下步骤操作:

  1. 克隆存储库:
   git clone https://github.com/TSavo/Unity-MCP.git
   cd Unity-MCP
  1. 安装依赖项:
   npm install
  1. 构建项目:
   npm run build
  1. 启动MCP STDIO客户端:
   npm start

这将启动与Unity通信并使用AILogger进行持久化的MCP STDIO客户端。

注意:确保AILogger正在运行http://localhost:3030或者将AI_LOGGER_URL环境变量设置为指向AILogger实例。

  1. 运行测试:
   # Run all tests
   npm test

   # Run only unit tests
   npm run test:unit

   # Run only e2e tests
   npm run test:e2e

   # Run tests with a specific pattern
   npm test -- --testNamePattern="should return the server manifest"
   npm run test:unit -- --testNamePattern="should return the server manifest"
   npm run test:e2e -- --testNamePattern="should discover the test server"

有关更多详细说明,请参阅 安装指南.

连接到AI助手

要将Unity MCP桥连接到AI助手,您需要创建一个MCP配置文件:

{
  "mcpServers": {
    "unity-ai-bridge": {
      "url": "http://localhost:8080/sse"
    }
  }
}

将此文件放置在您的AI助手的适当位置。对于Claude来说,这通常位于Claude Desktop应用程序的配置目录中。

可用工具

Unity MCP桥提供以下工具:

  1. execute_code:直接在Unity中执行C#代码。
  2. 怎么翻译:使用点符号执行查询以访问对象、属性和方法。
  3. get_logs:从AILogger检索日志。
  4. get_log_by_name:从AILogger检索特定日志。

使用示例

在Unity中执行代码

您可以使用以下命令在Unity中执行C#代码 execute_code 工具。代码将在Unity运行时环境中执行,结果将存储在AILogger中以供以后检索。

JSON-RPC请求

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "execute_code",
    "arguments": {
      "code": "Debug.Log(\"Hello from Unity!\"); return GameObject.FindObjectsOfType().Length;",
      "timeout": 5000
    }
  }
}

JSON-RPC响应

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"status\":\"success\",\"logName\":\"unity-execute-1712534400000\",\"result\":{\"success\":true,\"result\":42,\"logs\":[\"Hello from Unity!\"],\"executionTime\":123}}"
      }
    ]
  }
}

查询Unity对象

您可以使用以下命令查询Unity对象 query 工具。这允许您使用点符号访问对象、属性和方法。

JSON-RPC请求

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "query",
    "arguments": {
      "query": "Camera.main.transform.position",
      "timeout": 5000
    }
  }
}

JSON-RPC响应

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"status\":\"success\",\"logName\":\"unity-query-1712534400000\",\"result\":{\"success\":true,\"result\":{\"x\":0,\"y\":1,\"z\":-10},\"executionTime\":45}}"
      }
    ]
  }
}

从AILogger检索结果

您可以使用AILogger检索以前操作的结果 get_log_by_name 工具。

JSON-RPC请求

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "get_log_by_name",
    "arguments": {
      "log_name": "unity-execute-1712534400000",
      "limit": 1
    }
  }
}

JSON-RPC响应

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"status\":\"success\",\"name\":\"unity-execute-1712534400000\",\"entries\":[{\"id\":\"123e4567-e89b-12d3-a456-426614174000\",\"name\":\"unity-execute-1712534400000\",\"data\":{\"result\":{\"success\":true,\"result\":42,\"logs\":[\"Hello from Unity!\"],\"executionTime\":123},\"timestamp\":\"2025-04-08T00:00:00.000Z\"},\"timestamp\":\"2025-04-08T00:00:00.000Z\"}]}"
      }
    ]
  }
}

示例用法

一旦AI助手可以访问Unity工具,您可以要求它执行以下任务:

Can you execute the following C# code in Unity?

GameObject.Find("Player").transform.position = new Vector3(0, 1, 0);

许可证

麻省理工学院

作者

T 萨沃@TSavo)

目录标签

目录标签

TypeScriptClaude开发工具Unity开发混合部署AI交互游戏测试自动化工具运行时调试

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

SSE

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

SSEnone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP