Daz3D-MCP
Rendering relies on NVIDIA Iray: the render, render_shots and render_animation tools produce images using GPU-accelerated Iray rendering, which only runs on NVIDIA cards (with the AI denoiser and reasonable iteration counts); on non-NVIDIA hardware rendering falls back to slower, grainier CPU rendering.
Click on "Deploy 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., "@Daz3D-MCP Find a Genesis 9 female character, load it, and pose her standing"
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.
Daz3D-MCP
Let AI agents (Claude Code, Codex, Cursor, Antigravity, Gemini CLI, Claude Desktop, VS Code and any other MCP client) control Daz Studio: open and save scenes, find installed content, build characters (shape, clothing, hair, poses), set up cameras, lights and materials, render with Iray, install content from other stores, import OBJ and FBX models, animate figures (keyframes, presets, Mixamo FBX and mocap BVH), and run DazScript.
Independent open source project. Not affiliated with or endorsed by Daz 3D. Leer en español
Early stage, internal testing. Version 0.4. All the features below exist and pass the tests against a simulated Daz Studio, and they are being tested on a real Daz Studio 6.26 on Windows 11 with both AMD and NVIDIA graphics cards. Expect bugs and breaking changes, and do not rely on it for production work yet.
Requirements and known limits
An NVIDIA GPU is needed to get everything out of it. Daz Studio is built around NVIDIA Iray, which only renders on NVIDIA cards (and only when the scene fits in the card's memory). With an AMD or Intel GPU, Iray renders on the CPU: much slower, without Iray's AI denoiser, and grainy unless you wait a long time (in our tests an interior scene reached about 310 of the 1,000 to 2,000 iterations it needs in 25 minutes). A big scene can also run out of memory and hang Daz Studio. This affects
render,render_shotsandrender_animation; everything else works with any graphics card.Windows only. No macOS version is planned for now: Daz Studio is mainly made for NVIDIA GPUs, and Macs cannot use them, so Iray renders on the CPU there.
No release yet. It is not on PyPI and there is no GitHub release with the compiled plugin, so
setupcannot download it: build it (bridge/README.md) and pass--plugin-file, or use--no-plugin.Daz Studio 4.24 is not supported yet.
Related MCP server: bMCP
How it works
AI agent ──MCP (stdio)──> daz3d-mcp (Python) ──HTTP 127.0.0.1 + token──> bridge plugin ──> DazScript in Daz StudioBridge plugin (
bridge/, C++): a tiny server inside Daz Studio. It only listens on127.0.0.1, needs a token and runs DazScript on the main thread.DazScript library (
scripts/): one script per tool; it does the real work.MCP server (
src/daz3d_mcp/, Python): the tools agents call.Skills (
skills/):SKILL.mdguides that teach agents how to use Daz. Agents without skills support get the same text through the MCP (daz_guidetool, prompts and resources).
Install
You need uv and Daz Studio 6 (4.24 support comes later).
uvx daz3d-mcp setup # copies the bridge plugin into Daz Studio
uvx daz3d-mcp install --all # registers the MCP and skills in every agent found
uvx daz3d-mcp doctor # checks everything and says what to fixRestart Daz Studio and your agents afterwards.
Until the first PyPI release, run the same commands from GitHub:
uvx --from git+https://github.com/MictlanLabs/Daz3D-MCP daz3d-mcp install --allinstall writes the agents' config so they run that same source.
One agent only: uvx daz3d-mcp install --client cursor (also
claude-code, codex, antigravity, gemini-cli, claude-desktop,
windsurf, vscode). uvx daz3d-mcp uninstall removes everything it added.
Any other MCP client: add this server to its settings:
{ "mcpServers": { "daz3d": { "command": "uvx", "args": ["daz3d-mcp"] } } }No compiled plugin yet? uvx daz3d-mcp setup --no-plugin uses an
experimental mode that asks the running Daz Studio to execute script files.
It is slower but needs nothing compiled.
Tools
Tool | What it does |
| Checks the connection; Daz version and open scene |
| Sees and answers pop-up dialogs Daz stops on (overwrite?, replace?); needs plugin 0.2+ |
| Figures, clothing, props, cameras and lights with position, rotation, size |
| Clears the scene (refuses to lose unsaved work unless told) |
| Opens or merges a |
| Saves as |
| Returns a PNG of the viewport, optionally from a camera or frame |
| Lists the content libraries and how many files the index holds |
| Finds installed figures, characters, clothing, hair, poses, materials, props, lights |
| Shows a content file's thumbnail |
| Loads content; fits clothing and hair, applies poses, characters and materials to a target |
| Moves, rotates, scales, shows/hides, renames or selects a node |
| Deletes nodes (and what is fitted to a figure) |
| A figure's generation, height, clothing, morphs in use, posed bones and surfaces |
| Finds and sets shape dials and the figure's pose and face controls |
| Named expressions (smile, sad, angry, surprised, wink...) on Genesis 9 and 8.1, or face dials by name |
| Aims the eyes (and part of the head turn) at a camera, another figure or a point |
| Iris color only, the whites stay white; Genesis 9's 16 iris images; one color per eye |
| Rotates bones (reports dials held at joint limits) / back to the default pose |
| Measures where a figure can sit, lie or stand on a prop: height, size, which way a seat faces |
| Puts a posed figure on a seat, bed or step: faces it out, against the backrest, hips on the cushion |
| Per body part: how deep it goes into furniture (and which way is out) or how far it floats |
| Fits clothing or hair to a figure, or unfits it |
| Looks inside a .zip from another store and installs its content into a library |
| Lists installed packages / removes exactly the files one installed |
| Adds a folder to Daz Studio's content libraries |
| Reads an OBJ or FBX (size, units, textures) / imports it at the right size, without dialogs |
| Turns an imported garment into clothing that follows a figure (Transfer Utility) |
| Mesh smoothing and collision of clothing (fixes skin poking through) |
| Frame rate, frame range, current frame, and what is animated |
| Keyframes on bones, the hip, nodes, morphs and any number property |
| Keys the current pose (from |
| World positions of bones at some frames, to check a motion |
| Viewport images of several frames |
| Finds feet through the floor, floating and sliding; can fix the hip height |
| Faster, slower or a set length / later, moved, turned or put on a spot |
| Animation presets: built-in, your own (looping, repeated) and bought .duf ones |
| Reads a BVH or binary FBX (Mixamo, CMU...) and adapts it to a Genesis figure with a bone map |
| Adds or changes a camera; can frame nodes automatically |
| Frames a film shot on a face (close-up, over the shoulder, two shot) keeping the 180 degree rule |
| Adds or changes spot, point and distant lights |
| Iray dome, HDRI and sun-sky |
| Reads and changes surfaces (colors, roughness, texture maps) |
| Image size and Iray limits |
| Renders to a file and returns the image |
| Renders a conversation as a series of shots (faces, gazes and camera per line) for visual novels |
| Renders every frame of the animation and joins them into an MP4 or GIF |
| Runs DazScript for anything else (can be disabled) |
| Returns the skills as text for agents without skills support |
Skills: daz-basics, scene-building, characters, faces, furniture-poses, dialogue-scenes, rendering, third-party-assets, animation.
Try it: "Open ~/Documents/scene.duf in Daz, describe the scene and show me a capture." Or: "Build a scene with two Genesis 9 characters, dressed and posed, talking to each other, and render it." Or: "Install ~/Downloads/jacket.zip, dress Ana with it, then import ~/Downloads/cape.fbx and make it clothing that follows her." Or: "Make Ana walk four steps toward the camera, then put ~/Downloads/Dancing.fbx from Mixamo on Leo starting at frame 60."
Content search runs in the MCP server on an index of the library files
(~/.daz3d-mcp/content-index.json, rebuilt every 24 hours or with
refresh_index=true), so Daz Studio is never frozen by a search.
Settings
~/.daz3d-mcp/settings.json (created by setup):
Key | Default | Meaning |
|
| Allow the free-form |
|
|
|
| detected | Daz Studio binary, for no-plugin mode |
|
| Seconds to wait for one request |
|
| Seconds to wait for one render |
|
| Where renders go when no path is given |
| detected | ffmpeg used by |
|
| Extra library folders to search |
|
| When to rebuild the content index |
|
| Where |
|
| Largest package (unpacked) |
|
| Answers to Daz dialogs given in advance, e.g. |
| measured | How Daz turns bones; the first |
Security
The bridge listens on 127.0.0.1 only, requires the random token stored in
~/.daz3d-mcp/token (readable only by you) and rejects browser requests.
run_script gives an agent the same power as a DazScript you run yourself;
set allow_run_script to false if you do not want that.
Development
uv run --group dev pytest # Python + DazScript tests (Node.js runs the scripts against a fake Daz)
npm install --prefix tests/fake_daz # once, for the ES5 syntax checksBuilding the bridge: see bridge/README.md. The bridge protocol is documented in docs/protocol.md.
License
Apache 2.0. See LICENSE. The Daz Studio SDK is not included.
Available Tools
63 toolsanim_file_inspectARead-onlyIdempotent
Reads a BVH or FBX animation without importing it: frames, frame rate, length, bones, which rig it is (Mixamo, CMU mocap, Unreal, 3ds Max Biped, Genesis) and, with figure, which bones map.
Inputs: path (required), take, figure.
anim_foot_contactA
Checks the feet over an animation: frames where a foot goes through the floor, frames where the figure floats, and how far planted feet slide. With fix it moves the hip up or down per frame so the lowest foot touches the floor.
Inputs: figure (required), fix, floor, end_frame, +2 more.
anim_importA
Imports a BVH or FBX motion (Mixamo, mocap) onto a Genesis figure: reads the file, maps its bones to the figure's (built-in maps for Mixamo, CMU, Unreal, Biped, Genesis; bone_map to fix), adapts the rest pose (T pose vs Genesis A pose) and the body size, and keys every frame. No importer dialog. Then check it with anim_preview and anim_foot_contact.
Inputs: path (required), figure (required), rig, take, +9 more.
anim_key_poseA
Keys the figure's current pose at frames: after a pose preset or pose_bones, this turns the pose into a key pose of the animation.
Inputs: figure (required), frames (required), morphs, all_bones, +1 more.
anim_keys_deleteADestructive
Deletes keyframes (all of a node's, or some bones', or a frame range). The pose at the current frame stays as a still pose.
Inputs: node (required), what, bones, end_frame, +1 more.
anim_keys_getBRead-onlyIdempotent
Reads keyframes of a node as tracks ({bones: {bone: {rotation: [[frame, x, y, z], ...]}}...}), the same format anim_keys_set takes.
Inputs: node (required), bones, summary, end_frame, +1 more.
anim_keys_setA
Sets keyframes. Each key pose says what a node looks like at one frame; Daz fills in the frames between. Rotations are the same dials as pose_bones (degrees). The scene range grows to the last key.
Inputs: node (required), keys, tracks, replace.
anim_offsetA
Relocates an animation: in time (later or earlier) and in space (move it, turn its path, or make it start at a spot). The motion itself does not change.
Inputs: node (required), move, turn, frames, +2 more.
anim_preset_applyB
Applies an animation preset to a figure from a frame on, at any speed, repeated as a cycle.
Inputs: figure (required), preset (required), speed, repeat, +3 more.
anim_preset_listARead-onlyIdempotent
Lists animation presets: built-in ones and the ones saved with anim_preset_save. Animated presets bought for Daz are in the content library: content_search(kind="animation").
Inputs: query.
anim_preset_saveA
Saves a figure's animation as a reusable preset (~/.daz3d-mcp/animations), to apply later to any figure of the same generation with anim_preset_apply.
Inputs: name (required), figure (required), loop, morphs, +5 more.
anim_previewARead-onlyIdempotent
Viewport images of several frames, to watch the motion (a contact sheet, one image each).
Inputs: camera, frames, max_size.
anim_retimeA
Changes the rhythm of an animation: speeds it up, slows it down or fits it to a length. Keys after the part move with it.
Inputs: node (required), snap, speed, length, +3 more.
anim_sampleARead-onlyIdempotent
World positions (cm, Y up) of bones at some frames, as Daz computes them. Use it to check a motion with numbers: is the left foot in front at frame 8, does the hand reach the cup.
Inputs: figure (required), frames (required), bones.
anim_timelineB
Reads or sets the timeline: frame rate, animation range, current frame. Also lists which nodes are animated and over which frames.
Inputs: fps, keep, frame, end_frame, +1 more.
camera_createB
Adds a camera, either framing nodes automatically or at a position aimed at a target.
Inputs: yaw, frame, label, pitch, +6 more.
camera_setB
Moves, aims or reframes an existing camera, or makes it the active one.
Inputs: camera (required), yaw, frame, label, +7 more.
camera_shotA
Places a camera for a film shot of a character's face (close-up, over the shoulder, two shot...), aimed and sized from the face itself, on a consistent side of the line to the person they talk to, so shots and reverse shots cut together. Reports heads in the way.
Inputs: subject (required), shot, side, angle, +7 more.
content_add_libraryA
Adds a folder to Daz Studio's content libraries (it stays after a restart), so its content can be searched and loaded and finds its data files.
Inputs: path (required), kind.
content_librariesARead-onlyIdempotent
Lists the user's Daz content libraries (My Library, My DAZ 3D Library...) and how many content files the search index holds.
Inputs: refresh.
content_loadA
Loads content into the scene: adds a figure or prop, dresses a figure (clothing, hair), applies a pose, character, shape or material preset to the target. Returns the new nodes.
Inputs: path (required), target.
content_searchARead-onlyIdempotent
Searches the installed content: figures, characters, clothing, hair, poses, materials, props, lights. Returns absolute paths to pass to content_load, and thumbnails for content_thumbnail.
Inputs: kind, limit, query, folder, +3 more.
content_thumbnailBRead-onlyIdempotent
Shows the thumbnail image of a content file, to choose between search results.
Inputs: path (required).
daz_dialogADestructive
Sees and answers the pop-up dialogs Daz Studio opens (overwrite?, replace or add?, limits...). A tool that stops on one fails with dialog_open and lists its text and buttons; press one here and the stopped call's result comes back as call_result. Without button: lists open dialogs and, if a call was left waiting, waits for it. Ask the user before an answer that would overwrite or discard their work. Needs the bridge plugin 0.2+.
Inputs: wait, check, button, uncheck, +1 more.
daz_guideARead-onlyIdempotent
Returns a usage guide (the same text as the Daz3D-MCP skills) for clients without skills support.
Inputs: topic. Returns: result
daz_statusARead-onlyIdempotent
Checks that Daz Studio is reachable and reports its version and the open scene.
Inputs: no named parameters.
environment_setA
Sets the Iray environment (dome light, HDRI, sun-sky). Without arguments it reports it.
Inputs: hdri, mode, rotation, draw_dome, +1 more.
eye_colorA
Changes iris color only (not the whites): a color tint, and on Genesis 9 one of its 16 iris images. For a whole new eye look, eye material presets also work (content_search).
Inputs: figure (required), eyes, iris, color, +3 more.
eyes_look_atA
Aims a figure's eyes at a camera, another figure or a point, within the eye joint limits (about 30 degrees); head > 0 turns the head part of the way too.
Inputs: figure (required), target (required), eyes, head.
face_expressionB
Sets a facial expression (smile, sad, angry, surprised, wink...) from the FACS face dials, or face dials by name; clears the previous expression first.
Inputs: figure (required), reset, values, strength, +1 more.
figure_infoARead-onlyIdempotent
Describes a figure: generation, height, what it wears, the shape dials in use, the posed bones and its surfaces; optionally joint limits and where its body parts are.
Inputs: figure (required), limits, all_bones, landmarks.
fit_checkARead-onlyIdempotent
Checks a figure against furniture or other figures, per body part: how deep it goes into them and which way is out, or how far it floats above the surface under it.
Inputs: figure (required), worn, against, floor_y, +1 more.
import_meshA
Imports a loose OBJ or FBX model (Sketchfab, CGTrader, Blender, a package's meshes) into the scene with the right size, without the importer dialog. Returns the new node, its size in cm and its surfaces. Clothing modeled for a figure then goes through wearable_from_mesh.
Inputs: path (required), take, label, units, +5 more.
light_createB
Adds a light, placed and aimed at a node or point.
Inputs: type, color, label, power, +5 more.
light_setC
Changes a light: placement, aim, power, color, on/off.
Inputs: light (required), on, color, label, +6 more.
material_listARead-onlyIdempotent
Lists the surfaces of a node with their shader and main values (color, roughness, maps...).
Inputs: node (required), query, surfaces, all_properties.
material_setB
Changes material properties, e.g. {"Base Color": "#802020", "Glossy Roughness": 0.3}.
Inputs: node (required), properties (required), surfaces.
mesh_inspectARead-onlyIdempotent
Reads an OBJ or FBX without importing it: size in file units, the units it most likely uses, surfaces, textures found and missing, whether it is rigged or animated.
Inputs: path (required).
morph_listBRead-onlyIdempotent
Lists the dials of a figure with their value and range: shape morphs and the figure's pose and face controls (Eye Blink, Jaw Open, Brow Up...; marked control=true).
Inputs: node (required), limit, query, only_nonzero, +1 more.
morph_setB
Sets dials (shape morphs or pose/face controls), e.g. {"Body Tone": 0.5, "Eye Blink": 1}. Unknown dials come back with similar names.
Inputs: node (required), values (required).
node_deleteBDestructive
Deletes nodes (figures, clothing, hair, props, cameras, lights) from the scene.
Inputs: nodes (required), with_fitted.
node_setB
Moves, rotates, scales, shows/hides, renames, selects or attaches (parents) a figure, prop, camera or light.
Inputs: node (required), label, scale, parent, +7 more.
package_inspectARead-onlyIdempotent
Looks inside a content package before installing it: where its Daz content root is (data, People, Props, Runtime...), which files can be loaded, loose OBJ/FBX meshes, extras and problems. Nothing is written.
Inputs: path (required).
package_installA
Installs a content package from another store (Renderosity, RuntimeDNA, CGBytes, free sites): finds its content root, copies it into a content library, makes sure Daz Studio has that library, and returns the new items (paths for content_load) and any loose meshes (paths for import_mesh). Records every file so package_uninstall can remove them.
Inputs: path (required), name, library, overwrite.
package_listBRead-onlyIdempotent
Lists the packages installed with package_install.
Inputs: no named parameters.
package_uninstallADestructive
Deletes the files a package_install wrote (not files other packages share). Ask the user first; scenes that use the package will miss it.
Inputs: package (required).
place_onA
Puts a posed figure on a prop: hips on a seat (turned to face out, against the backrest, knees clear of the seat front), back on a bed, feet on a step. Then reports fit_check.
Inputs: prop (required), figure (required), at, sink, +4 more.
pose_bonesA
Rotates figure bones, for adjustments after a pose preset or to build a pose. Reports dials that Daz held at a joint limit.
Inputs: bones (required), figure (required), relative, ignore_limits.
pose_resetB
Returns all the bones of a figure to the default pose.
Inputs: figure (required).
prop_surfacesARead-onlyIdempotent
Measures the flat surfaces of a prop where a figure can sit, lie or stand: height, size, center and, for a seat with a backrest, which way it faces (facing_yaw).
Inputs: node (required), max_tilt, min_area.
renderA
Renders the scene with the current renderer (Iray), waits until it is done and returns the image. Set max_time or max_samples so a test render does not run for long.
Inputs: frame, width, camera, height, +6 more.
render_animationA
Renders the whole animation (or a frame range) with Iray, one image per frame, and joins them into an MP4 or GIF. Waits until it is done. It takes about frames x max_time: render a short range or a few frames (step) first, and ask the user before a long render.
Inputs: fps, name, step, width, +13 more.
render_settingsB
Reads the render settings (renderer, size, limits) and changes the ones given.
Inputs: width, height, quality, max_time, +2 more.
render_shotsA
Renders a dialogue scene as a series of shots for a visual novel: for each beat it sets the faces and gazes, frames the camera (camera_shot) and renders, into NN_ images plus a shots.json listing every beat, its line and its camera. Waits until all are done; it takes about beats x max_time, so render a few beats first and ask the user before a long run.
Inputs: beats (required), only, width, camera, +9 more.
run_scriptADestructive
Runs DazScript inside Daz Studio for anything the named tools do not cover.
Globals: Scene, App, MainWindow, DazMcp (helpers such as DazMcp.findNode, DazMcp.log).
Use DazMcp.log(msg) for messages and return the result.
Inputs: code (required), args.
scene_infoARead-onlyIdempotent
Describes the open scene: file, frames, and every figure, prop, camera and light with its parent, world position (cm), rotation (degrees), scale and bounding box.
Inputs: max_nodes, include_bones, include_hidden.
scene_newADestructive
Clears the scene. Fails on unsaved changes unless discard_changes is true; ask the user first.
Inputs: discard_changes.
scene_openBDestructive
Opens a Daz scene (.duf), or merges it into the current one.
Inputs: path (required), merge, discard_changes.
scene_saveC
Saves the scene as a .duf file.
Inputs: path, overwrite.
viewport_captureBRead-onlyIdempotent
Returns an image of the active 3D viewport so you can see the scene.
Inputs: frame, camera, max_size.
wearable_adjustA
Fixes how clothing sits on a figure: mesh smoothing and collision (cures skin poking through) and other item properties. Without arguments it reports the current values. For loose or tight fit dials use morph_list/morph_set on the item.
Inputs: item (required), smoothing, properties, collide_with, +2 more.
wearable_fitA
Fits clothing or hair already in the scene to a figure (Daz "Fit To"), or unfits it.
Inputs: item (required), figure.
wearable_from_meshA
Makes an imported garment, hat, armor or hair follow a figure (Daz Transfer Utility): copies the figure's rigging and morphs onto it and fits it, so it moves with poses and shapes. The mesh must already sit on the figure in its default pose. Also re-rigs clothing made for another figure generation.
Inputs: item (required), figure (required), kind, label, +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 63 tools
Tools are grouped by resource (scene_, content_, node_, figure_, morph_, pose_, camera_, light_, material_, render_, anim_, package_, mesh_) and each group's members have clearly stated distinct purposes, e.g. anim_retime (rhythm) vs anim_offset (relocation), camera_create vs camera_set vs camera_shot. A few boundaries blur: morph_set vs face_expression both set face dials, pose_bones vs morph_set's control dials overlap, and anim_keys_set vs anim_key_pose need careful reading, but descriptions mostly resolve this.
Almost everything is snake_case with a resource prefix (camera_create, light_set, material_list, anim_keys_get), giving a predictable, browsable pattern. Minor deviations: content_add_library is a three-part outlier, daz_status/daz_guide/daz_dialog use a product prefix instead of a resource, and anim_key_pose vs anim_keys_set mix singular/plural.
63 tools is far beyond a comfortable surface for one agent to navigate, even though the Daz Studio domain is genuinely large. The groups (scene, content, posing, rendering, animation, packaging, meshes) would work better as separate servers or a progressive-disclosure scheme; several tools (anim_foot_contact, anim_sample, prop_surfaces) are niche enough to bloat the list.
Coverage is remarkably full: scene lifecycle (new/open/save/info), content discovery and loading, node transforms and deletion, figure/morph/pose/expression control, cameras, lights, environment, materials, render settings and stills/animation/shots, plus package install/uninstall, mesh import and rigging, animation import/retime/retarget/presets, and run_script as an escape hatch. No obvious dead end remains for the stated domain.
Maintenance
Related MCP Connectors
Connect your AI assistant to Blender for 3D modeling, Geometry Nodes, materials, lighting, animation, rendering and export. Inspect real scenes and viewport images, refine the result and restore checkpoints. OAuth connects your chat to Blender Bridge Desktop on an online Windows 10/11 x64 computer running Blender 4.2+. The chat can run on another device. Requires an active Blender Bridge account; 7-day trial available. AI model access is separate.
Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
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 gradedqualityDmaintenanceEnables AI to control Blender 3D through the Model Context Protocol, allowing Python execution, scene state queries, and automation of 3D workflows.5GPL 3.0
- AlicenseAqualityBmaintenanceMCP server that enables Claude to control DAZ Studio for scene manipulation, morph discovery, animation, and rendering.7039MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for AI-driven DAZ Studio scene editing. Runs as a native DAZ Studio plugin (DLL) and exposes all scene control, rendering, dForce, asset, and animation commands through the Model Context Protocol.14MIT