dcc-mcp-zbrush
Pre-alpha ZBrush MCP adapter for AI agents to inspect high-poly meshes and subtools, manage brushes, and export OBJ assets through the DCC-MCP gateway using the official Python SDK.
Install / Use
claude mcp add dcc-mcp -- npx -y github:dcc-mcp/dcc-mcp-zbrushIf the server publishes to npm under a different name, use that package instead โ check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Our assessment of dcc-mcp-zbrush
dcc-mcp-zbrush scores 83/100 on our quality scale, 2194th of 2,869 Automation skills we index.
Its MCP Server is 11 KB long, well organised into 24 sections with 11 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated yesterday, so dcc-mcp-zbrush is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit โ read the skill file before letting an agent act on it.
dcc-mcp-zbrush compared with similar skills
All 4 of these similar skills score higher than dcc-mcp-zbrush; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| dcc-mcp-zbrush (this skill)by dcc-mcp | 83 | 10 | 1d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 102.9k | 1d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 77.9k | 1d ago | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.6k | 1d ago | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 89.8k | today | MCP Server |
Frequently asked questions
- How do I install dcc-mcp-zbrush?
- Run
claude mcp add dcc-mcp -- npx -y github:dcc-mcp/dcc-mcp-zbrush. The install tabs above show the steps for each supported agent. - Which AI agents does dcc-mcp-zbrush work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is dcc-mcp-zbrush safe to use?
- It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is dcc-mcp-zbrush still maintained?
- The repository was last updated yesterday, so dcc-mcp-zbrush is actively maintained.
Skill content
View source on GitHubdcc-mcp-zbrush
<p align="center"> <img src="docs/assets/dcc-mcp-zbrush.svg" alt="DCC-MCP ยท ZBRUSH" width="600"> </p> <!-- dcc-mcp-coverage-pointer:start --> <!-- Generated from dcc-mcp-catalog.yml by scripts/generate_adapter_pointer.py in dcc-mcp/dcc-mcp-core. Do not edit by hand. -->Part of the DCC-MCP host matrix
dcc-mcp-zbrush โ ZBrush adapter for DCC-MCP.
It is one of 47 host adapters in the DCC-MCP catalog. Every adapter speaks the same MCP protocol and builds on the same core runtime contract; each one exposes the tools its own host needs on top of that.
This block is generated from the catalog entry in
dcc-mcp-catalog.yml.
Re-run the generator after changing the catalog.
Agent workflow
AI agents should use the shared gateway through dcc-mcp-cli; IDE users may
continue to use the MCP endpoint. Prefer typed skills and tools over raw scripts.
Install or update the CLI
dcc-mcp-cli is the preferred control path for every shell-capable agent. If
it is missing, ask the user before installing the latest official release:
# Linux/macOS
curl -fsSL https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.sh | sh
# Windows PowerShell
powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.ps1 | iex"
Keep an official build current through the release manifest:
dcc-mcp-cli update check
dcc-mcp-cli update apply
update apply downloads and stages the latest CLI for the next launch. It
does not update a running dcc-mcp-server; update that server in its own
environment.
dcc-mcp-cli dcc-types
dcc-mcp-cli list
dcc-mcp-cli search --query "<task>" --dcc-type zbrush
dcc-mcp-cli describe <tool-slug>
dcc-mcp-cli call <tool-slug> --json '{"key":"value"}'
dcc-types reports release-catalog support; list reports live sessions. If a
tool belongs to an inactive progressive skill, call dcc-mcp-cli load-skill <skill-name> --dcc-type zbrush before retrying. For post-task improvement,
attach a stable session id with --meta-json, query dcc-mcp-cli stats --range 24h --session-id <task-id>, then pass the bounded evidence to the
review_skill_improvement prompt from dcc-mcp-skills-creator.
ZBrush adapter for the DCC Model Context Protocol ecosystem.
Requires ZBrush 2026.1+ with the official Python SDK (CPython 3.11 embedded in ZBrush).
Showcase

