Skip to main content
Glama
yangfch3

Unity MCP Server

by yangfch3

Unity MCP Server

中文 | English

Плагин для Unity Editor, предоставляющий возможности Unity Editor внешним AI-агентам через MCP (Model Context Protocol).

Агенты (такие как Kiro, Cursor, Claude Desktop) могут подключаться к Unity Editor через стандартный протокол MCP для вызова функций редактора.

Характеристики

  • Потоковая передача по HTTP — на основе спецификации MCP от 2025-03-26, единая HTTP-точка доступа

  • Работа внутри процесса — не требует внешних процессов Node.js/Python, запускается непосредственно внутри редактора

  • Расширяемая система инструментов — реализуйте интерфейс IMcpTool для регистрации новых инструментов без изменения основного кода

  • Автоматическое восстановление при Domain Reload — служба автоматически перезапускается после входа/выхода из PlayMode

Встроенные инструменты

Инструмент

Категория

Функция

console_getLogs

debug

Получение последних N логов из консоли Unity

debug_getStackTrace

debug

Получение полного стека вызовов для последней ошибки/исключения

debug_getPerformanceStats

debug

Получение показателей производительности (FPS, DrawCall, использование памяти и т.д.)

debug_screenshot

debug

Создание скриншота окна Game/Scene (base64 PNG)

menu_execute

editor

Выполнение пункта меню Unity по пути

playmode_control

editor

Вход/выход/запрос состояния PlayMode

editor_getSelection

editor

Получение информации о выбранном GameObject и Asset

editor_getHierarchy

editor

Получение структуры дерева GameObject сцены (с ограничением глубины)

editor_getProjectStructure

editor

Получение структуры каталога Assets (с ограничением глубины)

editor_getInspector

editor

Получение значений сериализованных полей Inspector для выбранного объекта

build_compile

build

Запуск компиляции скриптов и получение результата

build_getCompileErrors

build

Получение списка текущих ошибок компиляции

build_runTests

build

Запуск тестов Unity Test Runner и получение результата

Установка

Установка через Git URL (рекомендуется)

  1. Unity Editor → Window → Package Manager → + → Add package from git URL

  2. Введите следующий URL:

https://github.com/yangfch3/Unity-MCP-Server.git

Или отредактируйте файл Packages/manifest.json в проекте:

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "https://github.com/yangfch3/Unity-MCP-Server.git"
  }
}

Установка из локальной папки

  1. Клонируйте этот репозиторий

  2. Unity Editor → Window → Package Manager → + → Add package from disk

  3. Выберите файл package.json в корневой папке репозитория

Или добавьте в Packages/manifest.json:

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "file:../../path/to/unity-mcp"
  }
}

Обновление версии

После установки UPM через Git URL текущий commit hash фиксируется в файле packages-lock.json проекта. В дальнейшем автоматическое обновление не происходит.

Чтобы зафиксировать определенную версию, можно добавить Git Tag в конце URL:

https://github.com/yangfch3/Unity-MCP-Server.git#v0.1.0

Конфигурация для Packages/manifest.json:

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "https://github.com/yangfch3/Unity-MCP-Server.git#v0.1.0"
  }
}

Если тег не указан, отслеживается последний коммит в ветке по умолчанию:

{
  "dependencies": {
    "com.yangfch3.unity-mcp": "https://github.com/yangfch3/Unity-MCP-Server.git"
  }
}

При обновлении версии измените суффикс #tag в manifest.json на новый номер версии или повторно добавьте пакет через UPM GUI, введя URL с новым тегом.

Использование

Запуск службы

  1. Unity Editor → Window → MCP Server

  2. Установите порт (по умолчанию 8090) и нажмите Start

  3. Скопируйте конфигурационный JSON из панели

Настройка агента

Добавьте следующее содержимое в файл конфигурации MCP вашего агента (например, mcp.json):

{
  "mcpServers": {
    "unity-mcp": {
      "url": "http://localhost:8090/"
    }
  }
}

Расширение: добавление пользовательских инструментов

Реализуйте интерфейс IMcpTool и поместите его в любую сборку Editor; служба автоматически обнаружит и зарегистрирует его при запуске:

using System.Collections.Generic;
using System.Threading.Tasks;
using UnityMcp.Editor;

public class MyCustomTool : IMcpTool
{
    public string Name => "my_custom_tool";
    public string Category => "custom";
    public string Description => "我的自定义工具";
    public string InputSchema => "{\"type\":\"object\",\"properties\":{}}";

    public Task<ToolResult> Execute(Dictionary<string, object> parameters)
    {
        return Task.FromResult(ToolResult.Success("Hello from custom tool!"));
    }
}

Требования

  • Unity 2022.3+

  • Только среда Editor, не влияет на сборку во время выполнения (runtime)

Участие в разработке

Приглашаем к участию в разработке проекта, подробности см. в CONTRIBUTING.md.

Лицензия

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yangfch3/Unity-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server