Skip to main content
Glama

unity-api-mcp

PyPI-Version PyPI-Downloads MCP-Registry GitHub-Sterne GitHub Letzter Commit Wöchentlicher DB-Build Lizenz: MIT Python 3.10+

MCP-Server, der KI-Agenten präzise Unity-API-Dokumentation liefert. Verhindert halluzinierte Signaturen, falsche Namespaces und die Verwendung veralteter APIs.

Unterstützt Unity 6 (eine Datenbank pro Nebenversion), Unity 2023 und Unity 2022 LTS. Funktioniert mit Claude Code, Cursor, Windsurf oder jedem MCP-kompatiblen KI-Tool. Keine Installation von Unity erforderlich. Siehe die unterstützten Versionen. Neue Unity-Veröffentlichungen werden automatisch erkannt und wöchentlich erstellt.

Kurzanleitung

Fügen Sie in Ihre MCP-Konfiguration (.mcp.json, mcp.json oder die MCP-Einstellungen Ihres Tools) ein und setzen Sie UNITY_VERSION auf Ihre Projektversion:

{
  "mcpServers": {
    "unity-api": {
      "command": "uvx",
      "args": ["unity-api-mcp"],
      "env": {
        "UNITY_VERSION": "6000.3"
      }
    }
  }
}

Gültige Werte: Ein Unity-6-Stream wie "6000.3" oder "6", "2023", "2022".

Beim ersten Start lädt der Server die korrekte Datenbank herunter (ca. 20–30 MB) nach ~/.unity-api-mcp/.

Related MCP server: Funplay MCP for Unity

So funktioniert es

  1. Versionserkennung. Der Server ermittelt, welche Unity-Version bereitgestellt werden soll:

Priorität

Quelle

Beispiel

1

UNITY_VERSION env var

"2022", "6", "6000.3" oder "6000.3.8f1"

2

UNITY_PROJECT_PATH

Liest ProjectSettings/ProjectVersion.txt, bildet 2022.3.62f1 auf "2022" ab, 6000.3.8f1 auf "6000.3"

3

Standard

"6"

  1. Datenbank-Download. Wenn die Datenbank für diese Version nicht lokal zwischengespeichert ist, wird sie von GitHub heruntergeladen. Unity-6-Nebenversionen (6000.0, 6000.3, 6000.5, …) erhalten eine eigene pro-Stream-Datenbank und fallen auf die generische 6-Datenbank zurück, wenn keine Stream-Datenbank veröffentlicht wurde. Zwischengespeicherte Datenbanken werden beim Start auf Aktualität gegenüber der Veröffentlichung geprüft, sodass wöchentliche Neuerstellungen automatisch bei bestehenden Installationen ankommen.

  2. Bereitstellung. Alle Tool-Aufrufe fragen die versionsspezifische SQLite-Datenbank ab. Jede Abfrage dauert <15 ms.

Jede Version hat ihre eigene Datenbank mit den korrekten Signaturen, Veraltungswarnungen und Mitgliederlisten für diese Version.

Werkzeuge

Tool

Zweck

Beispiel

search_unity_api

APIs nach Stichwort suchen

"Tilemap SetTile", "async load scene"

get_method_signature

Exakte Signaturen mit allen Überladungen

UnityEngine.Physics.Raycast

get_namespace

using-Direktiven auflösen

"SceneManager" -> using UnityEngine.SceneManagement;

get_class_reference

Vollständige Klassenreferenzkarte

"InputAction" -> alle Methoden/Felder/Eigenschaften

get_deprecation_warnings

Prüfen, ob eine API veraltet ist

"WWW" -> Stattdessen UnityWebRequest verwenden

Abdeckung

Alle UnityEngine- und UnityEditor-Module sowie aus C#-Quellen geparste Pakete: Input System, Addressables, uGUI (inkl. TextMeshPro unter Unity 6), AI Navigation und Netcode. Ca. 42.500 Datensätze pro Unity-6-Datenbank, ca. 500 Veraltungswarnungen jeweils.

Vollständige Versionsliste: db-v1 Release-Seite. CI generiert diese Tabelle bei jedem Build neu. Neue Unity-Patches werden automatisch jeden Montag erkannt und erstellt.

Nicht abgedeckt werden Drittanbieter-Assets (DOTween, VContainer, Newtonsoft.Json). Verlassen Sie sich dafür auf den Projektquellcode.

Benchmarks

