Skip to main content

Cavi Substance MCP

MCP servers for Adobe Substance 3D Painter, Adobe Substance 3D Designer and Adobe Substance 3D Sampler. Each application has its own stdio server.

Application support

This version targets Painter's documented Python remote scripting API. It supports project operations (UDIM, templates, mesh reload), layer-tree inspection, fill, group, mask, generator, smart-material, smart-mask and .sbsar layers, mesh-map baking, shelf search, and channel-packed texture export. It does not provide brush strokes; Designer's CLIs are served separately (see Designer).

The Designer server drives Designer's headless CLIs for cooking, rendering, baking and packing. The Sampler server launches Sampler for one script per call or one batch job. The overview lists what has been checked natively and what has been tested only against a simulator.

Install

Requires Python 3.11+, uv, and a separately installed and licensed Adobe application. The MCP does not supply an Adobe license or authenticate accounts.

Install the three servers as commands on your PATH: cavi-substance-mcp (Painter), cavi-substance-designer-mcp and cavi-substance-sampler-mcp. The same install provides cavi-substance-receipts, which verifies the manifests they write (see Receipts).

uv tool install cavi-substance-mcp

Upgrade with uv tool upgrade cavi-substance-mcp. To work from a checkout instead, see CONTRIBUTING.md.

Register the servers you need in your MCP client. Desktop apps that do not inherit your shell's PATH need absolute paths, which command -v cavi-substance-mcp prints.

{
  "mcpServers": {
    "substance-painter": {"command": "cavi-substance-mcp"},
    "substance-designer": {"command": "cavi-substance-designer-mcp"},
    "substance-sampler": {"command": "cavi-substance-sampler-mcp"}
  }
}

Tools read and write files only inside the workspace. To use a folder other than the default, add "env": {"CAVI_SUBSTANCE_WORKSPACE": "/absolute/path"} to a server entry.

Painter

Launch the installed Painter application with remote scripting enabled:

cavi-substance-mcp runtime start
cavi-substance-mcp runtime status

Automatic launch currently supports macOS. It finds the standard Adobe installation, or the app bundle selected by CAVI_PAINTER_APP, and supplies --enable-remote-scripting. A connected session is reused. An open app without a reachable scripting connection is left untouched; save and quit that app before launching it again. The launcher does not install software, sign in, accept terms, or dismiss license prompts.

start reports that launch was requested; it does not claim Painter is ready. Require connected=true from status or the actual painter_status MCP tool before project work.

Call painter_status first. After open/create/reload_mesh, call project with action="wait_ready" before editing.

Documentation

The documentation is published for each release at cavi-ai.xyz/docs/substance-mcp. Its source is in docs/substance-mcp/source:

Contributing

See CONTRIBUTING.md for setup, checks and the rules for changes.

Security

Report vulnerabilities privately as described in SECURITY.md.

License

MIT. See LICENSE.

Trademarks

Adobe, Substance 3D, Substance 3D Painter, Substance 3D Designer and Substance 3D Sampler are either registered trademarks or trademarks of Adobe in the United States and/or other countries. This project is not affiliated with, endorsed by, or sponsored by Adobe. It does not include or redistribute Adobe software, templates, presets or Substance files; you supply your own licensed applications. Other product names (for example Unreal Engine, Unity and Blender) belong to their respective owners.

Metadata

Release files for cavi-substance-mcp 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cavi-substance-mcp 0.7.1
File Size Uploaded Provenance Actions
cavi_substance_mcp-0.7.1.tar.gz 218.3 kB With provenance Details for cavi_substance_mcp-0.7.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cavi-substance-mcp 0.7.1
File Interpreter ABI Platform Actions
cavi_substance_mcp-0.7.1-py3-none-any.whl Python 3 none any Details for cavi_substance_mcp-0.7.1-py3-none-any.whl

Total release size: 324.5 kB

Release files / cavi_substance_mcp-0.7.1.tar.gz

Download URL cavi_substance_mcp-0.7.1.tar.gz
Size 218.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ab926a9ac55ba3b42e12094abca62e5b0e999fe42932adcdbf4058a9a5ee3fb6
BLAKE2b-256 checksum
How to use checksums
cf742f1e1d19e465148a37e23faa56613c85f7a18af728f3a6ab33b68a6bc6e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Release files / cavi_substance_mcp-0.7.1-py3-none-any.whl

Download URL cavi_substance_mcp-0.7.1-py3-none-any.whl
Size 106.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8df884695766ab62fe3f92a3c53a9b8af948c4befc8d891fdbb22341ccd8d389
BLAKE2b-256 checksum
How to use checksums
d8e3fa25f2472062b140076dfb42a911b30d3caa37423a6888e1fda682802fed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

Security for cavi-substance-mcp 0.7.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for cavi_substance_mcp-0.7.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.7.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page