usd
MCP Server for interacting with USD files. Built for use in Griptape Nodes (should work outside that)
claude mcp add --transport stdio griptape-ai-usd-mcp-server uvx griptape-ai-usd-mcp-server
How to use
This MCP server provides a Python-based interface for interacting with Pixar USD files through a collection of single-action tools designed for orchestration by large language models. It exposes capabilities for stage management, file inspection, attribute writing, prim authoring, transforms, composition, variants, materials, cameras, bounds, and export operations. The tools are named using camelCase aliases to improve readability and integration with LLM prompts, and input handling normalizes arguments to a flat JSON style for robust parsing. You can use this server to open or create a USD stage, inspect and summarize USD assets, modify attributes, create and delete prims, adjust transforms, assemble references, manage variants and materials, query camera and bounds data, and export flattened USD or USDZ representations.
To use the server, start it via your environment (the MCP framework will handle orchestration). Then issue tool calls to perform actions such as opening a stage, listing prims, or setting attributes. The server is designed to be tolerant of input keys and will map common synonyms (e.g., displayColor) to the appropriate primvars:displayColor path, ensuring smooth interaction with your prompts.
How to install
Prerequisites:\n- Python 3.8+ (recommended)\n- A working USD installation if you intend to export or load USD data (usd-core wheels are suggested)\n- Access to a Python environment to install the MCP server package\n\nInstallation steps:\n1) Create and activate a virtual environment:\nbash\npython -m venv .venv && source .venv/bin/activate\n\n2) Install the MCP server package in editable mode from the repository or PyPI (adjust package name if hosting differently):\nbash\npip install -e .\n\n3) Install USD wheels if needed (example):\nbash\npip install "usd-core==25.11"\n\n4) Verify the installation by importing the module or running a simple script as shown in the examples (e.g., minimal_read.py) to confirm the server is available.\n
Additional notes
Tips and considerations:\n- The server uses camelCase tool names and normalizes arguments to flat JSON for compatibility with LLM prompts.\n- Default environment assumes upAxis Z and an open-or-create stage workflow.\n- If you encounter USD path or library errors, ensure your USD Python bindings (usd-core wheels) match your USD version and are accessible in the same Python environment.\n- For large scenes, the export tools offer flattening and skipIfExists options; consider using exportUsdFile with caution to avoid overwriting data.\n- When wiring prompts, leverage the provided examples (e.g., minimal_read.py, create_stage.py) to understand tool signatures and expected inputs.\n- If running in a container or cloud environment, bind necessary USD runtime libraries and ensure file I/O permissions are properly configured.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP