Skip to main content
Glama
parodyband

Painter MCP

by parodyband

Painter MCP

An agent-oriented Model Context Protocol server for Adobe Substance 3D Painter. Eight default tools combine observation, batched actions, recovery and persistent scripting. Specialist schemas cover the public Painter API without filling every agent turn with dozens of tools.

Painter checks for stable GitHub releases automatically and offers verified, side-by-side updates. Use Help → Check Painter MCP Updates… or painter-mcp update. Restart Painter and your AI client to activate a staged version. See updates and rollback.

Requires Python 3.10+ outside Painter and a licensed Painter installation with Python plugins, PySide6 and the layerstack API. Development targets Painter 12.1.4. Painter is an interactive desktop application; the server does not bypass licensing.

CI checks the bridge, protocol and installers on Windows, macOS and Linux. The licensed Windows acceptance suite exercised all 45 specialist operations; see measured results.

Install from source

git clone https://github.com/parodyband/PainterMCP.git
cd PainterMCP
.\scripts\install.ps1 -Clients codex,claude

Choose only the clients you use. Start or restart Painter, then run & "$env:USERPROFILE\.painter-mcp\venv\Scripts\painter-mcp.exe" doctor. Restart your MCP client to load painter. The installer places the plugin in your Painter user Python directory and installs the companion skill. Client configurations contain no bearer credentials.

For a custom Painter Python location use --painter-python PATH. For an isolated launch, set SUBSTANCE_PAINTER_PLUGINS_PATH to that directory in the application process environment. The directory contains modules/ and startup/.

Related MCP server: bMCP

Use

  1. painter_status reports runtime/version/capabilities and request-ID prefix.

  2. painter_observe returns combined facts and optional image:"texture" or image:"window". Images are native MCP image content.

  3. painter_describe with domain:"layers" returns specialist schemas.

  4. painter_run batches operations; include observe to verify in the same result.

{
  "steps": [
    {"id":"fill","op":"layers.create","args":{"kind":"fill","name":"Base coat"}},
    {"id":"color","op":"sources.set","args":{"node":{"$ref":"fill#/ref"},"channel":"BaseColor","color":[0.12,0.3,0.6]},"select":[]}
  ],
  "undo":"layerstack",
  "observe":{"image":"texture","channel":"BaseColor"}
}

For tracked edits, set request_id to the runtime ID from painter_status, :, and your unique action ID. Recover with painter_request. Never blindly repeat an edit after a connection failure. See the agent loop, capability matrix, installation, architecture, and validation.

Development

python -m pip install -e '.[dev]'
python -m pytest
python -m ruff check .
python -m mypy
python -m build

Hosted CI uses contract fakes and a real MCP protocol client; it has no licensed Painter. Licensed tests require an explicitly isolated application instance. See testing and releases.

Limits

No atomic transactions or forced cancellation of arbitrary scripts. Grouped undo covers supported layerstack edits only. State guards compare returned facts, not brush pixels or the complete evaluated document. Window capture is a Qt fallback; texture previews use native texture export. Supported APIs do not expose arbitrary brush strokes, general layer reordering/duplication, or every project dialog setting. The public Python/JavaScript escape hatches preserve access to version-specific APIs.

MIT licensed. Unaffiliated with Adobe. Adobe application code, assets and credentials are not included.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables remote control of Blender via the Model Context Protocol, allowing users to execute Python scripts, query scene data, and generate 3D models from images. It provides a bridge for AI clients to interact directly with Blender's internal environment and automate 3D content creation.
    3
    6
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI to control Blender 3D through the Model Context Protocol, allowing Python execution, scene state queries, and automation of 3D workflows.
    5
    GPL 3.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Adapter that runs an MCP server inside Substance 3D Designer, enabling tools to inspect and interact with the active designer session and its packages through natural language.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/parodyband/PainterMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server