Unity MCP Server
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 ändernAutomatische Wiederherstellung bei Domain Reload — Der Dienst startet nach dem Betreten/Verlassen des PlayMode automatisch neu
Integrierte Tools
Tool | Kategorie | Funktion |
| debug | Ruft die letzten N Protokolle der Unity-Konsole ab |
| debug | Ruft den vollständigen Stacktrace des letzten Fehlers/der letzten Exception ab |
| debug | Ruft Leistungsindikatoren wie FPS, DrawCalls, Speicherauslastung usw. ab |
| debug | Erstellt einen Screenshot der Game-/Scene-Ansicht (base64 PNG) |
| editor | Führt einen Unity-Menüeintrag über den Pfad aus |
| editor | Betreten/Verlassen/Abfragen des PlayMode-Status |
| editor | Ruft Informationen zu den aktuell ausgewählten GameObjects und Assets ab |
| editor | Ruft die GameObject-Baumstruktur der Szene ab (mit Tiefenbegrenzung) |
| editor | Ruft die Assets-Verzeichnisstruktur ab (mit Tiefenbegrenzung) |
| editor | Ruft die serialisierten Feldwerte des ausgewählten Objekts im Inspector ab |
| build | Löst die Skriptkompilierung aus und gibt das Ergebnis zurück |
| build | Ruft die Liste der aktuellen Kompilierungsfehler ab |
| build | Führt Unity Test Runner-Tests aus und gibt das Ergebnis zurück |
Installation
Installation via Git URL (empfohlen)
Unity Editor → Window → Package Manager →
+→ Add package from git URLGeben Sie die folgende URL ein:
https://github.com/yangfch3/Unity-MCP-Server.gitOder 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
Klonen Sie dieses Repository
Unity Editor → Window → Package Manager →
+→ Add package from diskWählen Sie die
package.jsonim 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.0Entsprechende 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
Unity Editor → Window → MCP Server
Port einstellen (Standard 8090), auf Start klicken
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
This server cannot be installed
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