Skip to main content
Glama

3dsmax-mcp

Connect AI agents to Autodesk 3ds Max through the Model Context Protocol. Ask in natural language; the agent creates objects, builds materials, inspects plugins with dedicated MCP tools instead of MAXScript/Python feedback loops. Built-in installer works with Cursor, Claude, Codex and Gemini.

Current release: 1.0.5 — see CHANGELOG.md.

Features

  • 115 MCP tools — (79 in core profile) for scene reads, materials, modifiers, controllers, viewport capture, 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.

Related MCP server: lightfast-mcp

Requirements

Quick start

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

Restart 3ds Max, then connect your MCP client. The installer registers the server where it can; see Advanced configuration for manual client setup.

I personally use Cursor and Codex.

Update an existing install:

git pull
uv sync
uv run python install.py

Tools

Bridge & session

Tool

Description

get_bridge_status

Ping the MCP bridge when diagnosing connection errors

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

Scene query

Tool

Description

query_scene

Unified reads: overview, filter, class, property, selection, delta

get_hierarchy

Recursive child tree for an object

get_instances

All instances sharing the same base object

get_dependencies

Reference graph via dependents / dependent nodes

Objects

Tool

Description

create_object

Create geometry with spatial placement feedback

delete_objects

Delete objects by name

get_object_properties

Compact properties for one object

set_object_property

Set a single object property

transform_object

Move, rotate, and/or scale by offset

analyze_node_orientation

Pivot, bbox, local axes, and world matrix for rigging and placement

clone_objects

Copy, instance, or reference clones

set_parent

Parent or unparent objects

select_objects

Change the current selection

set_visibility

Show, hide, freeze, or unfreeze

batch_rename_objects

Rename many objects in one call

Modifiers

Tool

Description

add_modifier

Add a modifier to an object

remove_modifier

Remove a modifier by name

set_modifier_state

Enable/disable with viewport/render granularity

set_modifier_property

Set a modifier parameter on one or many objects

collapse_modifier_stack

Collapse the stack

make_modifier_unique

De-instance a shared modifier

Materials & textures

Tool

Description

get_materials

List materials assigned in the scene

get_material_slots

Compact slot/property readback for a material

inspect_material_network

Semantic material graph, wired slots, texture manifest, health checks

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

Swap one material for another on all users

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

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

Plugins & introspection

Tool

Description

discover_plugin_surface

Find plugin-related classes and entry points

discover_plugin_classes

Enumerate registered SDK classes

list_plugin_classes

List classes for a plugin or superclass family

inspect_plugin_class

Runtime class scan + showClass reflection

inspect_plugin_constructor

Creation notes for a plugin class

inspect_plugin_instance

Live instance inspection with plugin context

get_plugin_manifest

Structured manifest (classes, workflows, gotchas)

refresh_plugin_manifest

Rebuild manifest from live runtime

introspect_class

Full C++ SDK API surface for a class

introspect_instance

Deep SDK introspection with live values

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

Controllers & animation

Tool

Description

assign_controller

Create and assign a controller to a sub-anim track

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

Parameter wiring

Tool

Description

list_wireable_params

Discover wireable sub-anims on an object

wire_params

Connect parameters with a wire expression

get_wired_params

List existing wire connections

unwire_params

Remove a wire

Organization

Tool

Description

manage_layers

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

Viewport & render

Tool

Description

capture_viewport

Capture the active viewport as an image

capture_multi_view

Front/right/back/top grid stitched into one image

capture_screen

Fullscreen capture (explicit opt-in)

render_scene

Render the current view

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

Work in progress — the plugin and layout integrations below (Data Channel, tyFlow, Forest Pack, RailClone, Floor plan) are early-stage and may be incomplete or change between releases. Everything listed above is stable.

Data Channel (WIP)

Tool

Description

add_data_channel

Append operators to a Data Channel modifier stack

inspect_data_channel

Read the operator graph

set_data_channel_operator

Set properties on one operator

add_dc_script_operator

Add a MAXScript operator

list_dc_presets

List available presets

load_dc_preset

Load a preset into the stack

tyFlow (WIP)

Tool

Description

list_tyflow_operator_types

Available operator names for this install

create_tyflow

Create tyFlow with events and operators

create_tyflow_preset

Presets: rain, snow, fountain, burst, debris

get_tyflow_info

Deep flow/event/operator readback

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

connect_tyflow_events

Wire Send Out destinations

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

Forest Pack (WIP)

Tool

Description

scatter_forest_pack

Create a Forest Pack scatter with surfaces and source geometry

RailClone (WIP)

Tool

Description

get_railclone_style_graph

Read style-editor bases, segments, and parameters

Floor plan (WIP)

Tool

Description

build_floor_plan

Generate a 2D floor plan from grid-based room definitions

Standalone chat (WIP)

Experimental in-Max chat — see Advanced configuration — Standalone chat. Prefer external MCP for production use.

Tool

Description

send_to_chat

Send a message to the in-Max chat and wait for the reply

chat_status

Chat window status and model info

chat_reload

Reload config without restarting Max

chat_clear

Clear conversation history

Scripting & diagnostics

Tool

Description

execute_maxscript

Run MAXScript when no dedicated tool exists (respects safe mode)

invoke_tool

Call any registered tool from inside Max (testing)

run_tool_smoke

Run live smoke cases against the bridge


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

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
1dResponse time
4dRelease cycle
19Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cl0nazepamm/3dsmax-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server