Metadata-Version: 2.4
Name: dcc-mcp-substance3d-painter
Version: 0.1.2
Summary: Substance 3D Painter adapter for the DCC Model Context Protocol ecosystem
Project-URL: Homepage, https://github.com/dcc-mcp/dcc-mcp-substance3d-painter
Project-URL: Repository, https://github.com/dcc-mcp/dcc-mcp-substance3d-painter
Project-URL: Issues, https://github.com/dcc-mcp/dcc-mcp-substance3d-painter/issues
Project-URL: Changelog, https://github.com/dcc-mcp/dcc-mcp-substance3d-painter/releases
Author-email: Long Hao <hal.long@outlook.com>
License: MIT
License-File: LICENSE
Keywords: ai,dcc,mcp,model-context-protocol,substance,substance-3d-painter
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Graphics :: 3D Modeling
Requires-Python: >=3.9
Requires-Dist: dcc-mcp-core<1.0.0,>=0.19.3
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: pyyaml>=6.0; extra == 'dev'
Requires-Dist: ruff>=0.8.0; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Description-Content-Type: text/markdown

# dcc-mcp-substance3d-painter

Substance 3D Painter adapter for the DCC Model Context Protocol (MCP).

It embeds a Streamable HTTP MCP server in Painter and routes host API calls
through Painter's Qt main thread. The default endpoint is
`http://127.0.0.1:8765/mcp`.

## Install and load

Install into the Python environment Painter uses:

```bash
python -m pip install dcc-mcp-substance3d-painter
```

Point `SUBSTANCE_PAINTER_PLUGINS_PATH` at the installed package's
`dcc_mcp_substance3d_painter/painter` folder. Painter discovers the packaged
`plugins/dcc_mcp_substance3d_painter_plugin.py` entry point. For unattended
launches, set
`SUBSTANCE_PAINTER_STARTUP_PLUGINS=dcc_mcp_substance3d_painter_plugin` so
Painter starts the adapter without an interactive Python-menu action.

Set `DCC_MCP_SUBSTANCE3D_PAINTER_PORT` before launching Painter to choose a
different port. Standard `DCC_MCP_GATEWAY_PORT` and `DCC_MCP_REGISTRY_DIR`
settings are also honoured.

## Bundled skills

`painter-project` provides typed tools for a complete material-authoring pass:

- inspect the project and texture sets;
- create PBR fill layers;
- search Painter resources and apply smart materials;
- list export presets, save the `.spp`, and export textures.

The tools use Painter resource and preset URLs supplied by Painter itself. They
do not expose raw JavaScript or arbitrary script execution.

## Development

```bash
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.
