VFX Parsers MCP Server
mcp-vfx-parsers
VFXファイル形式解析用のMCPサーバー。Nuke .nk、MaterialX .mtlx、USD ASCII .usda ファイルを、すべてMCP stdioプロトコルを介して解析および生成します。ラウンドトリップ安定性を備えています。
ツール
ツール | 説明 |
|
|
|
|
|
|
| JSON AST → |
| JSON AST → |
| JSON AST → |
すべてのツールは読み取り専用です。テキストを変換するだけで、ファイルシステムには一切触れません。
Related MCP server: YAML to JSON Converter MCP Server
インストール
npx -y mcp-vfx-parsersClaude Codeでの使用方法
Claude CodeのMCP設定 (~/.claude/settings.json) に追加します:
{
"mcpServers": {
"vfx-parsers": {
"command": "npx",
"args": ["-y", "mcp-vfx-parsers"]
}
}
}Claude Desktopでの使用方法
claude_desktop_config.json に追加します:
{
"mcpServers": {
"vfx-parsers": {
"command": "npx",
"args": ["-y", "mcp-vfx-parsers"]
}
}
}サポートされている形式
Nuke .nk
Foundry Nukeコンポジットスクリプト。TCLベースのスタック配線ノードグラフ形式を解析します:
ノードタイプ、プロパティ、位置
set/pushスタックディレクティブによる入力配線ルート設定 (重複するRootブロックをマージ)
TCL式およびUserKnobブロック (不透明なテキストとして保持)
クォートされた値内のエスケープシーケンス (
\",\\,\n,\t,\r,\0)
MaterialX .mtlx
MaterialXシェーディングネットワーク定義。XMLベースの形式を解析します:
型付き入力/出力を持つノードグラフ
マテリアル割り当て
nodename接続参照 (DAGエッジ抽出)属性の保持 (クォートスタイル、順序)
コメントおよびXML宣言
XMLエンティティのエンコード/デコード (
&,{,)
USD ASCII .usda
Pixar Universal Scene Description (ASCIIレイヤー形式)。完全な文法をサポート:
プリム階層 (
def,over,class)uniform/custom修飾子を持つ型付き属性.connect接続 (UsdShadeノードグラフ).timeSamplesアニメーションデータリレーションシップ (単一および配列ターゲット)
ネストされたバリアントボディを持つVariantSets
コンポジションアーク: references, payloads, inherits, specializes
レイヤーおよびプリムのメタデータ
トリプルクォート文字列およびアセットパス (
@...@,@@@...@@@)
ラウンドトリップ保証
すべてのパーサーは厳密なラウンドトリップ不変条件を維持します:
parse(generate(parse(input))) === parse(input)NukeとMaterialXはバイト単位で同一の出力を生成します。USDAは正規化されたプリティプリント形式で意味的に同一の出力を生成します(コメントは削除されます — 文書化された制限事項)。
安全性と堅牢性
入力サイズ制限: すべてのツールは10 MBを超える入力を拒否します
不正なJSON: 生成ツールはクラッシュする代わりに明確なエラーメッセージを返します
ファイルシステムアクセスなし: 純粋なテキスト変換であり、サンドボックス環境で安全です
eval/execなし: 動的なコード実行は行いません
外部依存関係なし:
@modelcontextprotocol/sdkのみを使用XXEセーフ: MaterialXパーサーはDOCTYPE/エンティティ宣言を評価しません
Unicode: 3つのパーサーすべてで完全なUTF-8サポート
開発
git clone https://github.com/MABAAM/mcp-vfx-parsers.git
cd mcp-vfx-parsers
npm install
npm test
node src/server.mjs変更履歴
v0.2.0
サーバーの強化:
JSON.parse()を安全なハンドラーでラップ — 不正な入力はMCPサーバーをクラッシュさせる代わりにエラーを返します入力サイズ制限: 6つのツールすべてで10 MBを超える入力を拒否し、メモリ枯渇を防ぎます
Nukeの重複Root: 最初のブロックを黙って破棄するのではなく、複数のRootブロックをマージします(後の値が優先されます)
Nukeのエスケープシーケンス:
unquote()は\"と\\に加え、\n,\t,\r,\0を処理するようになりましたUSDAデータの保持:
.connect配列およびリレーションシップターゲット内のパス以外の値は、黙って削除されるのではなく<INVALID:kind:value>として保持されます
v0.1.0
初回リリース: 3つのパーサー (Nuke, MaterialX, USDA)、6つのMCPツール、13のテスト
ライセンス
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Parse PDF/Word/PPT/HTML to Markdown; tables as JSON, image extraction, RAG chunking, page ranges.
Read and write typed fictional worlds (22 linked element types) via the OnlyWorlds open standard.
Geometry and CAD file metadata extraction for STL, OBJ, PLY, PCD, LAS/LAZ, glTF/GLB.
Deterministic JSON repair, validate, example-gen, schema-coerce for agents. Zero LLM, sub-10ms.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to read, inspect, and manipulate OpenUSD 3D scenes, including scene graph traversal, property querying, mesh export, and variant switching.10MIT
- FlicenseNot gradedqualityDmaintenanceProvides deterministic conversion between YAML and JSON formats, enabling autonomous agents to flawlessly translate complex configurations without LLM formatting errors.6 npm3-
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to Nuke for compositing tasks via natural language.9MIT
- AlicenseBqualityDmaintenanceA 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.45MIT