USD AI
The contents of this repository are a collection of OpenUSD tools that interface with MCP (modelcontextprotocol) and A2A (agent2agent). The goal of this effort is to give large language models and agentic workflows the tools to work directly with OpenUSD objects, e.g., UsdStage, prims, hierarchies, and others and integrate them into comprehensive asset creation workflows.
Introduction
Setup
Currently this project has been tested to work on Windows 11 with usd-core from PyPi and NVidia USD v25.05 with Python 3.11.11.
- Install UV package manager from https://astral.sh
- Execute the following:
- git clone https://github.com/rudycazabon/usd-ai.git
- cd usd-ai
- uv python install "3.11.11"
- uv venv --python="3.11.11"
- ./.venv/Scripts/activate.ps1
- uv pip install -r .\requirements.txt
- To test out the server
- python -m pytest usd-mcp/server/tests/test_server.py
- python -m pytest usd-mcp/server/tests/test_usd_mcp_server.py
- Adding to the Claude Desktop (Windows)
- Open %APPDATA%\claude_desktop_config.json
- Add/Modify the file with the following:
{
"mcpServers": {
"usd-mcp": {
"command": "<FULL PATH>\\usd-ai\\.venv\\Scripts\\python.exe",
"args": ["<FULL PATH>\\usd-ai\\usd-mcp\\usd_mcp\\main.py"],
"cwd": "<FULL PATH>\\usd-ai"
}
}
}
Usage
Within the context for Claude Desktop (Windows) you will have access to the following USD tools:
- load_usd_stage
- get_stage_hierarchy
- inspect_prim
- list_stage_prims
- find_prims_by_name
For the purposes of this repo I have included usd-mcp\data\HelloWorld.usda. I have loaded the Pixar KitchenSet, however, your milage will vary (trust me).
A sample prompt session that has worked"
Load the USD file at <FULL PATH>\\usd-ai\\usd-mcp\\data\\HelloWorld.usda.
<will see load of file>
Show me the hierarchy and present in formatted JSON.
Contents
usd-mcp - OpenUSD tools exposed with MCP protocols.
usd-a2a - OpenUSD tools exposed to agentic workflows with the a2a protocol.
Metadata
Release files for iflow-mcp_rudycazabon-usd-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_rudycazabon_usd_mcp-0.1.0.tar.gz | 81.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_rudycazabon_usd_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 127.3 kB
Release files / iflow_mcp_rudycazabon_usd_mcp-0.1.0.tar.gz
| Download URL | iflow_mcp_rudycazabon_usd_mcp-0.1.0.tar.gz |
|---|---|
| Size | 81.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f0f6977c421bca7863b9ee49194db96beb9e29dbd2135b57072e051cf990379
|
|
BLAKE2b-256 checksum How to use checksums |
6209ba9b857455189db106ddd96fce4ca7fcddb4b13d4b87461de4ce35f8dedb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_rudycazabon_usd_mcp-0.1.0-py3-none-any.whl
| Download URL | iflow_mcp_rudycazabon_usd_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 45.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4af9a841211974496cdd425506b9899acba6691471cab3b37fdbdb39a9fa04ac
|
|
BLAKE2b-256 checksum How to use checksums |
cbb31e2bc302969f6816bf02bb295bbc4fc85c6d61c6a5d744f85faffb472f65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|