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.0

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.0
File Size Uploaded Provenance Actions
cavi_substance_mcp-0.7.0.tar.gz 217.8 kB With provenance Details for cavi_substance_mcp-0.7.0.tar.gz

Built distribution (wheel)

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

Total release size: 324.0 kB

Release files / cavi_substance_mcp-0.7.0.tar.gz

Download URL cavi_substance_mcp-0.7.0.tar.gz
Size 217.8 kB
Tags Source
SHA-256 checksum
How to use checksums
26be3b949d47b1c96258ced4a2496c8ebfa1a28fb13c48628b6c329de17391eb
BLAKE2b-256 checksum
How to use checksums
33f5192e7768bef55074ddeda22b28280fb66c57044a553897a377663fe4a2e1
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.0-py3-none-any.whl

Download URL cavi_substance_mcp-0.7.0-py3-none-any.whl
Size 106.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e0da285d3bcb034c3ba6217cd7fd2d45420360c9a79c0f916c31c62610325b3
BLAKE2b-256 checksum
How to use checksums
794e4e27c44c74490835b11064469b9dba00bcbb2acd0532959dc93a71b96c7a
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.0

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.0.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.0 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