Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Tools to control a running Daz Studio (3D characters and scenes). Start with daz_status, then scene_info to learn what is in the scene, and viewport_capture to look at it. Units are centimeters and Y is up. Never discard unsaved work without asking the user. If a call fails with dialog_open, Daz Studio stopped on a pop-up dialog: read its text and buttons and answer it with daz_dialog; the call then finishes. To build scenes: content_search finds installed figures, clothing, hair, poses and props; content_load adds them (clothing, hair and poses need a target figure); figure_info, morph_set and pose_bones adjust characters; prop_surfaces, place_on and fit_check put a posed figure on a chair, sofa or bed without floating or passing through it; face_expression, eyes_look_at and eye_color set expressions, where the eyes look and iris color; camera_create, light_create and environment_set set up the shot; render makes the final image. Dialogue scenes (visual novels): camera_shot frames a close-up, over the shoulder or two shot on a face, on one side of the line between the two speakers; render_shots renders a whole conversation, one image per line. Content from other stores: package_inspect and package_install put a .zip into a content library; import_mesh brings in loose OBJ/FBX models; wearable_from_mesh makes an imported garment follow a figure. Animation: anim_keys_set keys poses at frames (anim_timeline sets the frame rate and range); anim_preset_apply plays saved or built-in motions; anim_import brings Mixamo FBX or mocap BVH onto a Genesis figure; anim_retime and anim_offset change speed, timing and place; anim_foot_contact and anim_preview check the result. If your client has no skills, read the guides with daz_guide first: daz-basics, then scene-building, characters, faces, furniture-poses, dialogue-scenes, rendering, third-party-assets and animation. run_script runs free DazScript (ES5 JavaScript) for anything the named tools do not cover; prefer the named tools when they exist.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
daz_statusA

Checks that Daz Studio is reachable and reports its version and the open scene.

daz_dialogA

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+.

scene_infoA

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.

scene_newA

Clears the scene. Fails on unsaved changes unless discard_changes is true; ask the user first.

scene_openB

Opens a Daz scene (.duf), or merges it into the current one.

scene_saveC

Saves the scene as a .duf file.

viewport_captureB

Returns an image of the active 3D viewport so you can see the scene.

run_scriptA

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.

daz_guideA

Returns a usage guide (the same text as the Daz3D-MCP skills) for clients without skills support.

content_librariesA

Lists the user's Daz content libraries (My Library, My DAZ 3D Library...) and how many content files the search index holds.

content_searchA

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.

content_thumbnailB

Shows the thumbnail image of a content file, to choose between search results.

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.

node_setB

Moves, rotates, scales, shows/hides, renames, selects or attaches (parents) a figure, prop, camera or light.

node_deleteB

Deletes nodes (figures, clothing, hair, props, cameras, lights) from the scene.

figure_infoA

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.

morph_listB

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).

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.

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.

pose_resetB

Returns all the bones of a figure to the default pose.

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.

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.

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).

prop_surfacesA

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).

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.

fit_checkA

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.

wearable_fitA

Fits clothing or hair already in the scene to a figure (Daz "Fit To"), or unfits it.

camera_createB

Adds a camera, either framing nodes automatically or at a position aimed at a target.

camera_setB

Moves, aims or reframes an existing camera, or makes it the active one.

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.

light_createB

Adds a light, placed and aimed at a node or point.

light_setC

Changes a light: placement, aim, power, color, on/off.

environment_setA

Sets the Iray environment (dome light, HDRI, sun-sky). Without arguments it reports it.

material_listA

Lists the surfaces of a node with their shader and main values (color, roughness, maps...).

material_setB

Changes material properties, e.g. {"Base Color": "#802020", "Glossy Roughness": 0.3}.

render_settingsB

Reads the render settings (renderer, size, limits) and changes the ones given.

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.

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.

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.

package_inspectA

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.

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.

package_listB

Lists the packages installed with package_install.

package_uninstallA

Deletes the files a package_install wrote (not files other packages share). Ask the user first; scenes that use the package will miss it.

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.

mesh_inspectA

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.

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.

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.

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.

anim_timelineB

Reads or sets the timeline: frame rate, animation range, current frame. Also lists which nodes are animated and over which frames.

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.

anim_keys_getB

Reads keyframes of a node as tracks ({bones: {bone: {rotation: [[frame, x, y, z], ...]}}...}), the same format anim_keys_set takes.

anim_keys_deleteA

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.

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.

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.

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.

anim_sampleA

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.

anim_previewA

Viewport images of several frames, to watch the motion (a contact sheet, one image each).

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.

anim_preset_listA

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").

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.

anim_preset_applyB

Applies an animation preset to a figure from a frame on, at any speed, repeated as a cycle.

anim_file_inspectA

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.

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.

Prompts

Interactive templates invoked by user choice

