mcp-for-maya
PYPI · MCP-FOR-MAYA · SCANNED OCT 2
AI agents' spatial awareness inside Autodesk Maya: audit, rollback safety, visual loop (Beta)
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 1 of 16 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to Xxx91n/mcp-for-maya). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 2 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5257 tokens (~210/item across 25 items; 25 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (88% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 26 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
How do I install the mcp-for-maya server?
mcp-for-maya runs locally as a PyPI package, launched with uvx mcp-for-maya. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · mcp-for-maya
claude mcp add xxx91n-mcp-for-maya -- uvx mcp-for-maya
{
"mcpServers": {
"xxx91n-mcp-for-maya": {
"command": "uvx",
"args": [
"mcp-for-maya"
]
}
}
} {
"servers": {
"xxx91n-mcp-for-maya": {
"command": "uvx",
"args": [
"mcp-for-maya"
]
}
}
} codex mcp add xxx91n-mcp-for-maya -- uvx mcp-for-maya
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"xxx91n-mcp-for-maya": {
"type": "local",
"command": [
"uvx",
"mcp-for-maya"
],
"enabled": true
}
}
} openclaw mcp add xxx91n-mcp-for-maya --command uvx --arg mcp-for-maya
mcp_servers:
xxx91n-mcp-for-maya:
command: "uvx"
args: ["mcp-for-maya"] {
"McpServers": {
"xxx91n-mcp-for-maya": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"mcp-for-maya"
]
}
}
} assistant mcp add xxx91n-mcp-for-maya -t stdio -c uvx -a mcp-for-maya
{
"mcpServers": {
"xxx91n-mcp-for-maya": {
"command": "uvx",
"args": [
"mcp-for-maya"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 30 Sept 26 65
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 2 Oct 2026 · Analysed pypi/mcp-for-maya@0.5.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | pypi |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | Xxx91n/mcp-for-maya |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/Xxx91n/mcp-for-maya/.github/workflows/release.yml@refs/tags/v0.5.0 |
| Rekor log index | 3011015888 |
| Predicate type | PyPI publish attestation https://docs.pypi.org/attestations/publish/v1 |
| Subject digest | sha256:fb6892a58787c20723fef2dc0edc9853e8403dedd604e97cc556f60102f0c7b5 |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 16 packages
| Packages resolved | 16 |
|---|---|
| Stale | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_session Add Session ~83
Manually add a Maya session at a specific host and port. Use this when auto-discovery doesn't find your Maya session, or to connect to a Maya instance on a specific port.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | – | The session host (default: "127.0.0.1") |
| port | integer | – | The session port number (default: 7001) |
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | yes | – |
| maya_version | string | – | – |
| pid | integer | yes | – |
| port | integer | yes | – |
| scene_name | string | – | – |
| scene_path | string | – | – |
| session_key | string | yes | – |
| user | string | yes | – |
No examples provided.
asset_import Asset Import ~289
Import a Poly Haven CC0 model into Maya (find ids via asset_search). Pipeline: host downloads FBX + textures from the Poly Haven whitelist (https-only, size caps, per-file md5 verify) into the platformdirs cache -> Maya imports the local FBX (explicit meters unit handling) -> texture maps auto-wire by PH naming convention (diff/albedo -> color sRGB; rough/metal -> Raw single-channel; nor_gl -> bump2d normal) -> polycount gate -> group as GRP_asset_<id> -> bbox/metadata report. Idempotent by default: a second call with the same asset_id reports the existing group instead of duplicating (force=True re-imports).
| Name | Type | Req | Description |
|---|---|---|---|
| allow_high_polycount | boolean | – | Override the polycount guard (the override is disclosed in the audit log). |
| asset_id | string | yes | Poly Haven asset id (case-sensitive, e.g. 'Camera_01'). |
| force | boolean | – | Re-import even when GRP_asset_<id> already exists. |
| max_polycount | integer | – | Face-count guard (default 100000); imports over the limit are deleted and rejected. |
| resolution | string | – | Texture tier '1k' (default), '2k', '4k', '8k'. |
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
asset_search Asset Search ~137
Search the Poly Haven CC0 asset index (host-side, no Maya needed). Queries https://api.polyhaven.com/assets and returns matching asset metadata. Read-only and idempotent - pure lookup.
| Name | Type | Req | Description |
|---|---|---|---|
| asset_type | string | – | "models" (default), "hdris", or "textures". Note: asset_import handles models only. |
| limit | integer | – | Result cap, 1-20 (default 20). total_count always reports the full match count. |
| query | string | – | Free-text search (matches id, name, categories, tags). Empty returns the unfiltered index page (up to limit). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
camera_create Camera Create ~123
Create a camera positioned for a specific shot type. Supports industry-standard shot types: extreme_wide, wide, medium, close, extreme_close, over_shoulder, bird_eye, low_angle.
| Name | Type | Req | Description |
|---|---|---|---|
| azimuth | number | – | Horizontal angle in degrees (default 30). |
| elevation | number | – | Vertical angle in degrees (default 15). |
| name | string | – | Camera name. |
| session_key | – | – | Maya session key. |
| shot_type | string | – | Shot type (default "medium"). |
| target | string | yes | Target object name to look at. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
camera_orbit Camera Orbit ~82
Create a camera that orbits around a point with animation.
| Name | Type | Req | Description |
|---|---|---|---|
| center | string | yes | JSON string with center position [x, y, z]. |
| frames | integer | – | Number of frames for full orbit. |
| name | string | – | Camera name. |
| radius | number | – | Orbit radius in scene units. |
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
execute_code Execute Code ~88
Execute Python code in a Maya session.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Python code to execute. |
| result_type | string | – | How to handle the result: - "NONE": Execute statements, don't capture result - "JSON": Evaluate expression, JSON encode result - "RAW": Evaluate expression, return string representation |
| session_key | – | – | Session key (optional if only one session exists) |
No output schema declared.
No examples provided.
list_sessions List Sessions ~154
List all active Maya sessions. Returns a list of session information including: - session_key: Session key used to interact with tools and resources - host: Session host address - port: Session port number - pid: Maya process ID - user: Logged-in user - maya_version: Maya version string - scene_name: Current scene filename - scene_path: Full path to current scene Note: To detect new or removed sessions, clients should call this tool periodically (e.g., every 10-30 seconds) and compare results. The SessionManager automatically scans for new Maya sessions in the background. If this returns an empty list, call maya_setup_guide() for connection help.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | – |
No examples provided.
maya_setup_guide Maya Setup Guide ~263
Maya connection setup guide and diagnostics. Use this tool when list_sessions returns empty or when setting up Maya MCP for the first time. Provides platform-aware diagnostics, auto-installation of userSetup.py, and step-by-step fallback instructions.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | What to do: - "diagnose": Run connection diagnostics and return status - "install": Merge the managed marker block into userSetup.py. Existing files without the block require a second call with c… |
| confirm | boolean | – | Required to write into an existing userSetup.py that has no mcp-for-maya marker block (first install call is dry-run). |
| dry_run | boolean | – | Preview the install: return the proposed block without writing anything. |
| port | integer | – | Maya command port number (default: 7001) |
| remove_empty_file | boolean | – | On uninstall, delete the file when it only contained the marker block. |
| target_version | – | – | Specific Maya version (e.g., "2024"). If None, targets all detected versions. |
Structured output declared, but exposes no named fields.
No examples provided.
scene_aesthetics Scene Aesthetics ~190
Professional-grade aesthetic analysis with 5 design dimensions. Analyzes scene aesthetics across 5 professional design dimensions: 1. Color Theory: 60-30-10 rule, temperature balance, harmony type, saturation variety, contrast 2. Spatial Composition: golden ratio proportions, rule-of-thirds alignment, visual weight balance 3. Proportion & Scale: human ergonomic reference, size hierarchy (hero/secondary/tertiary) 4. Lighting Quality: layer composition (key/fill/rim/accent), color temperature consistency 5. Visual Flow: sight line clarity, circulation paths, visual rhythm patterns Returns an overall score (0-100) with grade (S/A/B/C/D/F) and improvement suggestions.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output format - "json" (default) or "cos" (chain-of-symbol, token-efficient). |
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_assert Scene Assert ~117
Verify scene state matches expected values. Use this after modifications to confirm the scene is in the desired state. Enforces the VERIFY step of the ICEV workflow.
| Name | Type | Req | Description |
|---|---|---|---|
| expectations | string | yes | JSON string defining expected state. Format: {"obj_name": {"position": [x,y,z], "bbox_max": [x,y,z], ...}} Supported properties: position, bbox_max, bbox_min, exists, material. |
| format | string | – | Output format - "cos" or "json". |
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_checkpoint Scene Checkpoint ~196
Save a real scene snapshot (exportAll of in-memory state). Writes a self-contained .ma into a checkpoints/ directory next to the scene file. On untitled (never-saved) scenes an explicit name is required and produces an ad-hoc snapshot under the Maya workspace — returned with original_file_status="no_original_file" and scene_rebound_to=null. Same-name checkpoints are rejected unless overwrite=True (the old file is preserved via rename). Honest bounds: the snapshot contains no undo history — after scene_rollback, call scene_snapshot to rebuild context. References are flattened (self-contained, no write-back). Assumes one scene file per session.
| Name | Type | Req | Description |
|---|---|---|---|
| name | – | – | Checkpoint name (^[A-Za-z0-9_-]+$). Required on untitled scenes. |
| overwrite | boolean | – | Replace a same-name checkpoint, preserving the old file. |
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_checkpoint_list Scene Checkpoint List ~56
List all saved checkpoints for the current scene state. Saved scenes list <scene_dir>/checkpoints; untitled scenes list the workspace ad-hoc snapshots (adhoc flag per entry).
| Name | Type | Req | Description |
|---|---|---|---|
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_describe Scene Describe ~367
API-level self-description of ONE node (not spatial). Boundary: scene_inspect answers WHERE an object is (position, bbox, neighbors); scene_describe answers WHAT the node is at the API level - exact node type, per-attribute metadata, and connection wiring - so you can compose accurate execute_code/setAttr/connectAttr calls against real names.
| Name | Type | Req | Description |
|---|---|---|---|
| attrs | – | – | Attribute names to describe; None (default) lists every attribute listAttr reports UP TO the response budget (limit) - over-budget output is truncated and disclosed via attrs_truncated + total_count,… |
| include_connections | boolean | – | Return connection wiring {src_plug, dst_plug, direction} (default True); the same budget applies (connections_truncated + total_connections; no cursor in v1 - narrow and re-query). |
| include_values | boolean | – | Also return value + soft_min/soft_max per attr (default False). Reading a value can trigger DG evaluation inside Maya - still read-only, but the eval may cost time on heavy graphs. |
| limit | integer | – | Max items returned per face (attrs and connections). Soft default 200; a caller may relax explicitly to the hard cap 1000 (D-110) - bounds response size only, not the per-attribute query cost. |
| node | string | yes | Node name (short name or long DAG path). |
| session_key | – | – | Maya session key (auto-selected if one session). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_export Scene Export ~277
Export the Maya scene (or named objects) to a local file. Writes through cmds.file with prompt=False forced (a modal dialog would hang the command channel). Formats: fbx, obj, usd (Alembic is not supported - its AbcExport API is not a cmds.file surface). The selection set is restored after every objects= export and the scene's modified flag is untouched. destructive_hint is False but note: overwrite=True permanently replaces the target file - that path is not recoverable.
| Name | Type | Req | Description |
|---|---|---|---|
| format | – | – | "fbx", "obj", or "usd". Optional when the path carries a recognizable extension; a missing extension is appended for an explicit format, and a conflicting extension+format pair is an error, never a g… |
| objects | – | – | Node names to export. None (default) exports the whole scene via exportAll; a list is pre-validated (any missing name aborts - no partial export) and drives exportSelected. |
| overwrite | boolean | – | Replace an existing target file (default False). |
| path | string | yes | Target file path on the Maya host. Normalized and auto-parented (missing directories are created). An existing file is rejected unless overwrite=True. |
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_inspect Scene Inspect ~94
Deep inspection of a specific object or zone. Returns detailed properties including transform, BBox, material, mesh stats, and optionally nearby objects with distances.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output format - "cos" or "json". |
| include_neighbors | boolean | – | Whether to include nearby objects (default True). |
| session_key | – | – | Maya session key. |
| target | string | yes | Object name or zone name to inspect. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_measure Scene Measure ~112
Measure spatial relationship between two objects.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output format - "cos" or "json". |
| mode | string | – | Measurement type: - "center": Center-to-center distance (default) - "surface": Closest surface point distance - "clearance": Gap/clearance distance - "bbox": Bounding box overlap detection |
| obj_a | string | yes | First object name. |
| obj_b | string | yes | Second object name. |
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_nodes Scene Nodes ~276
Bounded enumeration of scene nodes - including non-DAG nodes. Boundary: scene_snapshot is the low-resolution spatial overview you call once per workflow; scene_nodes is the name-discovery complement for the API layer - it lists nodes a spatial view never shows (materials, shadingEngines, tool nodes) and pages honestly: has_more/next_cursor tell you when the list was cut.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | – | – | Opaque page token from a previous call's next_cursor; valid while the scene is unchanged. |
| dag_only | boolean | – | Only DAG nodes (transforms/shapes); False includes dependency nodes such as materials and utility nodes. |
| include_type_counts | boolean | – | Also return per-type counts over the full match set (not just the page). |
| inherited | boolean | – | See type. |
| limit | integer | – | Page size (default 50, hard-capped at 100). |
| pattern | – | – | Maya glob pattern on names (e.g. "GEO_*"). |
| session_key | – | – | Maya session key (auto-selected if one session). |
| type | – | – | Node type filter. With inherited=True (default) derived types match too (ls type= semantics, e.g. type="light" matches spotLight/directionalLight); inherited=False pins the exact type. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_plan Scene Plan ~191
Holistic scene planning with organization validation and layout optimization. Performs comprehensive scene health check and generates actionable plans: - Organization validation: detects orphan meshes, empty groups, default names - Zone analysis: coverage and spatial balance across functional zones - Layout suggestions: spacing, overlap, and clustering detection - Conflict prevention: near-miss collision prediction - Action plan: prioritized step-by-step execution guide Based on blockout-first methodology: validate organization and proportions before committing to detailed modeling. Supports natural language objectives.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_fix | boolean | – | If True, auto-fix safe issues (remove empty groups, reparent orphans). |
| format | string | – | Output format - "json" (default) or "cos". |
| objective | string | – | Natural language goal description. e.g., "set up entrance area with display window and clear circulation" |
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_render_preview Scene Render Preview ~333
Single-frame playblast preview from a camera (clean, no HUD). GUI sessions only - headless sessions get a structured gui_session_required error. Side-effect disclosures (read_only_hint is honest, D-026): 1. Switching the panel camera via the modelPanel camera flag is instantaneous, visible, and NOT undoable in Maya. 2. Net-zero side effect: the panel camera is restored on every path - success or failure - so terminal state equals entry. 3. The current time may visibly jump during capture; it is restored afterwards (playblast timeline quirk). 4. viewer=False: no playblast window pops up. 5. On failure the restore is still attempted; a failed restore is logged, never raised over the error result. 6. Only a killed Maya process can skip the restore.
| Name | Type | Req | Description |
|---|---|---|---|
| camera | – | – | Camera to look through (default: the panel's current camera). |
| format | string | – | "jpeg" (default) or "png". png recommended for wireframe/line-art review. |
| height | integer | – | Frame height (default 360). Same /4 rule. |
| max_size | integer | – | Longest-side cap for the returned image. |
| quality | integer | – | JPEG quality 1-100. |
| session_key | – | – | Maya session key. |
| width | integer | – | Frame width in pixels (default 640). Rounded UP to a multiple of 4 server-side (playblast constraint); the actual size may also be clamped by the viewport - trust the returned metadata, not the reque… |
No output schema declared.
No examples provided.
scene_review Scene Review ~139
Comprehensive scene audit - reviews all aspects after operations. Runs spatial integrity, overlap detection, zone coverage, aesthetics, constraint validation, orphan detection, naming, componentization, conflicts, lighting quality, and scene organization. Returns a score (0-100) and detailed issue list. Use this after any major scene modification to verify quality.
| Name | Type | Req | Description |
|---|---|---|---|
| checks | string | – | Comma-separated check names or "all". Options: spatial, overlaps, zones, aesthetics, constraints, orphans, naming, components, conflicts, lighting, organization |
| format | string | – | Output format - "json" or "cos". |
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_rollback Scene Rollback ~181
Open a checkpoint and rebind the scene to its original path (S2). Before opening, the current in-memory state is exported to an auto_before_rollback safety snapshot; if that fails, the rollback aborts — pass discard_current_state=True to escape (the result reports safety_snapshot="skipped_by_user"). Untitled scenes and ad-hoc snapshots have no original path, so the scene stays on the checkpoint path (S1) and scene_rebound_to is null. The snapshot carries no undo history — call scene_snapshot afterwards to rebuild context.
| Name | Type | Req | Description |
|---|---|---|---|
| discard_current_state | boolean | – | Escape hatch — proceed even if the safety snapshot fails. |
| filename | string | yes | Checkpoint filename from scene_checkpoint_list (cp_*.ma or prev_*.ma). |
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_snapshot Scene Snapshot ~121
Get a complete spatial overview of the current Maya scene. Returns a structured description of ALL objects with positions, sizes, and types. Call this once at the start of each workflow to establish spatial awareness.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | Detail level - "compact" (fast), "standard" (+materials/mesh stats), "full" (+vertices). |
| format | string | – | Output format - "cos" (Chain-of-Symbol, compact), "json" (full JSON). |
| session_key | – | – | Maya session key (auto-selected if only one session). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_validate Scene Validate ~165
Validate scene against spatial constraints. Checks the scene for constraint violations like minimum clearance, object limits, overlaps, and height requirements.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Output format - "cos" or "json". |
| rules | string | yes | JSON string with constraint rules. Format: [{"type": "min_clearance", "zone": "entrance", "value": 180}, {"type": "max_objects", "value": 5000}, {"type": "no_overlap", "objects": ["wall_a", "shelf_… |
| session_key | – | – | Maya session key. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
scene_viewport_snapshot Scene Viewport Snapshot ~184
Capture the active viewport as an image (WYSIWYG). GUI sessions only - headless (mayapy/batch/native-channel) sessions get a structured gui_session_required error. The capture is what the artist sees: viewport HUD, selection highlights and ornaments included. That is a feature - the agent verifies exactly what the user is looking at. A cmds.refresh(force=True) runs first so the frame is current.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | "jpeg" (default, small) or "png". png recommended for wireframe/line-art review. |
| max_size | integer | – | Longest-side pixel cap for the returned image (default 800 - keeps base64 well under client image token limits). |
| quality | integer | – | JPEG quality 1-100 (ignored for png). |
| session_key | – | – | Maya session key. |
No output schema declared.
No examples provided.
write_module Write Module ~104
Create a virtual Python module in a Maya session.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Python source code for the module. |
| name | string | yes | Module name. Can be a dotted path (e.g., 'mypackage.utils') in which case parent packages are created automatically. |
| overwrite | boolean | – | If True, replace existing module. If False, raise error if module already exists. |
| session_key | – | – | Session key (optional if only one session exists) |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the mcp-for-maya server?
mcp-for-maya is listed in the public MCP registry as io.github.Xxx91n/mcp-for-maya. AI agents' spatial awareness inside Autodesk Maya: audit, rollback safety, visual loop (Beta). This page covers its PyPI package (mcp-for-maya).
Is the mcp-for-maya server safe to use?
mcp-for-maya scores 80 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 2 October 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the mcp-for-maya server expose?
mcp-for-maya exposes 25 tools: scene_snapshot, scene_inspect, scene_measure, scene_assert, scene_validate, and 20 more. Their descriptions and schemas cost roughly 4,322 tokens of context every time the server is loaded.
Is the mcp-for-maya server still maintained?
mcp-for-maya is still listed as active in the MCP registry. We last reached this channel on 2 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the mcp-for-maya server under?
mcp-for-maya declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.