dcc-mcp-substance3d-designer
Showcase: reference image to Designer materials and Blender lookdev
A Codex-generated reference guided a 2.2 m wooden crate modeled in Blender with painted wood and rusted steel authored in Substance 3D Designer 16. Wood scratches, metal scratches and rust are independent procedural layers in the SD graphs. Their exported PBR maps drive the Blender materials. Layered broken battens combine attached wood fibers with native SD height displacement; fine wood grain uses a separate UV layer with consistent physical density.
| Codex-generated reference | Blender Cycles render using SD maps |
|---|---|
Model UVs — coordinates and a rendered checker:
| UV coordinates | Checker on the model |
|---|---|
Wood detail uses one tile per 0.45 m. UVs intentionally tile and overlap; the UV review explains the two layers and the existing steel UVs.
Complete material graphs — unretouched Designer screenshots:
| Painted wood: 37 nodes | Rusted steel: 35 nodes |
|---|---|
Blender scene with packed textures · Editable SBS, SBSAR, maps and workflow · UV checker · Broken wood detail · Blender showcase · Website gallery · Earlier color-correction study
The crate is a reference-guided modeling and lookdev study. Its proportions, board UVs and hardware were authored in Blender; it is not a scan of the generated image. The material screenshots use the project's DCC-CUA route.
Agent workflow
AI agents should use the shared gateway through dcc-mcp-cli; IDE users may
continue to use the MCP endpoint. Prefer typed skills and tools over raw scripts.
Install or update the CLI
dcc-mcp-cli is the preferred control path for every shell-capable agent. If
it is missing, ask the user before installing the latest official release:
# Linux/macOS
curl -fsSL https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.sh | sh
# Windows PowerShell
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.ps1 | iex"
Keep an official build current through the release manifest:
dcc-mcp-cli update check
dcc-mcp-cli update apply
update apply downloads and stages the latest CLI for the next launch. It
does not update a running dcc-mcp-server; update that server in its own
environment.
dcc-mcp-cli dcc-types
dcc-mcp-cli list
dcc-mcp-cli search --query "<task>" --dcc-type substance3d_designer
dcc-mcp-cli describe <tool-slug>
dcc-mcp-cli call <tool-slug> --json '{"key":"value"}'
dcc-types reports release-catalog support; list reports live sessions. If a
tool belongs to an inactive progressive skill, call dcc-mcp-cli load-skill <skill-name> --dcc-type substance3d_designer before retrying. For post-task improvement,
attach a stable session id with --meta-json, query dcc-mcp-cli stats --range 24h --session-id <task-id>, then pass the bounded evidence to the
review_skill_improvement prompt from dcc-mcp-skills-creator.
Substance 3D Designer adapter for the DCC Model Context Protocol (MCP).
The package runs an embedded Streamable HTTP MCP server inside Designer, so tools execute through Designer's Qt main thread instead of a separate process.
Install and load
Follow the canonical Install SOP for automatic host discovery, a zero-write plan, staged installation, receipt-owned uninstall, and verify-to-usable diagnostics:
python3.11 -m pip install dcc-mcp-substance3d-designer
dcc-mcp-substance3d-designer install --dcc-path "/path/to/Designer" --python python3.11 --json --dry-run
dcc-mcp-substance3d-designer install --dcc-path "/path/to/Designer" --python python3.11 --json --yes
The receipted launcher preserves existing SBS_DESIGNER_PYTHON_PATH and PYTHONPATH values while
adding the dedicated plugin. A source checkout may still be loaded interactively through Tools >
Plugin Manager as documented in the SOP. Each adapter instance uses an OS-assigned port and
registers it for CLI discovery.
Connect through the stable gateway at http://127.0.0.1:9765/mcp; set
DCC_MCP_SUBSTANCE3D_DESIGNER_PORT only when a fixed direct endpoint is required.
Standard DCC_MCP_GATEWAY_PORT and DCC_MCP_REGISTRY_DIR settings are also honoured.
For unattended launches, pass Designer a persistent configuration with
--config-file <path-to-default_configuration.sbscfg>. This prevents a stale
session-specific configuration reference from opening a blocking startup
dialog.
Bundled skills
designer-session provides typed tools for inspecting the active Designer
session and creating a rendered procedural PBR material package. Host APIs are
imported only while a tool runs, so metadata discovery remains safe outside
Designer.
Development
python -m pip install -e ".[dev]"
python -m pytest
ruff check src tests tools
python -m build
Releases use release-please. The release.yml workflow publishes through the
pypi environment using PyPI Trusted Publishing.
Reference-material reconstruction
designer-session.create_imported_pbr_material accepts either packed RMA/ARM maps
or separate roughness_path and metallic_path, alongside the required base-color
and normal maps. Separate AO is optional. height_path works with either mode;
packed and separate scalar maps cannot be mixed. Set embed_resources: true to
embed the source bitmaps in the editable .sbs instead of linking them.
Example tool arguments (replace the paths with existing source maps):
{
"package_path": "C:/materials/sample/material.sbs",
"output_dir": "C:/materials/sample/maps",
"base_color_path": "C:/sources/basecolor.png",
"normal_path": "C:/sources/normal.png",
"roughness_path": "C:/sources/roughness.png",
"metallic_path": "C:/sources/metallic.png",
"ambient_occlusion_path": "C:/sources/ao.png",
"height_path": "C:/sources/height.png",
"embed_resources": true,
"open_in_editor": false
}
This creates an editable bitmap/output graph, not a recovered procedural material. Use the existing node creation, connection and parameter tools to construct and iterate procedural structure when needed. Source images must already be PBR maps; a lit reference photograph is not directly a base-color map. A single image does not uniquely determine roughness, metallic response, illumination or physical height. Record these as estimates until checked against additional evidence.
For a Designer-to-Painter handoff, pass the returned texture_files to Painter's
create_textured_pbr_layer, mapping AmbientOcclusion to
ambient_occlusion_path and optional Height to height_path. Keep the normal
convention and color-management configuration consistent across both hosts.
The import helper writes PNG previews without a configurable bit-depth contract;
retain original high-precision height sources when precision matters.
Before accepting a result, reopen the saved .sbs and .spp, inspect graph
connections and layer channels, verify the exported maps, and compare actual host
renders under matched lighting, camera and scale. File existence and mocked SDK
tests do not verify the visual result. Use a fresh output directory per iteration.
See the reference-material capability matrix
for node inspection, connection guards, resource instancing, persistence/export
contracts and remaining live-host validation. Parameter exposure uses public graph inputs and property function graphs; unsupported
SDK variable readers return EXPOSE_API_UNAVAILABLE. Native PNG exports report
actual channel count and bit depth, and graph input edits are verified by readback.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dcc_mcp_substance3d_designer-0.7.0.tar.gz.
File metadata
- Download URL: dcc_mcp_substance3d_designer-0.7.0.tar.gz
- Upload date:
- Size: 130.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50454fefb0da281a73898e451d40006d10342d594c466314e31ef264de7de975
|
|
| MD5 |
8b5d8a5b66c377d5b1fe4b93606ba8f8
|
|
| BLAKE2b-256 |
a8b9ab1fec48663eb79b3ab106ccb9180cca42831936ae4b9189435098148bff
|
Provenance
The following attestation bundles were made for dcc_mcp_substance3d_designer-0.7.0.tar.gz:
Publisher:
release.yml on dcc-mcp/dcc-mcp-substance3d-designer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dcc_mcp_substance3d_designer-0.7.0.tar.gz -
Subject digest:
50454fefb0da281a73898e451d40006d10342d594c466314e31ef264de7de975 - Sigstore transparency entry: 2788238347
- Sigstore integration time:
-
Permalink:
dcc-mcp/dcc-mcp-substance3d-designer@566af9c43b962570829249cef41a15e3d1924e63 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/dcc-mcp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@566af9c43b962570829249cef41a15e3d1924e63 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dcc_mcp_substance3d_designer-0.7.0-py3-none-any.whl.
File metadata
- Download URL: dcc_mcp_substance3d_designer-0.7.0-py3-none-any.whl
- Upload date:
- Size: 114.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
230f9cdc871200f19df5ae64543fe320cee56f6538afcd0f428f5e66af07bc2d
|
|
| MD5 |
27c0b9933ef812c715af8132afb23846
|
|
| BLAKE2b-256 |
efd1c261ea36edf5257124d7f51bb0e105373817a94127abe846252ef07218e9
|
Provenance
The following attestation bundles were made for dcc_mcp_substance3d_designer-0.7.0-py3-none-any.whl:
Publisher:
release.yml on dcc-mcp/dcc-mcp-substance3d-designer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dcc_mcp_substance3d_designer-0.7.0-py3-none-any.whl -
Subject digest:
230f9cdc871200f19df5ae64543fe320cee56f6538afcd0f428f5e66af07bc2d - Sigstore transparency entry: 2788238435
- Sigstore integration time:
-
Permalink:
dcc-mcp/dcc-mcp-substance3d-designer@566af9c43b962570829249cef41a15e3d1924e63 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/dcc-mcp
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@566af9c43b962570829249cef41a15e3d1924e63 -
Trigger Event:
push
-
Statement type: