VFX Parsers MCP Server
Provides tools for parsing Foundry Nuke .nk compositing scripts into JSON AST (extracting nodes, properties, DAG wiring, and TCL expressions) and generating .nk scripts from JSON AST with round-trip stability.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VFX Parsers MCP Serverparse shot_010.nk and show me the node graph structure"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-vfx-parsers
MCP server for VFX file format parsing. Parse and generate Nuke .nk, MaterialX .mtlx, and USD ASCII .usda files — all via the MCP stdio protocol. Round-trip stable.
Tools
Tool | Description |
| Parse |
| Parse |
| Parse |
| JSON AST → |
| JSON AST → |
| JSON AST → |
All tools are read-only — they transform text, never touch the filesystem.
Install
npx -y mcp-vfx-parsersUsage with Claude Code
Add to your Claude Code MCP settings (~/.claude/settings.json):
{
"mcpServers": {
"vfx-parsers": {
"command": "npx",
"args": ["-y", "mcp-vfx-parsers"]
}
}
}Usage with Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"vfx-parsers": {
"command": "npx",
"args": ["-y", "mcp-vfx-parsers"]
}
}
}Supported Formats
Nuke .nk
Foundry Nuke compositing scripts. Parses the TCL-based stack-wired node graph format:
Node types, properties, positions
Input wiring via
set/pushstack directivesRoot settings (merges duplicate Root blocks)
TCL expressions and UserKnob blocks (preserved as opaque text)
Escape sequences in quoted values (
\",\\,\n,\t,\r,\0)
MaterialX .mtlx
MaterialX shading network definitions. Parses the XML-based format:
Node graphs with typed inputs/outputs
Material assignments
nodenameconnection references (DAG edge extraction)Attribute preservation (quote style, order)
Comments and XML prolog
XML entity encoding/decoding (
&,{,)
USD ASCII .usda
Pixar Universal Scene Description (ASCII layer format). Full grammar support:
Prim hierarchy (
def,over,class)Typed attributes with
uniform/custommodifiers.connectconnections (UsdShade node graphs).timeSamplesanimation dataRelationships (single + array targets)
VariantSets with nested variant bodies
Composition arcs: references, payloads, inherits, specializes
Layer and prim metadata
Triple-quoted strings and asset paths (
@...@,@@@...@@@)
Round-Trip Guarantee
All parsers maintain a strict round-trip invariant:
parse(generate(parse(input))) === parse(input)Nuke and MaterialX produce byte-identical output. USDA produces semantically identical output in canonical pretty-print form (comments stripped — documented limitation).
Safety & Robustness
Input size limit: All tools reject inputs larger than 10 MB
Malformed JSON: Generate tools return clear error messages instead of crashing
No filesystem access: Pure text transforms, safe for sandboxing
No eval/exec: No dynamic code execution
No external dependencies: Only
@modelcontextprotocol/sdkXXE-safe: MaterialX parser does not evaluate DOCTYPE/entity declarations
Unicode: Full UTF-8 support across all three parsers
Development
git clone https://github.com/MABAAM/mcp-vfx-parsers.git
cd mcp-vfx-parsers
npm install
npm test
node src/server.mjsChangelog
v0.2.0
Server hardening:
JSON.parse()wrapped in safe handler — malformed input returns error instead of crashing the MCP serverInput size limits: All 6 tools reject inputs > 10 MB to prevent memory exhaustion
Nuke duplicate Root: Multiple Root blocks are merged (later values win) instead of silently discarding the first
Nuke escape sequences:
unquote()now handles\n,\t,\r,\0in addition to\"and\\USDA data preservation: Non-path values in
.connectarrays and relationship targets are preserved as<INVALID:kind:value>instead of silently dropped
v0.1.0
Initial release: 3 parsers (Nuke, MaterialX, USDA), 6 MCP tools, 13 tests
License
MIT
This server cannot be installed
Maintenance
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/MABAAM/mcp-vfx-parsers'
If you have feedback or need assistance with the MCP directory API, please join our Discord server