Atlas / MCP servers / bluemoonfoundry / daz-mcp-server

daz-mcp-serverBLOCK

mcp/bluemoonfoundry/daz-mcp-server

MCP server wrapping the DazScriptServer HTTP plugin for DAZ Studio

Verdict
BLOCK
Grade
D
Trust score
67 /100
Exposed tools
153 86r · 62w · 5d
Transport
—
License
MIT
Stars
30
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Version 0.5.0 | MCP Server for DAZ Studio

A Model Context Protocol (MCP) server that exposes DAZ Studio operations to Claude and other MCP clients. Built on FastMCP and wraps the DazScriptServer HTTP plugin.

What Is This?

This MCP server allows Claude (via Claude Desktop or other MCP clients) to control DAZ Studio directly (at least these are the aspirational goals, not all of them are working just yet!):

  • Query scene information (figures, cameras, lights, spatial positions)
  • Read and modify node properties (transforms, morphs)
  • Discover and apply morphs, including searching by name pattern
  • Traverse and manipulate scene hierarchies (parent/child, skeleton)
  • Apply emotional expressions to characters
  • Coordinate multi-character interactions (look-at, reach-toward, hug, handshake)
  • Execute batch operations (set multiple properties in one call, 5-10x faster)
  • Control cameras and viewport (orbit, frame, presets)
  • Create keyframe animations and export as image sequences
  • Trigger synchronous or asynchronous renders with cancellation support
  • Apply professional lighting presets and cinematography composition rules
  • Browse and query the DAZ content library
  • Save and restore named scene checkpoints
  • Generate complete scenes from natural language descriptions
  • Create multi-camera shot sequences (orbit, push-in, shot-reverse-shot)
  • Choreograph animated conversations with dialogue beats
  • Record and replay operation macros for workflow automation
  • Execute arbitrary DazScript code
  • Access comprehensive DazScript documentation and examples

The server acts as a bridge: MCP Client ↔ vangard-daz-mcp ↔ DazScriptServer plugin ↔ DAZ Studio 4.5+ or 6.25+

Prerequisites

Before using this server, you need:

  1. DAZ Studio installed and running — compatible with:
Read from source at commit 054ec3867cafOBSERVED · 2026-10-09
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add vangard-daz-mcp --env DAZ_API_TOKEN=${DAZ_API_TOKEN} -- uvx vangard-daz-mcp
claude-desktop
{
  "mcpServers": {
    "vangard-daz-mcp": {
      "command": "uvx",
      "args": [
        "vangard-daz-mcp"
      ],
      "env": {
        "DAZ_API_TOKEN": "${DAZ_API_TOKEN}"
      }
    }
  }
}
03

Exposed tools (153)

