3dsmax-scene

3dsmax-scene is a skill for Claude Code, Codex from dcc-mcp/dcc-mcp-3dsmax. It costs 62 tokens per session (3,860 once invoked), scanned A, original, MIT.

A skill for managing scenes and objects in Autodesk 3ds Max, a 3D modeling and animation application. It covers scene files, objects, cameras, selection, visibility, grouping, and transforms.

In plain words
What is it for?
It is for opening, saving, and merging scenes; inspecting objects and cameras; and selecting, duplicating, deleting, grouping, parenting, hiding, or transforming objects.
Why use it?
It provides structured operations for inspecting and changing a 3ds Max scene while checking the result after file operations.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit It is for opening, saving, and merging scenes; inspecting objects and cameras; and selecting, duplicating, deleting, grouping, parenting, hiding, or transforming objects.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/dcc-mcp/dcc-mcp-3dsmax/3dsmax-scene
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add dcc-mcp/dcc-mcp-3dsmax --skill 3dsmax-scene
Clone the repo
git clone --depth 1 https://github.com/dcc-mcp/dcc-mcp-3dsmax

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for 3dsmax-scene

README.md
[![agentmods](https://agentmods.dev/badge/skills/dcc-mcp/dcc-mcp-3dsmax/3dsmax-scene/github.svg)](https://agentmods.dev/skills/dcc-mcp/dcc-mcp-3dsmax/3dsmax-scene)
Your own site
<a href="https://agentmods.dev/skills/dcc-mcp/dcc-mcp-3dsmax/3dsmax-scene"><img src="https://agentmods.dev/badge/skills/dcc-mcp/dcc-mcp-3dsmax/3dsmax-scene/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for 3dsmax-scene

Your own site · 80×15
<a href="https://agentmods.dev/skills/dcc-mcp/dcc-mcp-3dsmax/3dsmax-scene"><img src="https://agentmods.dev/badge/skills/dcc-mcp/dcc-mcp-3dsmax/3dsmax-scene.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 62 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,860 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00062 $0.03860
Opus 5.5 $0.00025 $0.01544
Sonnet 5.5 $0.00012 $0.00772
Haiku 4.5 $0.00006 $0.00386

Measured 8d ago against content hash 45e7c6fe09d4, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

3dsmax-scene scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

The scan reads SKILL.md. This mod also ships 47 executable files (action_analyze_node_orientation.py, action_attach_to_group.py, action_batch_file_info.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

src/dcc_mcp_3dsmax/skills/3dsmax-scene/SKILL.md · 277 lines

How it starts

The opening of the file, as written. The whole thing — 277 lines — stays where its author put it; the contents beside it link to each section on GitHub.

3ds Max Scene and Object Skill

Inspect and manage scene-level objects through pymxs. Tool contracts live in tools.yaml; every tool declares affinity: main because even read-only queries enter the 3ds Max host API.

Use get_scene_status before and after file operations. new_scene and open_scene reject dirty scenes unless force=true; that flag explicitly authorizes discarding unsaved changes. Use save_scene for the current file, save_scene_as for an explicit path, and merge_file for bounded no-prompt merges. Each lifecycle mutation returns native post-condition readback rather than treating the native API return value as sufficient proof.

File operations run on the 3ds Max main thread. Open, save, save-as, and merge are monolithic async jobs because the native calls are indivisible: poll the returned Core job instead of retrying after a transport timeout. No lifecycle tool opens a file dialog or falls back to UI automation or arbitrary scripts.

Use the remaining tools to inspect nodes and cameras and perform targeted selection, duplication, deletion, grouping, parenting, visibility, pivot, and transform operations.

Use get_object_properties and set_object_property for generic property access instead of falling back to execute_python or execute_maxscript. set_object_property writes one property and confirms it by readback, so a value the host rejected is reported as a failure rather than a success. Use batch_rename_objects for bulk naming, create_object for classes beyond the four modeling primitives, transform_object for rotate and scale in world or local space, and clone_objects when a copy, instance, or reference relationship matters. set_visibility also covers freeze and unfreeze. analyze_node_orientation reports pivot, local axis drift, and the world matrix for orientation checks.

create_object calls a runtime symbol, so it always requires that symbol to be provable as a creatable 3ds Max class: superClassOf succeeds for classes and fails for bare global functions. This requirement is unconditional and independent of DCC_MCP_3DSMAX_DISABLE_ARBITRARY_SCRIPT — that variable neither tightens nor loosens the check, and is named in the rejection message only so operators can locate the refusal. A denylist of destructive global functions remains as defense in depth. When the runtime exposes no creatable-class predicate, no symbol can be proven, so the tool refuses every call rather than leaving an ungated symbol-call path. A symbol that is proven to be a creatable class stays available regardless of the variable, because the variable gates arbitrary script execution, not typed class construction.

External .max files are inspected without opening them. inspect_max_file reports the objects and metadata of one file, batch_file_info does the same for a batch of up to 20 files, and search_max_files finds objects by name pattern across a batch of up to 20 files. Both batch tools read one path at a time on the 3ds Max main thread, so the per-call limit is deliberately small and a batch above 10 paths answers with a warning that asks for a smaller batch; split a larger inventory into several calls instead of issuing one long request. All three fail closed: a file that is missing, unreadable, or not a scene file is reported as an explicit per-file error with a stable reason, never as an empty object list. Host functions used to read external files are probed rather than assumed, so a host that lacks a reader reports external_scene_reader_unavailable instead of returning no objects.

merge_from_file merges objects selected by exact name or by name pattern from an external .max file. The selection is resolved against the source file before anything is merged, so a name or pattern that matches nothing fails the call, and names that could not be resolved are always returned in unresolved_object_names; pass require_all=true to make them fail the call.

Both merge tools probe getLastMergedNodes before they merge. A host without that readback is rejected with merge_readback_unavailable and no scene change at all, because "merged but unconfirmed" is the one state where a retry would duplicate objects. When the host does accept the merge but the readback does not confirm it, the response reports scene_modified and tells the caller to undo once before retrying. It shares the verified readback and the fixed no-prompt conflict policies of merge_file, so use merge_file when the exact source node names are already known and merge_from_file when the selection has to be resolved by pattern. One call merges N nodes: undo once and re-check the node list, then repeat while merged nodes are still present, because 3ds Max may or may not group them into a single entry.

Read the full file on GitHub · 277 lines

Files

What ships with it

48 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago Changed · +27 lines 45e7c6fe09d4
  2. 1mo ago Changed · +35 lines c87375e5cb56
  3. 1mo ago Changed · +84 lines 851be65badd7
  4. 1mo ago Changed · +65 lines 1c364fa152b1
  5. 1mo ago First seen · 66 lines · 62 tokens per session scan A 7c6c531d6b28

Subscribe to this mod's changes

3dsmax-scene is a skill published in the GitHub repository dcc-mcp/dcc-mcp-3dsmax (9 stars, last pushed today), licensed MIT. It adds 62 tokens to every session and 3,860 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

maya-render

Pipeline stage — render globals, final-frame rendering, and viewport capture: configure render settings, query them, render frames, capture playblasts. Use for producing final or preview imagery. Not for modeling (maya-mesh-ops), animation editing (maya-animation), generic file import/export (maya-geometry), or render…

dcc-mcp/dcc-mcp-maya · 77 tokens

maya-scripting

Bootstrap stage — escape hatch for Maya work that has no packaged skill yet. Agents should prefer searchskills / dcccapabilitymanifest → loadskill → typed tools (inputSchema + annotations) from domain skills; use executepython or executemel only when no skill matches, for bulk in-process loops, or for API…

dcc-mcp/dcc-mcp-maya · 100 tokens

maya-import-to-scene

Pipeline stage — structured asset import. Consume an AssetDescriptor produced by maya-asset-source and import the asset (FBX, OBJ, USD) into the current Maya scene via cmds.file(). Handles axis/unit conversion, MaterialMode, PlacementHint, and optional target collection grouping. Returns an ImportToSceneResult with…

dcc-mcp/dcc-mcp-maya · 78 tokens

dcc-mcp-maya-setup

Set up dcc-mcp-maya for an agent or operator: install Maya Python dependencies with mayapy, generate MCP host configuration, guide the user through loading the Maya plugin, and run a first live-tool smoke prompt.

dcc-mcp/dcc-mcp-maya · 55 tokens

maya-asset-source

Pipeline stage — asset discovery and resolution. Search local asset libraries, resolve paths to structured AssetDescriptor records, and surface candidate assets for downstream import. Use before maya-import-to-scene to locate what to import.

dcc-mcp/dcc-mcp-maya · 50 tokens

maya-mock-async

Synthetic async skill for gateway integration tests. Sleeps for N seconds and reports progress every 500 ms. No actual Maya installation required — uses MayaStandaloneDispatcher.

dcc-mcp/dcc-mcp-maya · 37 tokens