Skip to content
Conduit

mcp server

3dsmax-mcp

3ds Max MCP server

cl0nazepamm/3dsmax-mcpcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • uv (`curl -LsSf https://astral.sh/uv/install.sh | sh`)
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "3dsmax-mcp": {
      "command": "uvx",
      "args": [
        "3dsmax-mcp"
      ]
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Oct 17, 2026

3dsmax-mcp

Connect AI agents to Autodesk 3ds Max through the Model Context Protocol.

Automate everything!

Current release: 1.7.6 — see CHANGELOG.md.

Features

  • 160 MCP tools — For scene reads, modeling, materials, modifiers, controllers, viewport capture, procedural graphs, and plugin workflows.
  • Native Bridge — only 2023-2027 versions.
  • Introspection — discover arbitrary Max classes for all kinds of automation and scripting purposes.
  • Bundled agent skill — There is a bundled maxscript documentation if you want to create your own tools.
  • FStorm materials and lights — FStorm/FStormPBR texture import, palette laydown and smart import; create and edit plane/disc/sphere lights and suns with native solar controls.

Requirements

  • Windows and Autodesk 3ds Max 2023–2027
  • An MCP client, such as Claude Desktop, Codex or Cursor

Quick start

  1. Close 3ds Max and fully exit your AI clients.
  2. Run 3dsmax-mcp-1.7.2-Setup.exe and select your clients.
  3. Open 3ds Max and restart your AI client.

The installer includes Python, dependencies, native bridges and agent skills. To update, close Max and your clients, then run the new installer.

Requires Python 3.12+, uv and Git. Close Max and your AI clients before installing.

git clone https://github.com/cl0nazepamm/3dsmax-mcp.git
cd 3dsmax-mcp
uv sync
uv run python install.py

Use the default Full tool profile. To update, run git pull, uv sync, then uv run python install.py again.

See Advanced configuration for manual client setup and tool profiles.

Some ideas for you

Modeling

Build editable meshes from a reference Create polygon cages, sweeps, and lofts, then refine their components and check topology. Tools: create_mesh, curve_model, loft_mesh, mesh_edit, geometry_qa, contact_check

Materials

Turn texture folders into a palette Preview textures or build PBR sets in the Material Editor, with filters and library overflow. Tool: palette_laydown

Save your material scratchpad Back up Material Editor slots and the current material library to reusable .mat files. Tools: get_material_library, backup_material_library

Create custom materials and textures Wire PBR texture sets, tune material properties, or write procedural OSL textures. Tools: create_material_from_textures, assign_material, set_material_properties, create_texture_map, write_osl_shader

Make material variants Clone a material graph, remap its textures, and replace materials across the scene. Tools: inspect_material_network, replicate_material, batch_replace_materials

Asset workflows

Browse an asset library in your scene Batch-import a folder into a grid, filter LODs, and assign matching PBR textures. Tool: smart_import

Reuse objects from old scenes Search .max files, inspect their contents, and merge just the objects you need. Tools: search_max_files, batch_file_info, inspect_max_file, merge_from_file

Move assets between applications Import mesh, CAD, USD, and glTF assets through installed importers. Export through MAXScript and installed exporters, with separate render/export materials where needed. Tools: smart_import, execute_maxscript, create_shell_material, manage_scene

Custom tools

Build your own tools Automate repetitive work with MAXScript, or build procedural geometry and modifiers with Max Creation Graph (MCG). Explore installed classes through introspection and build, compile, and test graphs with the mcg_* tools.

Tools

Bridge & session

ToolDescription
get_bridge_statusPing the MCP bridge when diagnosing connection errors
get_session_contextBundle bridge status, capabilities, scene summary, and selection in one call
get_plugin_capabilitiesMax version, renderers, installed plugins, and class counts

Scene state & transactions

ToolDescription
query_sceneUnified reads: overview, filter, class, property, selection, delta
resolve_node_refsResolve names, handles, or hierarchy paths to canonical, cross-checked NodeRefs
scene_qaScan scene-graph hygiene and apply explicit safe naming repairs; never analyzes meshes
scene_patchPreflight and atomically apply up to 256 mechanical node edits in one native undo step
get_hierarchyRecursive child tree for an object
get_instancesAll instances sharing the same base object
get_dependenciesReference graph via dependents / dependent nodes

Objects

ToolDescription
create_objectCreate geometry with spatial placement feedback
delete_objectsDelete objects by name
get_object_propertiesCompact properties for one object
set_object_propertySet a single object property
transform_objectMove, rotate, and/or scale by offset
analyze_node_orientationPivot, bbox, local axes, and world matrix for rigging and placement
clone_objectsCopy, instance, or reference clones
set_parentParent or unparent objects
select_objectsChange the current selection
set_visibilityShow, hide, freeze, or unfreeze
batch_rename_objectsRename many objects in one call

Modifiers

ToolDescription
add_modifierAdd a modifier to an object
remove_modifierRemove a modifier by name
set_modifier_stateEnable/disable with viewport/render granularity
set_modifier_propertySet a modifier parameter on one or many objects
collapse_modifier_stackCollapse the stack
make_modifier_uniqueDe-instance a shared modifier

Modeling

ToolDescription
curve_modelNamed curves, rounded profiles, sweeps and quad lofts with controls saved in the scene
inspect_curve / edit_curveInspect, visually target and edit spline knots and handles with stale-token protection
create_meshBuild editable polygon cages from explicit vertices and faces
inspect_mesh / pick_componentRead cage geometry, label components and map image positions to edit targets
mesh_editUndoable vertex, edge and face edits that preserve the modifier stack
loft_meshMatched-section quad lofts with persistent numeric parameters
geometry_qaCheck mesh boundaries, winding, degeneracy and connected components
contact_checkFind parts that pass through each other, touch, or float just short of contact
boolean_operationApply, inspect, retune, rename, or extract Boolean modifier operands; supports inline repeated cutters
draw_splineCreate, read, and edit spline shapes from explicit world-space points and knots
edit_verticesRead, move, set, or conform Editable Poly vertices in world space

Materials & textures

ToolDescription
get_materialsList materials assigned in the scene
get_material_libraryInspect currentMaterialLibrary and Material Editor scratch slots
backup_material_librarySave temporary/scratch material libraries to .mat files
get_material_slotsCompact slot/property readback for a material
inspect_material_networkSemantic material graph, wired slots, texture manifest, health checks
material_rolesTexture sources per material slot, including shared maps, composites and submaterials; advisory filename mismatches and missing files; flags maps whose file path can't be read
replicate_materialPreview/apply structure-preserving material clone and texture remap
assign_materialCreate a material and assign it to objects
set_material_propertySet one property on an object's material
set_material_propertiesSet multiple material properties at once
set_sub_materialCreate or assign a Multi/Sub-Object slot
create_texture_mapCreate a texture map (stored as a MAXScript global)
set_texture_map_propertiesEdit a texture map global
create_material_from_texturesBuild a fully wired PBR material from texture files
create_shell_materialWrap any render + export materials in Shell Material (dual pipeline)
write_osl_shaderWrite OSL to disk and compile an OSLMap
replace_materialPut a source material wherever a target is used, on objects and in sub-material slots; the source can come from a slot, the Material Editor or the material library
batch_replace_materialsBatch material replacement
palette_laydownFill Material Editor palette slots from a texture folder
smart_importBatch-import meshes from a folder with auto PBR assignment
cosmos_searchFind compatible Cosmos models, materials and HDRIs
cosmos_downloadDownload a Cosmos asset without importing it
cosmos_importImport a Cosmos asset through Corona or V-Ray

Inspection

ToolDescription
inspect_objectDeep exploratory object summary
inspect_propertiesDeep property dump (`target="object"
introspect_oslAPI surface for OSLMap and shader classes
walk_referencesFull reference dependency walk
learn_scene_patternsAnalyze class usage patterns in the live scene
map_class_relationshipsParamBlock2 reference relationships between classes
watch_sceneLive event watcher for interactive sessions
isolate_and_capture_selectedPer-selection isolated viewport captures
main_threadInspect or clean up callbacks and timers running on Max's main/UI thread
max_dialogsRead any dialog blocking Max (Win32 or Qt) and press a chosen button, even while a tool call waits on it

Plugins & introspection

ToolDescription
discover_plugin_surfaceFind plugin-related classes and entry points
discover_plugin_classesEnumerate registered SDK classes
list_plugin_classesList classes for a plugin or superclass family
inspect_plugin_classSDK schema v2: bounded metadata, exact bindings and enum sources; legacy reflection retained
inspect_plugin_constructorCreation notes for a plugin class
inspect_plugin_instanceSDK schema v2: live values, linked maps and guarded edit tokens
plugin_patchAtomic typed PB2 edits with readback and stale/shared/animation guards
get_plugin_manifestStructured manifest (classes, workflows, gotchas), rebuilt from the live runtime on each call
introspect_classSDK parameter descriptors and published interface metadata
introspect_instanceDeep SDK introspection with live values

MCP resources: resource://3dsmax-mcp/plugins/{name}/manifest|guide|recipes|gotchas

Lighting

ToolDescription
lighting_capabilitiesInstalled renderer routes, emitter shapes, units and color policy
create_lightsSemantic lights and environment graphs in one verified native transaction
inspect_lightsDecode actual light settings and linked emission maps
edit_lightsGuarded color, output, size, enable and shadow edits

Providers cover Corona, V-Ray, Octane and native photometric emitters. Query capabilities for the current renderer: shapes, units and environment routes differ. HDRI maps and existing procedural skies use the provider's dome or environment binding.

Controllers & animation

ToolDescription
assign_controllerCreate and assign a controller to a sub-anim track
script_controllerInspect, validate and apply scripts with typed inputs, frame checks and rollback
inspect_controllerInspect one controller track
inspect_track_viewTrack View-style controller hierarchy
set_controller_propsEdit script text or controller properties
add_controller_targetAdd a target to script/expression/constraint controllers
keyframe_tracksTimeline control; bounded delete/move/scale, bake/resample, tangent normalization, pose matching, and loops

Parameter wiring

ToolDescription
list_wireable_paramsDiscover wireable sub-anims on an object
wire_paramsConnect parameters with a wire expression
get_wired_paramsList existing wire connections
unwire_paramsRemove a wire

Organization

ToolDescription
manage_layersCreate, delete, list, and configure layers; move/select objects
manage_groupsCreate, ungroup, open, close, attach, detach groups
manage_selection_setsNamed selection sets
manage_sceneHold, fetch, reset, save, scene info
undo_lastUndo the last 3ds Max scene operation

Viewport & render

ToolDescription
agent_viewportIndependent floating agent view, visual targeting and V-Ray preview controls
set_viewportPosition and frame the agent or user viewport
capture_viewportCapture the agent or user viewport as an image
capture_multi_viewCapture several views into one image, with agent-view restoration
capture_screenCapture visible desktop pixels or crop to the V-Ray frame buffer
render_sceneRender the current view
render_automationsArm/poll completion signals, request cancellation or capture a progressive render before cancelling

External .max files

ToolDescription
inspect_max_fileRead metadata and object names without loading
merge_from_fileSelective merge with duplicate handling
search_max_filesScan a folder for objects matching a pattern
batch_file_infoParallel metadata from many .max files

Effects & state sets

ToolDescription
get_effectsList atmospheric and render effects
toggle_effectEnable or disable an effect by index
delete_effectRemove an effect by index
get_state_setsState Sets with camera assignments
get_camera_sequenceCamera-assigned State Sets sorted by frame

Data Channel

ToolDescription
list_dc_operatorsSearch the live version-specific operator catalog
list_dc_presetsList installed Data Channel presets
add_data_channelAppend operators to a Data Channel modifier stack
inspect_data_channelRead the active stack in visible processing order
set_data_channel_operatorEdit one visible operator with rollback on failure
manage_data_channel_stackDelete, enable, disable, or safely reorder operators
load_dc_presetLoad a preset into the stack
add_dc_script_operatorAdd executable MAXScript with explicit authorization

Max Creation Graph

ToolDescription
mcg_get_contextCompiler, temporary workspace, templates, samples, and safety state
mcg_list_graphsList temporary, installed, or bundled sample graphs
mcg_inspect_graphNormalize graph metadata, nodes, connections, and parameters
mcg_search_operatorsSearch live typed operators and offline compound references
mcg_create_graphFork a read-only source into the temporary workspace
mcg_apply_patchPatch, compile, verify, checkpoint, and roll back transactionally
mcg_compile_graphValidate and compile one temporary graph with diagnostics
mcg_test_toolCreate, inspect, and remove a disposable generated instance
mcg_resolve_classResolve the exact generated modifier class descriptor
mcg_apply_modifierCompile and apply a typed MCG modifier safely
mcg_inspect_instanceVerify graph identity and inspect a live MCG modifier
mcg_set_node_parameterRetarget one supported scalar node parameter
mcg_restore_checkpointRestore an opaque checkpoint with hash protection
mcg_cleanup_workspaceRemove one graph family or the temporary MCG workspace
mcg_reload_operatorsExplicitly refresh Max's global MCG operator depot

tyFlow

ToolDescription
create_tyflowCreate tyFlow with an event and operators, or a preset: rain, snow, fountain, burst, debris
get_tyflow_infoDeep flow/event/operator readback
harvest_tyflow_manifestProbe and cache the installed tyFlow operator surface by tyFlow version
list_tyflow_operatorsQuery the cached manifest, including per-type availability, without touching Max
get_tyflow_graphRead events, operators, properties, ledger edges, and wiring staleness
tyflow_apply_patchApply a batch of tyFlow graph operations as one verified transaction
connect_tyflow_operatorConnect or retarget a test/Send Out operator to an event, optionally creating the Send Out
disconnect_tyflow_operatorDisconnect an operator output and remove its ledger edge
set_tyflow_wiring_ledgerReconcile recorded graph wiring after external or visual edits
tyflow_event_censusCount particles per event at probe frames with temporary instrumentation
capture_tyflow_editorOpen and capture the tyFlow editor for visual wire inspection
modify_tyflow_operatorEdit operator properties
set_tyflow_shapeConfigure Shape operator
set_tyflow_physxObject-level PhysX settings
add_tyflow_collisionCollision operator + collider list
add_tyflow_eventAdd an event
remove_tyflow_elementRemove operator or event
get_tyflow_particle_countParticle count at a frame
get_tyflow_particlesParticle data rows
reset_tyflow_simulationReset one or all tyFlow sims

RailClone (1.7.2)

ToolDescription
get_railclone_styleRead complete style XML and edit token (RailClone 7.3.5+)
set_railclone_styleReplace style XML with guarded, undoable adoption
get_railclone_outputRead generated segments, transforms, bounds, and tags

Forest Pack (WIP)

Work in progress — the Forest Pack integration is early-stage and may be incomplete or change between releases.

ToolDescription
scatter_forest_packCreate a Forest Pack scatter with surfaces and source geometry

Scripting & diagnostics

ToolDescription
execute_maxscriptRun MAXScript when no dedicated tool exists (respects safe mode)
execute_pythonRun Python with captured output, JSON results, tracebacks and undo rollback (requires safe mode off)
invoke_toolCall any registered tool from inside Max (testing)

Skill & reference

The installer builds an agent skill from skills/3dsmax-mcp-dev/SKILL.md with tool-choice rules, material pipeline notes, and MAXScript reference files. Rebuild manually with python scripts/build_skill.py — see Advanced configuration.

Further reading

↑↓ navigate openesc close