86 read · 62 write · 5 destructive. Blast radius: 5 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
daz_add_dforce_dynamic_surfacewriteAdd a dForce Dynamic Surface modifier to a scene node.
daz_animate_camera_movementreadAnimate common camera movements with keyframes.
daz_animate_conversationreadChoreograph an animated conversation between two characters.
daz_animate_focus_pullreadAnimate a rack focus (focus pull) between two subjects or distances.
daz_animate_lightreadAnimate a light
daz_apply_camera_anglewriteApply a standard camera angle preset relative to a subject.
daz_apply_composition_rulewritePosition camera so subject is framed according to a photography composition rule.
daz_apply_lighting_presetwriteCreate a professional photography lighting setup in one command.
daz_apply_material_presetwriteApply a DAZ material preset (.duf) file to a scene node.
daz_apply_time_of_daywriteAdjust all scene lights to simulate a particular time of day.
daz_apply_visual_stylewriteApply a holistic cinematic visual style to the scene
daz_arrange_charactersreadPosition multiple characters in formation.
daz_auto_improve_scenereadAutomatically validate the scene and attempt to fix common issues.
daz_bake_simulationreadBake dForce simulation results to keyframes.
daz_batch_render_camerasreadRender from multiple cameras in sequence.
daz_batch_render_cameras_asyncreadQueue renders from multiple cameras as a validated batch.
daz_batch_selectreadSelect multiple nodes in the DAZ Studio scene.
daz_batch_set_propertieswriteSet multiple properties on one or more nodes in a single call.
daz_batch_transformwriteApply the same transform properties to multiple nodes.
daz_batch_visibilityreadShow or hide multiple nodes in the viewport and renders.
daz_browse_categoryreadList .duf content files in a content library category path.
daz_calculate_distancereadCalculate the distance between two nodes.
daz_cancel_requestreadCancel a queued or running async request.
daz_check_compatibilityreadCheck if an asset is compatible with the specified figure generation.
daz_check_overlapreadCheck if two nodes have overlapping bounding boxes (collision detection).
daz_choreograph_actionreadChoreograph simple action between characters.
daz_clear_animationdestructiveRemove all keyframes from a property.
daz_convert_to_iray_uberreadUpgrade every material zone on a node from DzDefaultMaterial to DzUberIrayMaterial.
daz_copy_materialreadCopy all property values from one material slot to another within the scene.
daz_create_camerawriteCreate a new camera and add it to the scene.
daz_create_camera_pathwriteCreate smooth camera path through multiple waypoints.
daz_create_camera_rigwriteSet up multi-camera rig for bullet-time or simultaneous multi-angle shots.
daz_create_character_pathwriteAnimate character movement along a path with waypoints.
daz_create_lightwriteCreate a new light and add it to the scene.
daz_create_light_sequencewriteCreate an animated multi-light sequence for a cinematic mood or time-of-day.
daz_create_scenewriteGenerate a complete scene from a natural language description.
daz_create_shot_sequencewriteCreate a multi-camera shot sequence for cinematic storytelling.
daz_create_storyboardwriteGenerate a multi-shot storyboard: creates a named camera for each shot,
daz_create_strand_hairwriteCreate a native Strand-Based Hair node fit to a target figure.
daz_delete_nodedestructiveRemove a node and its children from the scene.
daz_direct_gazereadPoint a figure
daz_erc_freezereadHeadless ERC Freeze — link current non-default numeric values to a controller.
daz_executewriteExecute inline DazScript code in DAZ Studio.
daz_execute_filewriteExecute a DazScript file on disk inside DAZ Studio.
daz_explain_last_errorreadExplain common DAZ Studio errors and how to fix them.
daz_export_fbxreadExport scene nodes to an FBX file via DAZ Studio
daz_export_node_configreadExport scene node properties to a JSON file for reuse across scenes.
daz_export_objreadExport scene nodes to a Wavefront OBJ file via DAZ Studio
daz_find_actionsreadSearch DAZ Studio actions without walking Qt menus.
daz_find_nearby_nodesreadFind all scene nodes within a specified radius of a target node.
daz_find_nodesreadList every scene node whose label or internal name equals ``query``.
daz_fit_clothingreadFit a clothing or prop item to a base figure.
daz_frame_camera_to_nodereadFrame camera to show a node by positioning at calculated distance.
daz_frame_shotreadFrame camera to subject using a standard cinematic shot type.
daz_get_animation_inforeadGet animation timeline info (current frame, range, fps).
daz_get_bounding_boxreadGet the axis-aligned bounding box of a node.
daz_get_content_inforeadRead metadata from a .duf content file without loading it into the scene.
daz_get_dforce_influence_weightsreadRead the per-vertex dForce influence (pinning) weights on a node.
daz_get_dforce_surface_propertiesreadList per-surface dForce simulation properties for a material zone.
daz_get_figure_inforeadReturn diagnostic information about a loaded figure.
daz_get_keyframesreadGet all keyframes for a property.
daz_get_materialreadGet all properties of a named material zone on a node.
daz_get_nodereadReturn all numeric properties of a scene node.
daz_get_node_hierarchyreadGet complete hierarchy tree for a node with all descendants.
daz_get_parentreadGet parent node of a node.
daz_get_performance_statsreadReturn session performance statistics.
daz_get_property_metadatareadGet detailed metadata for a single named property on a node.
daz_get_render_settingsreadGet current render settings and configuration.
daz_get_request_resultreadGet the result of a completed async request.
daz_get_request_statusreadGet the current status of an async request (non-blocking, always fast).
daz_get_scene_layoutreadGet a spatial map of all scene nodes with positions and bounding boxes.
daz_get_selected_nodesreadReturn the nodes currently selected in the DAZ Studio viewport.
daz_get_spatial_relationshipreadGet the spatial relationship between two nodes in natural language.
daz_get_world_positionreadGet world-space position, local position, rotation, and scale of a node.
daz_import_node_configwriteApply a previously exported node configuration file to the current scene.
daz_inspect_propertiesreadList all properties on a node with their types, values, and constraints.
daz_interactive_posereadCoordinate two characters for interactive poses.
daz_list_camerasreadList all cameras currently in the scene.
daz_list_categoriesreadList content library category subdirectories under a parent path.
daz_list_checkpointsreadList all saved scene state checkpoints in the current session.
daz_list_childrenreadList direct children of a node.
daz_list_fitted_itemsreadList all clothing, hair, and prop nodes currently fitted to a figure.
daz_list_lightsreadList all lights currently in the scene.
daz_list_macrosreadList all saved macros in the macro library.
daz_list_materialsreadList all material zones on a scene node.
daz_list_morphsreadList all morphs (numeric properties) on a node.
daz_list_requestsreadList all tracked async requests and their current statuses.
daz_list_strand_hair_nodesreadList every Strand-Based Hair node in the scene.
daz_load_camera_presetreadRestore camera position and rotation from preset data.
daz_load_filereadLoad a DAZ Studio file into the current scene.
daz_load_morph_proreadLoad an OBJ morph target onto a figure via Morph Loader Pro (``DzMorphLoader``).
daz_load_posewriteLoad a saved pose JSON file and apply it to a figure.
daz_load_productreadFind a DAZ product by name and load it into the current scene.
daz_look_at_characterreadMake one character look at another character
daz_look_at_pointreadMake character look at a world-space point with configurable body involvement.
daz_orbit_camera_aroundreadPosition camera orbiting around a target node at specified angle and distance.
daz_plan_shotreadAnalyse the current scene and return a concrete shot plan with camera, lighting,
daz_reach_towardreadPosition character
daz_remove_keyframedestructiveRemove a keyframe at specified frame.
daz_renderwriteTrigger a render in DAZ Studio using the current render settings.
daz_render_animationreadRender animation frame range as image sequence.
daz_render_animation_asyncwriteStart an animation render asynchronously — returns immediately with a request_id.
daz_render_asyncwriteStart a render asynchronously via the dedicated render endpoint — returns immediately.
daz_render_batchwriteSubmit a batch of render variants — validated and queued atomically.
daz_render_with_camerareadRender from specific camera without changing active viewport camera.
daz_render_with_camera_asyncwriteStart a camera-specific render asynchronously — returns immediately with a request_id.
daz_replay_macroreadReplay a saved macro with optional parameter substitution.
daz_reset_posedestructiveZero all bone rotations on a figure, returning it to its rest pose.
daz_restore_scene_statereadRestore scene state from a previously saved checkpoint.
daz_run_dforce_simulationwriteRun dForce cloth or hair simulation.
daz_run_transfer_utilitywriteProject rigging, morphs, UVs, or groups from one node onto another.
daz_save_camera_presetwriteSave camera position and rotation as preset data.
daz_save_posewriteCapture all bone rotations and translations from a figure and save to a JSON pose file.
daz_save_prop_assetwriteSave a node as a reusable Content-Library Prop/Figure Support Asset (.duf).
daz_save_scenewriteSave the current DAZ Studio scene to disk.
daz_save_scene_copywriteSave a copy of the current scene to a new path without changing the scene
daz_save_scene_statewriteSave current scene state as a named in-memory checkpoint.
daz_save_wearable_presetwriteSave a figure (with everything currently fitted to it) as a reusable
daz_scene_inforeadReturn a snapshot of the current DAZ Studio scene.
daz_script_helpreadGet DazScript documentation, examples, and best practices.
daz_search_contentreadSearch the DAZ product catalog using semantic vector search.
daz_search_morphsreadSearch for morphs matching a name pattern.
daz_set_active_camerawriteSet which camera is active in the DAZ Studio viewport.
daz_set_body_languagewriteApply a body-language posture to a figure via bone rotation adjustments.
daz_set_dforce_influence_weightswritePin or free individual vertices for dForce simulation.
daz_set_dforce_propertywriteSet a property directly on a node
daz_set_dforce_surface_propertywriteSet a per-surface dForce simulation property on a material zone.
daz_set_emotionwriteApply an emotional expression to a character using morph candidates + body adjustment.
daz_set_focus_pointwriteSet depth-of-field focus distance and aperture on a camera.
daz_set_framewriteSet current animation frame.
daz_set_frame_rangewriteSet animation frame range (start and end).
daz_set_keyframewriteSet a keyframe on a property at specified frame.
daz_set_material_propertywriteSet a property on a named material zone.
daz_set_mood_lightingwriteApply a mood-based lighting colour and intensity adjustment to all scene lights.
daz_set_morphwriteSet a morph dial on a node by display label.
daz_set_parentwriteSet parent of a node (parenting operation).
daz_set_propertywriteSet a numeric property on a scene node.
daz_set_render_enginewriteSet the DS6 Render Settings engine (Viewport / OpenGL / Iray).
daz_set_render_outputwriteConfigure render output path and/or image dimensions.
daz_set_render_qualitywriteSet the Iray render quality preset.
daz_set_scene_atmospherewriteConfigure the DAZ Studio environment node for scene atmosphere and mood.
daz_set_subdivisionwriteSet the SubDivision Level property on a figure or prop.
daz_setup_shot_coveragewriteCreate multiple camera angles for cinematic coverage of a subject.
daz_start_recordingwriteStart recording a macro — all subsequent MCP tool calls will be captured.
daz_statusreadCheck DAZ Studio connectivity. Returns server status and version.
daz_stop_recordingwriteStop recording the current macro and save it to the macro library.
daz_suggest_next_actionreadSuggest the next action to take based on scene state.
daz_sync_character_beatswriteSynchronize timed expressions across multiple characters at a dramatic beat.
daz_time_expressionwriteApply a timed emotional expression to a character using keyframed morphs.
daz_unfit_itemdestructiveRemove the fitting relationship between a clothing/prop item and its figure.
daz_validate_scenereadValidate the current scene for common issues before rendering.
daz_validate_scriptreadCheck a DazScript string for known anti-patterns before execution.
daz_wait_for_scene_eventreadWait for one of the specified scene events via the SSE stream at GET /scene/events.
04