Real ZBrush 2026 evidence from a typed, quiet high-poly workflow: 2,499,970 points / 5,000,000 faces, inspected and exported as the active Dragon subtool. Fantasy Dragon model by Artec 3D, used under CC BY 4.0; the source model is not included in this repository. See the full workflow and copyable prompt.
Quick install
1. Install a fixed wheel version
python -m pip install "dcc-mcp-zbrush==<version>"
The wheel includes the lifecycle CLI and the sidecar bridge payload.
2. Plan and apply the plugin install
Set ZBRUSH_USER_ASSETS_DIR, then run the standard lifecycle. The installer
requires an explicit ZBrush path so it can prove the 2026.1+ host floor.
dcc-mcp-zbrush install --version <version> --dcc-path "<ZBrush path>" --python python --dry-run --json
dcc-mcp-zbrush install --version <version> --dcc-path "<ZBrush path>" --python python --yes --json
The fixed release payload is SHA-256 verified before caching. Sidecar mode
installs a dedicated module and appends a bounded managed block to the shared
Python/init.py; it never overwrites that file. Receipt-backed uninstall and
rollback restore the previous state. Applying an install or upgrade stages a
candidate and returns exit 50; the candidate is committed only after the
exact ZBrush process, start identity, endpoint, version, and loaded module
origins pass verify.
See the canonical lifecycle SOP (raw URL).
3. Restart ZBrush
Launch or restart ZBrush, then start the external MCP sidecar:
dcc-mcp-zbrush --mode sidecar --socket-port 9876
The plugin registers a top-level DCC MCP palette through the official ZBrush Python SDK with these actions:
- Copy Instance ID
- Server Info
- About DCC MCP
Instance identity belongs to the MCP server. In embedded mode the first two
actions read the public DccServerBase runtime context. The standalone
sidecar plugin does not guess identity from environment variables or registry
files; it directs you to dcc-mcp-cli list when that external context is not
available in the ZBrush process.
4. Verify host readiness
Verify the dynamically allocated instance URL:
dcc-mcp-zbrush verify --version <version> --dcc-path "<ZBrush path>" --python python --json
dcc-mcp-cli list
5. Configure your AI client
Add the MCP server to your AI client config (Cursor, Claude Desktop, etc.):
{
"mcpServers": {
"zbrush": {
"url": "http://127.0.0.1:9765/mcp"
}
}
}
How it works
ZBrush does not ship a built-in HTTP REST server. The pre-alpha scaffold that assumed Preferences > Network > Enable HTTP Server was incorrect.
The supported integration paths are:
| Mode | When to use | Stack |
|------|-------------|-------|
| Sidecar + socket plugin (recommended) | Production GUI and CI clients | External Python โ TCP :9876 โ main-thread bridge inside ZBrush |
| Embedded (advanced) | Pure-Python experiments only | Python plugin inside ZBrush โ zbrush.commands |
Rust is not loaded inside ZBrush. The dcc-mcp-core wheel (PyO3) runs
in the external sidecar process; importing its extension module into the ZBrush
2026 embedded VM is not a supported runtime path. The ZBrush-facing bridge is
Python only and executes requests serially on the host main thread while
pumping UI updates between requests. Only one SDK request is admitted at a
time; additional requests fail with a retryable busy response, and ping
remains available without touching the SDK. A long native operation can still
make Windows report ZBrush as not responding because the Maxon SDK call itself
is synchronous. If a bridge timeout says the request is still running, do not
retry the mutation; poll bridge health until busy becomes false. File import,
export, and baking suppress scripted action feedback without wrapping the
native operation in zbc.freeze(), so ZBrush can still present progress or a
required native dialog.
GoZ C++ SDK is for mesh exchange between DCC apps, not general MCP automation โ we do not build the primary adapter on GoZ.
Recommended sidecar mode:
AI Agent โ Gateway :9765 โ OS-assigned MCP instance โ ZBrushMcpServer
โ TCP :9876 โ mcp_socket_bridge.py (inside ZBrush) โ zbrush.commands
Features (v0.2.0)
DccServerBaseadapter with progressive skill loading- Bundled skills:
zbrush-scripting,zbrush-scene,zbrush-subtool,zbrush-brush,zbrush-viewport,zbrush-interchange,zbrush-import-to-scene,zbrush-dialog - In-process executor for ZBrush's embedded Python VM
- Optional socket bridge plugin for sidecar deployments
- Top-level DCC MCP palette registered through
zbrush.commands - Gateway election compatible with
dcc-mcp-core
Requirements
- ZBrush 2026.1+
- Python 3.10+ on the sidecar host (ZBrush itself ships 3.11)
dcc-mcp-core >= 0.20.14, < 0.21.0
Environment variables
| Variable | Default | Purpose |
|----------|---------|---------|
| DCC_MCP_ZBRUSH_PORT | OS-assigned | Optional fixed MCP instance port |
| DCC_MCP_ZBRUSH_MODE | auto | embedded or sidecar |
| DCC_MCP_ZBRUSH_AUTOSTART | 1 | Auto-start embedded server from plugin |
| DCC_MCP_ZBRUSH_SOCKET_PORT | 9876 | Socket bridge port (sidecar) |
| DCC_MCP_GATEWAY_PORT | 9765 | Gateway election port |
| DCC_MCP_MINIMAL | 1 | Progressive skill loading |
Bundled skills
| Skill | Tools |
|-------|-------|
| zbrush-scripting | execute_python, get_session_info |
| zbrush-scene | get_scene_info, list_subtools |
| zbrush-subtool | select_subtool, get_subtool_status |
| zbrush-brush | create_wrinkle_brush, load_wrinkle_brush |
| zbrush-viewport | capture_turntable |
| zbrush-interchange | export_active_subtool_obj |
| zbrush-dialog | get_active_dialog, click_dialog_button (sidecar on macOS: read and answer a blocking ZBrush note) |
Path concepts
- PYTHONPATH โ where Python looks for packages (
pip installhandles this) - ZBRUSH_USER_ASSETS_DIR / ZBRUSH_PLUGIN_PATH โ plugin scan roots used by ZBrush 2026.1+
pip install dcc-mcp-zbrush puts the Python package on PYTHONPATH. The
lifecycle CLI installs host files transactionally; do not copy a bridge over
the shared Python/init.py manually.
Skill authoring
Skills lazy-import zbrush.commands and run on the main thread (affinity: main).
The sidecar-only zbrush-dialog skill is the one exception (affinity: any): it
never calls zbrush.commands and must run while a note blocks the main thread.
from dcc_mcp_core.skill import skill_entry
from dcc_mcp_zbrush.api import import_zbc, with_zbrush, zb_success
@skill_entry
@with_zbrush
def my_tool(**kwargs) -> dict:
zbc = import_zbc()
count = zbc.get_subtool_count()
return zb_success(f"{count} subtool(s)", count=count)
Sidecar mode
After completing the receipt-driven install and restarting ZBrush, run the MCP server outside ZBrush:
The sidecar can also start first: it retains the bridge endpoint and retries the connection on the first tool call after ZBrush becomes available.
dcc-mcp-zbrush --mode sidecar --socket-port 9876
Development
See docs/development.md for source-based setup, testing, and contribution workflow.
References
- ZBrush Python SDK 2026.1
- ZBrush Python environment
- GoZ SDK (mesh exchange only)
- Community reference: newsbubbles/zbrush-mcp (socket bridge pattern)
License
MIT
Related Skills
Agent-Reach
102.9kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu โ one CLI, zero API fees.
headroom
77.9kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.6kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
89.8k๐ท๏ธ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit โ see the Safety scan above for what the skill file itself contains.
