3dsmax-mcp

3dsmax-mcp

Connect AI agents to Autodesk 3ds Max through the Model Context Protocol, enabling natural language control of scene creation, materials, modifiers, rendering, and plugin workflows.

Category
Visit Server

README

3dsmax-mcp

<p align="left"> <img src="./images/logo.png" alt="3dsmax-mcp logo" width="220" style="background-color: #ffffff; padding: 16px; border-radius: 8px;"> </p>

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.

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured