Skip to main content
Glama
MABAAM

VFX Parsers MCP Server

by MABAAM

mcp-vfx-parsers

MCP-Server für das Parsen von VFX-Dateiformaten. Analysieren und generieren Sie Nuke .nk-, MaterialX .mtlx- und USD ASCII .usda-Dateien – alles über das MCP-stdio-Protokoll. Round-Trip-stabil.

Tools

Tool

Beschreibung

parse_nuke

Parsen von .nk-Skript → JSON-AST (Knoten, Eigenschaften, DAG-Verkabelung)

parse_mtlx

Parsen von .mtlx-XML → JSON-AST (Knotengraphen, Eingaben, Materialien)

parse_usda

Parsen von .usda-Text → JSON-AST (Prims, Attribute, Varianten, Verbindungen)

generate_nuke

JSON-AST → .nk-Skript (Round-Trip-stabil)

generate_mtlx

JSON-AST → .mtlx-XML (Round-Trip-stabil)

generate_usda

JSON-AST → .usda-Text (semantischer Round-Trip)

Alle Tools sind schreibgeschützt – sie transformieren Text und greifen niemals auf das Dateisystem zu.

Related MCP server: YAML to JSON Converter MCP Server

Installation

npx -y mcp-vfx-parsers

Verwendung mit Claude Code

Fügen Sie dies zu Ihren Claude Code MCP-Einstellungen hinzu (~/.claude/settings.json):

{
  "mcpServers": {
    "vfx-parsers": {
      "command": "npx",
      "args": ["-y", "mcp-vfx-parsers"]
    }
  }
}

Verwendung mit Claude Desktop

Fügen Sie dies zu claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "vfx-parsers": {
      "command": "npx",
      "args": ["-y", "mcp-vfx-parsers"]
    }
  }
}

Unterstützte Formate

Nuke .nk

Foundry Nuke Compositing-Skripte. Analysiert das TCL-basierte, stapelverkabelte Knotengraph-Format:

  • Knotentypen, Eigenschaften, Positionen

  • Eingangsverkabelung über set/push-Stapel-Direktiven

  • Root-Einstellungen (führt doppelte Root-Blöcke zusammen)

  • TCL-Ausdrücke und UserKnob-Blöcke (als opaker Text beibehalten)

  • Escape-Sequenzen in Anführungszeichen (\", \\, \n, \t, \r, \0)

MaterialX .mtlx

MaterialX Shading-Netzwerkdefinitionen. Analysiert das XML-basierte Format:

  • Knotengraphen mit typisierten Eingaben/Ausgaben

  • Materialzuweisungen

  • nodename-Verbindungsreferenzen (DAG-Kantenextraktion)

  • Attributerhaltung (Anführungszeichen-Stil, Reihenfolge)

  • Kommentare und XML-Prolog

  • XML-Entitätskodierung/-dekodierung (&, {, )

USD ASCII .usda

Pixar Universal Scene Description (ASCII-Layer-Format). Volle Grammatikunterstützung:

  • Prim-Hierarchie (def, over, class)

  • Typisierte Attribute mit uniform/custom-Modifikatoren

  • .connect-Verbindungen (UsdShade-Knotengraphen)

  • .timeSamples-Animationsdaten

  • Beziehungen (einzelne + Array-Ziele)

  • VariantSets mit verschachtelten Variantenkörpern

  • Kompositions-Arcs: Referenzen, Payloads, Inherits, Specializes

  • Layer- und Prim-Metadaten

  • Dreifach in Anführungszeichen gesetzte Strings und Asset-Pfade (@...@, @@@...@@@)

Round-Trip-Garantie

Alle Parser wahren eine strikte Round-Trip-Invariante:

parse(generate(parse(input))) === parse(input)

Nuke und MaterialX erzeugen byte-identische Ausgaben. USDA erzeugt semantisch identische Ausgaben in kanonischer Pretty-Print-Form (Kommentare werden entfernt – dokumentierte Einschränkung).

Sicherheit & Robustheit

  • Eingabegrößenbeschränkung: Alle Tools lehnen Eingaben ab, die größer als 10 MB sind

  • Fehlerhaftes JSON: Generierungs-Tools geben klare Fehlermeldungen zurück, anstatt abzustürzen

  • Kein Dateisystemzugriff: Reine Texttransformationen, sicher für Sandboxing

  • Kein eval/exec: Keine dynamische Codeausführung

  • Keine externen Abhängigkeiten: Nur @modelcontextprotocol/sdk

  • XXE-sicher: Der MaterialX-Parser wertet keine DOCTYPE/Entitäts-Deklarationen aus

  • Unicode: Volle UTF-8-Unterstützung über alle drei Parser hinweg

Entwicklung

git clone https://github.com/MABAAM/mcp-vfx-parsers.git
cd mcp-vfx-parsers
npm install
npm test
node src/server.mjs

Changelog

v0.2.0

  • Server-Härtung: JSON.parse() in einen sicheren Handler gewrappt – fehlerhafte Eingaben führen zu einer Fehlermeldung, anstatt den MCP-Server zum Absturz zu bringen

  • Eingabegrößenbeschränkungen: Alle 6 Tools lehnen Eingaben > 10 MB ab, um Speichererschöpfung zu verhindern

  • Nuke doppelte Root: Mehrere Root-Blöcke werden zusammengeführt (spätere Werte gewinnen), anstatt den ersten stillschweigend zu verwerfen

  • Nuke Escape-Sequenzen: unquote() verarbeitet jetzt \n, \t, \r, \0 zusätzlich zu \" und \\

  • USDA Datenerhaltung: Nicht-Pfad-Werte in .connect-Arrays und Beziehungszielen werden als <INVALID:kind:value> beibehalten, anstatt stillschweigend gelöscht zu werden

v0.1.0

  • Erstveröffentlichung: 3 Parser (Nuke, MaterialX, USDA), 6 MCP-Tools, 13 Tests

Lizenz

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to read, inspect, and manipulate OpenUSD 3D scenes, including scene graph traversal, property querying, mesh export, and variant switching.
    10
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides deterministic conversion between YAML and JSON formats, enabling autonomous agents to flawlessly translate complex configurations without LLM formatting errors.
    6 npm
    3
    -
  • A
    license
    B
    quality
    D
    maintenance
    A production-grade MCP server for Foundry Nuke that enables AI assistants to understand and manipulate compositing environments, including AOVs, deep workflows, distortion, tracking, OCIO/ACEScct, and CopyCat ML.
    45
    MIT