161 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
Close 3ds Max and fully exit your AI clients.
Run 3dsmax-mcp-1.7.2-Setup.exe and select your clients.
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.
Install from source
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.
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
Browse the full tool catalog
Bridge & session
Tool
Description
get_bridge_status
Bridge health: whether Max is responsive, busy or hung and what holds its main thread; answers while Max is hung
get_session_context
Bundle bridge status, capabilities, scene summary, and selection in one call
get_plugin_capabilities
Max version, renderers, installed plugins, and class counts
Create, read, and edit spline shapes from explicit world-space points and knots
edit_vertices
Read, move, set, or conform Editable Poly vertices in world space
Materials & textures
Tool
Description
get_materials
List materials assigned in the scene
get_material_library
Inspect currentMaterialLibrary and Material Editor scratch slots
backup_material_library
Save temporary/scratch material libraries to .mat files
get_material_slots
Compact slot/property readback for a material
inspect_material_network
Semantic material graph, wired slots, texture manifest, health checks
material_roles
Texture 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_material
Preview/apply structure-preserving material clone and texture remap
assign_material
Create a material and assign it to objects
set_material_property
Set one property on an object's material
set_material_properties
Set multiple material properties at once
set_sub_material
Create or assign a Multi/Sub-Object slot
create_texture_map
Create a texture map (stored as a MAXScript global)
set_texture_map_properties
Edit a texture map global
create_material_from_textures
Build a fully wired PBR material from texture files
create_shell_material
Wrap any render + export materials in Shell Material (dual pipeline)
write_osl_shader
Write OSL to disk and compile an OSLMap
replace_material
Put 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_materials
Batch material replacement
palette_laydown
Fill Material Editor palette slots from a texture folder
smart_import
Batch-import meshes from a folder with auto PBR assignment
cosmos_search
Find compatible Cosmos models, materials and HDRIs
cosmos_download
Download a Cosmos asset without importing it
cosmos_import
Import a Cosmos asset through Corona or V-Ray
Inspection
Tool
Description
inspect_object
Deep exploratory object summary
inspect_properties
Deep property dump (`target="object"
introspect_osl
API surface for OSLMap and shader classes
walk_references
Full reference dependency walk
learn_scene_patterns
Analyze class usage patterns in the live scene
map_class_relationships
ParamBlock2 reference relationships between classes
watch_scene
Live event watcher for interactive sessions
isolate_and_capture_selected
Per-selection isolated viewport captures
main_thread
Inspect or clean up callbacks and timers running on Max's main/UI thread
max_dialogs
Read any dialog blocking Max (Win32 or Qt) and press a chosen button, even while a tool call waits on it, on Max's main thread
Installed renderer routes, emitter shapes, units and color policy
create_lights
Semantic lights and environment graphs in one verified native transaction
inspect_lights
Decode actual light settings and linked emission maps
edit_lights
Guarded 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
Tool
Description
assign_controller
Create and assign a controller to a sub-anim track
script_controller
Inspect, validate and apply scripts with typed inputs, frame checks and rollback
inspect_controller
Inspect one controller track
inspect_track_view
Track View-style controller hierarchy
set_controller_props
Edit script text or controller properties
add_controller_target
Add a target to script/expression/constraint controllers
Create, delete, list, and configure layers; move/select objects
manage_groups
Create, ungroup, open, close, attach, detach groups
manage_selection_sets
Named selection sets
manage_scene
Hold, fetch, reset, save, scene info
undo_last
Undo the last 3ds Max scene operation
Viewport & render
Tool
Description
agent_viewport
Independent floating agent view, visual targeting and V-Ray preview controls
set_viewport
Position and frame the agent or user viewport
capture_viewport
Capture the agent or user viewport as an image
capture_multi_view
Capture several views into one image, with agent-view restoration
capture_screen
Capture visible desktop pixels or crop to the V-Ray frame buffer
render_scene
Render the current view
render_automations
Arm/poll completion signals, request cancellation or capture a progressive render before cancelling
External .max files
Tool
Description
inspect_max_file
Read metadata and object names without loading
merge_from_file
Selective merge with duplicate handling
search_max_files
Scan a folder for objects matching a pattern
batch_file_info
Parallel metadata from many .max files
Effects & state sets
Tool
Description
get_effects
List atmospheric and render effects
toggle_effect
Enable or disable an effect by index
delete_effect
Remove an effect by index
get_state_sets
State Sets with camera assignments
get_camera_sequence
Camera-assigned State Sets sorted by frame
Data Channel
Tool
Description
list_dc_operators
Search the live version-specific operator catalog
list_dc_presets
List installed Data Channel presets
add_data_channel
Append operators to a Data Channel modifier stack
inspect_data_channel
Read the active stack in visible processing order
set_data_channel_operator
Edit one visible operator with rollback on failure
manage_data_channel_stack
Delete, enable, disable, or safely reorder operators
load_dc_preset
Load a preset into the stack
add_dc_script_operator
Add executable MAXScript with explicit authorization
Max Creation Graph
Tool
Description
mcg_get_context
Compiler, temporary workspace, templates, samples, and safety state
mcg_list_graphs
List temporary, installed, or bundled sample graphs
mcg_inspect_graph
Normalize graph metadata, nodes, connections, and parameters
mcg_search_operators
Search live typed operators and offline compound references
mcg_create_graph
Fork a read-only source into the temporary workspace
mcg_apply_patch
Patch, compile, verify, checkpoint, and roll back transactionally
mcg_compile_graph
Validate and compile one temporary graph with diagnostics
mcg_test_tool
Create, inspect, and remove a disposable generated instance
mcg_resolve_class
Resolve the exact generated modifier class descriptor
mcg_apply_modifier
Compile and apply a typed MCG modifier safely
mcg_inspect_instance
Verify graph identity and inspect a live MCG modifier
mcg_set_node_parameter
Retarget one supported scalar node parameter
mcg_restore_checkpoint
Restore an opaque checkpoint with hash protection
mcg_cleanup_workspace
Remove one graph family or the temporary MCG workspace
mcg_reload_operators
Explicitly refresh Max's global MCG operator depot
tyFlow
Tool
Description
create_tyflow
Create tyFlow with an event and operators, or a preset: rain, snow, fountain, burst, debris
get_tyflow_info
Deep flow/event/operator readback
harvest_tyflow_manifest
Probe and cache the installed tyFlow operator surface by tyFlow version
list_tyflow_operators
Query the cached manifest, including per-type availability, without touching Max
get_tyflow_graph
Read events, operators, properties, ledger edges, and wiring staleness
tyflow_apply_patch
Apply a batch of tyFlow graph operations as one verified transaction
connect_tyflow_operator
Connect or retarget a test/Send Out operator to an event, optionally creating the Send Out
disconnect_tyflow_operator
Disconnect an operator output and remove its ledger edge
set_tyflow_wiring_ledger
Reconcile recorded graph wiring after external or visual edits
tyflow_event_census
Count particles per event at probe frames with temporary instrumentation
capture_tyflow_editor
Open and capture the tyFlow editor for visual wire inspection
modify_tyflow_operator
Edit operator properties
set_tyflow_shape
Configure Shape operator
set_tyflow_physx
Object-level PhysX settings
add_tyflow_collision
Collision operator + collider list
add_tyflow_event
Add an event
remove_tyflow_element
Remove operator or event
get_tyflow_particle_count
Particle count at a frame
get_tyflow_particles
Particle data rows
reset_tyflow_simulation
Reset one or all tyFlow sims
RailClone (1.7.2)
Tool
Description
get_railclone_style
Read complete style XML and edit token (RailClone 7.3.5+)
set_railclone_style
Replace style XML with guarded, undoable adoption
get_railclone_output
Read 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.
Tool
Description
scatter_forest_pack
Create a Forest Pack scatter with surfaces and source geometry
Scripting & diagnostics
Tool
Description
execute_maxscript
Run MAXScript when no dedicated tool exists (respects safe mode); scripts that reset, open, fetch or quit keep the save prompt
execute_python
Run Python with captured output, JSON results, tracebacks and undo rollback (requires safe mode off)
invoke_tool
Call any registered tool from inside Max (testing)
capture_hang_diagnostics
Capture native thread stacks of a hung Max from the OS, without contacting it
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
Contributing — development, validation, and pull requests