Trust audit

BLOCKgrade D · trust 67/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (1 observation(s))
Shell
declared (5 observation(s))
Dependencies
pinned
Secrets in source
none-found

Findings (9)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
daz_script_spec.d.ts:387
exec(): void;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
daz_script_spec.d.ts:388
exec(pos: Point): void;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
daz_script_spec.d.ts:2539
exec(): boolean;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
daz_script_spec.d.ts:4081
eval(str: string): any;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
daz_script_spec.d.ts:5893
exec(pos: Point): number;
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
daz_clear_animation, daz_delete_node, daz_remove_keyframe, daz_reset_pose, daz_unfit_item
Why it matters. 5 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWObfuscation / stealth · obf.decode_call · CWE-506, CWE-94
daz_script_spec.d.ts:1504
fromHex(hexEncoded: ByteArray): ByteArray;
INFOSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
.beads/README.md:64
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash
INFOSupply chain · prompt.pipe_to_shell · CWE-829, CWE-1357
README.md:59
curl -LsSf https://astral.sh/uv/install.sh | sh

Gates applied: no_behavioural_pass.

Audited 2026-10-09 · audit v0.4.1 · source sha 054ec3867caffull audit observations/trust-audit/mcp-server/bluemoonfoundry__daz-mcp-server.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-09054ec3867cafBLOCKD67first audit
06

Questions

What is the daz-mcp-server MCP server?

MCP server wrapping the DazScriptServer HTTP plugin for DAZ Studio

What tools does daz-mcp-server expose?

153 in total: 86 read-only, 62 that write, and 5 that can delete or overwrite (daz_clear_animation, daz_delete_node, daz_remove_keyframe, daz_reset_pose, daz_unfit_item). Every one is listed on this page with its risk.

Is daz-mcp-server safe to connect to an agent?

No — not without reading the findings first. The audit graded it D (67/100) and found 5 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 5 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does daz-mcp-server need?

It reads DAZ_API_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How current is this page?

The grade is for one exact copy of the source (054ec3867caf), read on 2026-10-09. The repository is watched and re-audited when it changes.

Advertisement