Skip to content
PreviewSculpting & Texturing

MCP for ZBrush — Connect AI Agents to ZBrush

Sculpt files grow into hundreds of subtools with unpredictable polycounts. Agents get an honest inventory and explicit resolution targets, so remeshing is a decision rather than a gamble.

Read-only by default10 typed toolsCheckpointed writes
Technical specification
Host software
ZBrush 2024, 2025 and newer (desktop)
Runtime
ZScript bridge with a companion process for mesh statistics and baking
Transport
stdio (local) and streamable HTTP (studio)
Install
ZStartup script + npx dccmcp-zbrush
Exchange
GoZ handoff to Maya, Blender, 3ds Max and ZBrush plugins
Platforms
Windows, macOS
Last reviewed
2026-09-10
Overview

What is MCP for ZBrush?

MCP for ZBrush is a local MCP server plus a ZBrush plugin that connects AI agents to a real ZBrush session. Agents discover 10 typed tools — including tool.inspect, subtool.create, subtool.folder and dynamesh.remesh — and call them to inspect, create, modify and validate work inside the live application.

Unlike generated ZBrush scripts, every call is validated against your current document, classified as read, write or execute, and recorded in an audit log. ZBrush stays open, the document stays live, and destructive operations are checkpointed so they can be rolled back.

It works with Claude Code, Codex, Cursor, GitHub Copilot, Claude Desktop, Gemini CLI, Trae, Doubao, Qwen Code, CodeBuddy, Custom MCP clients over stdio or streamable HTTP.

  • Host software: ZBrush 2024, 2025 and newer (desktop)
  • Runtime: ZScript bridge with a companion process for mesh statistics and baking
  • Transport: stdio (local) and streamable HTTP (studio)
Why it breaks

What goes wrong when agents drive ZBrush without a contract

01

Subtool sprawl makes files unmanageable

A character file with 180 subtools and no naming discipline is a production risk. Nobody knows which subtool is current, what it was named for, or how heavy it is.

02

Remeshing decisions are irreversible and expensive

ZRemesher target counts and DynaMesh resolutions change topology permanently. A wrong number means redoing hours of sculpt detail work.

03

Polypaint never reaches the engine

The detail lives in vertex color until someone bakes it to texture maps — and a bake done at the wrong resolution wastes another pass.

How it works

How MCP for ZBrush keeps intent, structure and traceability intact

An MCP server and ZScript bridge for ZBrush that exposes subtool inventory, remeshing and decimation, polygroup operations, polypaint baking and GoZ handoff as typed tools.

Subtool inventory first

The agent reads every subtool with its polycount, visibility, folder and material before proposing anything, so naming and polycount problems surface immediately.

Declared resolution targets

Remeshing and decimation require an explicit target — polygon count or edge length — and the tool returns the actual result, so the change is measured rather than assumed.

Polygroup-aware operations

Split, merge, group and visibility operations work against named polygroups, which keeps hard-surface and soft-surface parts separable.

GoZ handoff

Send a selected subtool to Maya, Blender or 3ds Max at a declared subdivision level, with the round trip recorded in the audit log.

Tool reference

MCP for ZBrush tools — every tool and its risk class

Agents discover this list at connect time. You decide which entries are auto-approved, which need a human and which are denied in production files.
  • tool.inspectActive tool, subtool list, polycounts, visibility, folders and materials.read
  • subtool.createDuplicate, split, append or delete subtools with explicit targets.write
  • subtool.folderOrganize subtools into named folders and set visibility states.write
  • dynamesh.remeshRun DynaMesh at a declared resolution and return the resulting polycount.write
  • zremesher.retopoRetopologize to a target count or edge length with symmetry settings.write
  • decimate.ratioDecimate to a declared polygon budget for export or baking.write
  • polygroup.manageCreate, expand and split polygroups for hard-surface separation.write
  • uv.unwrapRun UV Master unwrapping with island and resolution parameters.write
  • texture.bakeBake polypaint and sculpted detail to texture maps at a declared size.execute
  • goz.sendHand off a subtool to another application at a declared subdivision level.execute
Install

Install MCP for ZBrush in four steps

Everything runs locally. The server binds to loopback by default and only exposes the tools you approve in ZBrush.

Pre-release. These commands describe the interface we are shipping for MCP for ZBrush — the packages are not published yet. Get notified when MCP for ZBrush launches.

STEP 01

Install the ZStartup script

Drop the DCCMCP script into your ZBrush ZStartup folder so the bridge loads with the application.

cp dccmcp_zbrush.txt "$ZBRUSH/ZStartup/"
STEP 02

Start the bridge

The bridge coordinates ZScript commands with the companion process that computes mesh statistics and bakes.

npx dccmcp-zbrush@latest serve --companion
STEP 03

Register the client

Register the server with Claude Code, Codex, Cursor, OpenClaw or any other MCP-compatible client.

{
  "mcpServers": {
    "zbrush": { "command": "npx", "args": ["dccmcp-zbrush", "serve"] }
  }
}
STEP 04

Set a polycount ceiling

Cap the polygon budget an agent may request so a retopology pass cannot push a subtool past what your downstream tools can open.

dccmcp policy limits --max-polygons 8000000

MCP for ZBrush works with the agents you already use

  • Claude Code
  • Codex
  • Cursor
  • GitHub Copilot
  • Claude Desktop
  • Gemini CLI
  • Trae
  • Doubao
  • Qwen Code
  • CodeBuddy
  • Custom MCP clients

Any other MCP-compatible client works too — one config entry, stdio by default.

Read the docs
FAQ

Questions teams ask before they install

If something is missing, ask us directly — we answer technical questions with technical answers.
  • It is on the preview track. Reading subtool structure, remeshing at declared targets, decimation and GoZ handoff are stable in our test corpus. Texture baking is newer and we recommend validating it against your own material setup before relying on it.

  • ZBrush's scripting surface does not expose everything an agent needs, particularly accurate post-operation statistics and bake results. A local companion process computes those and reports back, which keeps the tool results trustworthy.

  • No. The integration targets the desktop application. ZBrush for iPad does not expose the scripting surface this bridge depends on.

  • Remeshing requires an explicit target, runs as a checkpointed operation, and can be denied outright by policy on specific tools or files. Restores are scoped to a subtool where the host allows it.

  • GoZ handoff covers Maya, Blender, 3ds Max and any other application with a GoZ bridge installed, at a subdivision level the agent declares.

npx dccmcp-blender@latest serve

Put an agent inside your real tools — without putting your pipeline at risk

Install an integration, set a policy, and let your agent inspect, build and validate work in Blender, Maya, Houdini, 3ds Max, Rhino, ZBrush, Photoshop, FreeCAD, QGIS or OpenCV. Free to start, local by default.

macOS · Windows · Linux — no cloud dependency required