NameDescription
animationHow to animate Daz Studio figures, props and cameras with the daz3d MCP tools - keyframes, the timeline, walk cycles and other motions made from scratch, animation presets, Mixamo FBX and mocap BVH import onto Genesis figures, moving, retiming and fixing feet. Use when the user asks for motion, animation, a walk, a dance, keyframes, Mixamo or BVH.
charactersHow to build and adjust Daz Studio characters with the daz3d MCP tools - Genesis figures, character presets, morphs (shape), clothing, hair, poses and bones. Use when the user asks for a person or character, to dress, style, shape or pose a figure.
daz-basicsCore knowledge for controlling Daz Studio through the daz3d MCP server. Use whenever a task involves Daz Studio, Daz 3D scenes (.duf), Genesis figures, or the daz3d tools (scene_info, viewport_capture, run_script).
dialogue-scenesHow to render a conversation between Daz Studio characters as a series of shots for a visual novel, comic or storyboard with the daz3d MCP tools - the same place and characters seen from a new camera angle on the faces at each line of dialogue (close-ups, shot and reverse shot, over the shoulder, two shots), with expressions and gazes that follow the talk. Use when the user wants dialogue scenes, visual-novel backgrounds or CGs, a conversation told in images, or several angles of one scene.
facesHow to edit a Daz Studio character's face and looks with the daz3d MCP tools - facial expressions, where the eyes look, eye (iris) color, skin tone, hair, eyebrow and beard color, makeup. Use when the user asks for an expression or gesture, a smile, a wink, to look at the camera or at someone, or to change eye, skin or hair color.
furniture-posesHow to put Daz Studio figures on furniture with the daz3d MCP tools - sitting on a chair, sofa or bench, lying on a bed, leaning, standing on a step - with measurements instead of guesses, so the body rests on the surface without floating or passing through it, and the pose looks natural. Use when the user wants a character sitting, lying, or resting on or against a prop.
renderingHow to render Daz Studio scenes with the daz3d MCP tools - render settings, Iray limits, test renders, cameras and output files. Use when the user asks for a render, a final image, or better render quality or speed.
scene-buildingHow to build a Daz Studio scene with the daz3d MCP tools - find installed content, load figures and props, place them, add cameras and lights. Use when the user asks to create, set up, compose or change a Daz scene.
third-party-assetsHow to bring content from outside the Daz store into Daz Studio with the daz3d MCP tools - install .zip packages from Renderosity, RuntimeDNA, CGBytes or free sites, import loose OBJ and FBX models, turn imported garments into clothing that follows a figure, and attach props to hands or heads. Use when the user has a downloaded zip, an .obj or .fbx, or a model from Sketchfab, CGTrader or Blender.

Resources

Contextual data attached and managed by the client

NameDescription
animationHow to animate Daz Studio figures, props and cameras with the daz3d MCP tools - keyframes, the timeline, walk cycles and other motions made from scratch, animation presets, Mixamo FBX and mocap BVH import onto Genesis figures, moving, retiming and fixing feet. Use when the user asks for motion, animation, a walk, a dance, keyframes, Mixamo or BVH.
charactersHow to build and adjust Daz Studio characters with the daz3d MCP tools - Genesis figures, character presets, morphs (shape), clothing, hair, poses and bones. Use when the user asks for a person or character, to dress, style, shape or pose a figure.
daz-basicsCore knowledge for controlling Daz Studio through the daz3d MCP server. Use whenever a task involves Daz Studio, Daz 3D scenes (.duf), Genesis figures, or the daz3d tools (scene_info, viewport_capture, run_script).
dialogue-scenesHow to render a conversation between Daz Studio characters as a series of shots for a visual novel, comic or storyboard with the daz3d MCP tools - the same place and characters seen from a new camera angle on the faces at each line of dialogue (close-ups, shot and reverse shot, over the shoulder, two shots), with expressions and gazes that follow the talk. Use when the user wants dialogue scenes, visual-novel backgrounds or CGs, a conversation told in images, or several angles of one scene.
facesHow to edit a Daz Studio character's face and looks with the daz3d MCP tools - facial expressions, where the eyes look, eye (iris) color, skin tone, hair, eyebrow and beard color, makeup. Use when the user asks for an expression or gesture, a smile, a wink, to look at the camera or at someone, or to change eye, skin or hair color.
furniture-posesHow to put Daz Studio figures on furniture with the daz3d MCP tools - sitting on a chair, sofa or bench, lying on a bed, leaning, standing on a step - with measurements instead of guesses, so the body rests on the surface without floating or passing through it, and the pose looks natural. Use when the user wants a character sitting, lying, or resting on or against a prop.
renderingHow to render Daz Studio scenes with the daz3d MCP tools - render settings, Iray limits, test renders, cameras and output files. Use when the user asks for a render, a final image, or better render quality or speed.
scene-buildingHow to build a Daz Studio scene with the daz3d MCP tools - find installed content, load figures and props, place them, add cameras and lights. Use when the user asks to create, set up, compose or change a Daz scene.
third-party-assetsHow to bring content from outside the Daz store into Daz Studio with the daz3d MCP tools - install .zip packages from Renderosity, RuntimeDNA, CGBytes or free sites, import loose OBJ and FBX models, turn imported garments into clothing that follows a figure, and attach props to hands or heads. Use when the user has a downloaded zip, an .obj or .fbx, or a model from Sketchfab, CGTrader or Blender.

TDQS

A3.5/5.0

Scored across 63 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count2/5

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.

Completeness5/5

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

ActivityMaintained
ResponsivenessNo recent community issues