Skip to main content
Glama
yangfch3

Unity MCP Server

by yangfch3

Unity MCP Server

Chinesisch | Englisch

Ein Unity Editor-Plugin, das Unity Editor-Funktionen über das MCP (Model Context Protocol) für externe KI-Agenten bereitstellt.

Agenten (wie Kiro, Cursor, Claude Desktop) können sich über das Standard-MCP-Protokoll mit dem Unity Editor verbinden und Editor-Funktionen aufrufen.

Funktionen

  • Streamable HTTP-Übertragung — Basiert auf der MCP-Spezifikation vom 26.03.2025, einzelner HTTP-Endpunkt

  • In-Process-Ausführung — Kein externer Node.js/Python-Prozess erforderlich, startet direkt im Editor

  • Erweiterbares Tool-System — Implementieren Sie das IMcpTool-Interface, um neue Tools zu registrieren, ohne den Kerncode zu ändern

  • Automatische Wiederherstellung bei Domain Reload — Der Dienst startet nach dem Betreten/Verlassen des PlayMode automatisch neu

Integrierte Tools

Tool

Kategorie

Funktion

console_getLogs

debug

Ruft die letzten N Protokolle der Unity-Konsole ab

debug_getStackTrace

debug

Ruft den vollständigen Stacktrace des letzten Fehlers/der letzten Exception ab

debug_getPerformanceStats

debug

Ruft Leistungsindikatoren wie FPS, DrawCalls, Speicherauslastung usw. ab

debug_screenshot

debug

Erstellt einen Screenshot der Game-/Scene-Ansicht (base64 PNG)

menu_execute

editor

Führt einen Unity-Menüeintrag über den Pfad aus

playmode_control

editor

Betreten/Verlassen/Abfragen des PlayMode-Status

editor_getSelection

editor

Ruft Informationen zu den aktuell ausgewählten GameObjects und Assets ab

editor_getHierarchy

editor

Ruft die GameObject-Baumstruktur der Szene ab (mit Tiefenbegrenzung)

editor_getProjectStructure

editor

Ruft die Assets-Verzeichnisstruktur ab (mit Tiefenbegrenzung)

editor_getInspector

editor

Ruft die serialisierten Feldwerte des ausgewählten Objekts im Inspector ab

build_compile

build

Löst die Skriptkompilierung aus und gibt das Ergebnis zurück

build_getCompileErrors

build

Ruft die Liste der aktuellen Kompilierungsfehler ab

build_runTests

build

Führt Unity Test Runner-Tests aus und gibt das Ergebnis zurück

Installation

Installation via Git URL (empfohlen)

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

  2. Geben Sie die folgende URL ein:

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

Oder bearbeiten Sie direkt die Packages/manifest.json des Host-Projekts:

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

Installation über lokalen Pfad

  1. Klonen Sie dieses Repository

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

  3. Wählen Sie die package.json im Stammverzeichnis dieses Repositorys aus

Oder fügen Sie Folgendes in die Packages/manifest.json ein:

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

Versions-Updates

Nach der Installation über die Git URL sperrt UPM den aktuellen Commit-Hash in der packages-lock.json des Host-Projekts. Es erfolgt kein automatisches Update.

Um eine bestimmte Version zu fixieren, können Sie am Ende der URL ein Git-Tag anhängen:

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

Entsprechende Packages/manifest.json-Konfiguration:

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

Ohne Tag wird der neueste Commit des Standard-Branches verfolgt:

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

Um die Version zu aktualisieren, ändern Sie das #tag-Suffix in der manifest.json auf die neue Versionsnummer oder fügen Sie das Paket im UPM GUI erneut über "Add package from git URL" mit der neuen Tag-URL hinzu.

Verwendung

Dienst starten

  1. Unity Editor → Window → MCP Server

  2. Port einstellen (Standard 8090), auf Start klicken

  3. Kopieren Sie die Konfigurations-JSON aus dem Panel

Agent konfigurieren

Fügen Sie den folgenden Inhalt zur MCP-Konfigurationsdatei des Agenten hinzu (z. B. mcp.json):

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

Erweiterung: Eigene Tools hinzufügen

Implementieren Sie das IMcpTool-Interface und platzieren Sie es in einer beliebigen Editor-Assembly. Der Dienst erkennt und registriert es beim Start automatisch:

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!"));
    }
}

Anforderungen

  • Unity 2022.3+

  • Nur Editor-Umgebung, hat keinen Einfluss auf Runtime-Builds

Mitwirken

Beiträge zur Entwicklung dieses Projekts sind willkommen, siehe CONTRIBUTING.md für Details.

Lizenz

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