Gemessen, nicht versprochen: 25 Forschungsfragen in 3 Testumgebungen, beantwortet von 3 Agentenkonfigurationen, jede Antwort gegen vorher im Quellcode überprüfte Referenzdaten bewertet. Die vollständige Testumgebung befindet sich in docs/benchmark/ und kann mit einem Befehl erneut ausgeführt werden.

Konfiguration

Richtig

Teilweise

Falsch

Halluzinierte APIs

MCP + gezieltes Lesen

24/25

1

0

0

Erfahren (Grep+Read)

20/25

3

2

1

Naiv (nur Read)

19/25

3

3

1

Die eine reproduzierte Halluzination ist lehrreich. Auf die Frage, die Überladungen von SceneManager.LoadSceneAsync aufzulisten, erfanden beide Nicht-MCP-Agenten die nicht existierenden Ein-Parameter-Überladungen LoadSceneAsync(string) und LoadSceneAsync(int). Code, der dagegen geschrieben wurde, kompiliert nicht. Der MCP-Agent gab die genauen vier echten Überladungen zurück.

Warum Korrektheit und nicht Token-Ersparnis? Agentische Werkzeuge sind heutzutage gut in der Codesuche. Claude Code hatte von Anfang an ein Grep-Werkzeug, und aktuelle Modelle suchen zuerst und lesen dann einen engen Zeilenbereich, sodass der rohe Token-Verbrauch in unseren Läufen über alle Konfigurationen hinweg vergleichbar war. Aber exakte Überladungen, Namespaces und Veraltungshinweise sind in Ihren Projektdateien überhaupt nicht vorhanden. Ein Agent ohne MCP kann sie nur aus Nutzungsbeispielen ableiten, und wenn er falsch ableitet, zahlen Sie mit einem kaputten Build.

  • 3 Testumgebungen: ein echtes Unity-6-Spielprojekt (11 Fragen), reine Unity-API-Suchen (8) und Unity-Input-System-Paketquellen mit 2.700 bis 4.600 Zeilen (6)

  • 3 Konfigurationen, gleiches Modell und gleiche Rundenbegrenzung: MCP-Tools + Grep/Read, nur Grep/Read, nur Read

  • Referenzdaten durch Lesen des Quellcodes vor allen Läufen überprüft; Antworten von einer separaten Modellsitzung gegen diese Referenzdaten bewertet; Token-Verbrauch aus den API-Nutzungsfeldern entnommen

  • Selbst ausführen: python docs/benchmark/run.py --project <unity-projekt-pfad> (Ergebnisse vom Juli 2026; das Agentenverhalten ändert sich, also vor Zitieren erneut ausführen)

CLAUDE.md-Ausschnitt

Fügen Sie dies in die CLAUDE.md Ihres Projekts (oder eine entsprechende Anweisungsdatei) ein. Dieser Schritt ist wichtig. Ohne ihn hat die KI die Werkzeuge, weiß aber nicht, wann sie sie einsetzen soll.

## Unity API Lookup (unity-api MCP)

Use the `unity-api` MCP tools to verify Unity API usage instead of guessing. **Do not hallucinate signatures.**

| When | Tool | Example |
|------|------|---------|
| Unsure about a method's parameters or return type | `get_method_signature` | `get_method_signature("UnityEngine.Tilemaps.Tilemap.SetTile")` |
| Need the `using` directive for a type | `get_namespace` | `get_namespace("SceneManager")` |
| Want to see all members on a class | `get_class_reference` | `get_class_reference("InputAction")` |
| Searching for an API by keyword | `search_unity_api` | `search_unity_api("async load scene")` |
| Checking if an API is deprecated | `get_deprecation_warnings` | `get_deprecation_warnings("FindObjectOfType")` |

**Rules:**
- Before writing a Unity API call you haven't used in this conversation, verify the signature with `get_method_signature`
- Before adding a `using` directive, verify with `get_namespace` if unsure
- Covers: all UnityEngine/UnityEditor modules, Input System, Addressables, uGUI/TextMeshPro, AI Navigation, Netcode
- Does NOT cover: DOTween, VContainer, Newtonsoft.Json (third-party)

Einrichtungsdetails

Anstatt UNITY_VERSION zu setzen, können Sie auf Ihr Unity-Projekt verweisen. Der Server liest ProjectSettings/ProjectVersion.txt automatisch:

{
  "mcpServers": {
    "unity-api": {
      "command": "uvx",
      "args": ["unity-api-mcp"],
      "env": {
        "UNITY_PROJECT_PATH": "/path/to/your/unity-project"
      }
    }
  }
}

Mit pip installieren:

