MS

matthieuhuguet/substance-designer-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

62 stars 13 forks 质量 76 趋势 18MIT

Adobe Substance 3D Designer 的首个 MCP(模型上下文协议)集成。可通过 Claude、光标或任何 MCP 客户端控制 SD。

概览

控制物质设计师,可在任何兼容MCP的AI客户端(Claude Code、Claude Desktop、Cursor)中创建图表、构建节点、连接节点、设置参数,并从单一提示中生成完整的PBR材质图。 - :“创建裂纹混凝土材质” →44节点的PBR图,包含高度、法线、粗糙度、AO、BaseColor、金属输出 - :专业级材质,使用与专业SD艺术家相同的节点架构 - :获取场景信息,创建/删除图表,创建节点,连接节点,设置参数,一次调用构建完整材质 - :云、单元、Perlin噪声、多边形、边缘检测、洪水填充、多向变形等 - :所有SD API调用通过Signal/Slot队列连接分发到Qt主线程 桥接器和插件通过简单的长度前缀帧协议通信:4字节大端长度。每个命令使用新的TCP套接字——无持久连接,无过时状态。 - (在15.0测试时。

概述(AI 翻译)

Adobe Substance 3D Designer 的首个 MCP(模型上下文协议)集成。

控制物质设计师,可在任何兼容MCP的AI客户端(Claude Code、Claude Desktop、Cursor)中创建图表、构建节点、连接节点、设置参数,并从单一提示中生成完整的PBR材质图。


它的作用

  • 自然语言→SD图:“创建裂纹混凝土材料”→44节点PBR图,包含高度、法线、粗糙度、AO、BaseColor、金属输出
  • 79 内置材料配方:专业级材料,使用与专业标清艺术家相同的节点架构
  • 16个MCP工具:获取场景信息、创建/删除图表、创建节点、连接节点、设置参数、一次调用构建完整材质
  • 库节点支持:云、单元、Perlin噪声、多边形、边缘检测、泛洪填充、多方向变速等。
  • 线程安全:所有SD API调用通过Signal/Slot队列连接调度到Qt主线程

建筑

桥接器和插件通过一个简单的长度前缀框架协议通信:[4-byte big-endian length][JSON payload]。每个命令使用一个新的 TCP 套接字——没有持久连接,也没有过时状态。


本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

Substance Designer MCP

The first MCP (Model Context Protocol) integration for Adobe Substance 3D Designer.

Control Substance Designer from any MCP-compatible AI client (Claude Code, Claude Desktop, Cursor) — create graphs, build nodes, connect them, set parameters, generate full PBR material graphs from a single prompt.


What it does

  • Natural language → SD graph: “Create a cracked concrete material” → 44-node PBR graph with height, normal, roughness, AO, baseColor, metallic outputs
  • 79 built-in material recipes: pro-grade materials using the same node architecture as professional SD artists
  • 16 MCP tools: get scene info, create/delete graphs, create nodes, connect nodes, set parameters, build full materials in one call
  • Library node support: Clouds, Cells, Perlin Noise, Polygon, Edge Detect, Flood Fill, Multi-Directional Warp, etc.
  • Thread-safe: All SD API calls dispatched to Qt main thread via Signal/Slot queued connection

Architecture

AI Client (Claude / Cursor)
        │  stdio (MCP protocol)
        ▼
sd_mcp_bridge.py  (FastMCP server, Python 3.12)
        │  TCP localhost:9881 (length-prefix framing)
        ▼
SD Plugin __init__.py  (Python 3.11, runs inside SD)
        │  sd.api
        ▼
Adobe Substance 3D Designer 15.x

The bridge and plugin communicate with a simple length-prefix framing protocol: [4-byte big-endian length][JSON payload]. Each command uses a fresh TCP socket — no persistent connection, no stale state.


Requirements

  • Adobe Substance 3D Designer 15.x (tested on 15.0.3)
  • Python 3.12+ for the bridge (managed via uv)
  • uv package manager: pip install uv or winget install astral-sh.uv
  • An MCP-compatible client: Claude Code, Claude Desktop, or Cursor

Installation

Step 1 — Install the SD Plugin

Copy the plugin/ folder contents to your SD user scripts directory:

Windows:

%USERPROFILE%\Documents\Adobe\Adobe Substance 3D Designer\python\sduserplugins\sd_mcp_plugin\

The directory must contain:

sd_mcp_plugin/
├── __init__.py    ← main plugin (TCP listener, all MCP tools)
└── recipes.py     ← 79 material recipes

SD auto-loads all plugins from sduserplugins/ on startup. No additional configuration needed.

Step 2 — Install the Bridge Server

cd server/
uv sync   # installs mcp[cli] into .venv

Or with pip:

pip install "mcp[cli]>=1.4.1"

Step 3 — Configure Your MCP Client

Claude Code (~/.claude/settings.json):

{
  "mcpServers": {
    "substance_designer": {
      "command": "C:\\Users\\YOUR_USERNAME\\.local\\bin\\uv.exe",
      "args": [
        "run",
        "--directory",
        "C:\\PATH\\TO\\substance-designer-mcp\\server",
        "python",
        "sd_mcp_bridge.py",
        "--port",
        "9881"
      ]
    }
  }
}
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "substance_designer": { "command": "C:\\Users\\YOUR_USERNAME\\.local\\bin\\uv.exe", "args": [ "run", "--directory", "C:\\PATH\\TO\\substance-designer-mcp\\server", "python", "sd_mcp_bridge.py", "--port", "9881" ] } } }