Painter MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Painter MCPShow me the current layer stack and a BaseColor texture preview."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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,claudeChoose 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
painter_statusreports runtime/version/capabilities and request-ID prefix.painter_observereturns combined facts and optionalimage:"texture"orimage:"window". Images are native MCP image content.painter_describewithdomain:"layers"returns specialist schemas.painter_runbatches operations; includeobserveto 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 buildHosted 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.
This server cannot be installed
Maintenance
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
Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…
Cloud Blender for AI agents: scenes, assets, renders, MP4, STL, GLB — over hosted remote MCP.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Real-time planetary signal engine and Model Context Protocol (MCP) server for autonomous AI agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables 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.36MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI to control Blender 3D through the Model Context Protocol, allowing Python execution, scene state queries, and automation of 3D workflows.5GPL 3.0
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to control Substance 3D Painter, inspecting projects and exporting texture sets via a secure preset-based tool.MIT
- AlicenseNot gradedqualityAmaintenanceAdapter 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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