pip install unity-api-mcp
{
  "mcpServers": {
    "unity-api": {
      "command": "unity-api-mcp",
      "args": [],
      "env": {
        "UNITY_VERSION": "6000.3"
      }
    }
  }
}

Variable

Zweck

Beispiel

UNITY_VERSION

Bereitzustellende Unity-Version

6000.3, 6000.3.8f1, 6, 2023, 2022

UNITY_PROJECT_PATH

Version automatisch aus Projekt erkennen

F:/Unity Projects/my-project

UNITY_INSTALL_PATH

Unity-Installationspfad überschreiben (nur für ingest)

D:/Unity/6000.3.8f1

Wenn Sie eine Datenbank aus Ihrer eigenen Unity-Installation statt einem Download erstellen möchten:

# Install with ingest dependencies
pip install unity-api-mcp[ingest]

# Windows
python -m unity_api_mcp.ingest --unity-version 6000.3 --unity-install "D:/Unity/6000.3.8f1" --project "F:/Unity Projects/MyProject"

# macOS
python -m unity_api_mcp.ingest --unity-version 6000.3 --unity-install "/Applications/Unity/Hub/Editor/6000.3.20f1" --project "/path/to/UnityProject"

# Legacy versions
python -m unity_api_mcp.ingest --unity-version 2022 --unity-install "D:/Unity/2022.3.62f1"

Datenbanken werden standardmäßig nach ~/.unity-api-mcp/unity_docs_{version}.db geschrieben.

Wenn ein KI-Agent dies für Sie einrichtet:

Fügen Sie unity-api-mcp zu meiner MCP-Konfiguration hinzu, verwenden Sie uvx mit UNITY_VERSION passend zu meinem Projekt, fügen Sie den CLAUDE.md-Ausschnitt aus der README an und überprüfen Sie mit get_namespace("SceneManager").

unity-api-mcp/
├── src/unity_api_mcp/
│   ├── server.py          # MCP server (5 tools)
│   ├── db.py              # SQLite + FTS5 database layer
│   ├── version.py         # Version detection + DB download
│   ├── xml_parser.py      # Parse Unity XML IntelliSense files
│   ├── cs_doc_parser.py   # Parse C# doc comments from package source
│   ├── unity_paths.py     # Locate Unity install + package dirs
│   └── ingest.py          # CLI ingestion pipeline
└── pyproject.toml

Datenbanken werden in ~/.unity-api-mcp/ gespeichert (beim ersten Start heruntergeladen).

Fehlerbehebung

Problem

Lösung

"Datenbank für Unity X konnte nicht heruntergeladen werden"

Internetverbindung prüfen. Oder lokal erstellen: python -m unity_api_mcp.ingest --unity-version 2022

Falsche API-Version wird bereitgestellt

UNITY_VERSION explizit setzen. stderr prüfen: unity-api-mcp: serving Unity <version> API docs

Server startet nicht

python --version prüfen (benötigt 3.10+). Pfad prüfen: which unity-api-mcp oder where unity-api-mcp

Drittanbieter-Pakete liefern keine Ergebnisse

DOTween, VContainer, Newtonsoft.Json sind nicht indiziert (Drittanbieter, keine Unity-Pakete)


Siehe auch

unreal-api-mcp: Gleiches Konzept für Unreal Engine (C++), mit wöchentlich automatisch erstellten Datenbanken pro UE-Version.

Kontakt

Benötigen Sie einen maßgeschneiderten MCP-Server für Ihre Engine oder Ihr Framework? Ich entwickle MCP-Tools, die Token-Verschwendung reduzieren und Halluzinationen bei KI-gestützter Spieleentwicklung verhindern. Wenn Sie etwas Ähnliches für Ihren Team-Stack wünschen, nehmen Sie Kontakt auf.

fuatcankoseoglu@gmail.com

Lizenz

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
3wRelease cycle
8Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    An intelligent MCP server that enables AI agents to crawl, index, and semantically search official framework documentation using local RAG. It prevents hallucinations by providing precise, up-to-date documentation excerpts directly into the AI's context window.
    1
  • A
    license
    -
    quality
    A
    maintenance
    This MCP server integrates AI assistants with Unity Editor, allowing them to create scenes, generate scripts, simulate input, and automate workflows using 91 built-in tools.
    214
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    An MCP server that provides tools to fetch live, version-accurate documentation, changelogs, examples, and method signatures for npm and PyPI packages, preventing AI coding agents from hallucinating stale APIs.
    16
    ISC

View all related MCP servers

Related MCP Connectors

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

View all MCP Connectors

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/Codeturion/unity-api-mcp'

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