Maya MCP
PYPI · MAYA-MCP · SCANNED SEP 20
Control Autodesk Maya scenes with 71 typed tools for modeling, animation, shading, and more.
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 Security55
- Malware check failed: a supply-chain vendor flagged a high-severity malware risk. See how to fix → Fail
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 1 of 14 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency35
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (MIT License) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 61 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability78
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 4980 tokens (~70/item across 71 items; 71 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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 (100% 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 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 72 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Maya MCP server?
Maya MCP runs locally as a PyPI package, launched with uvx maya-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · maya-mcp
claude mcp add gimbalgoats-maya-mcp -- uvx maya-mcp
{
"mcpServers": {
"gimbalgoats-maya-mcp": {
"command": "uvx",
"args": [
"maya-mcp"
]
}
}
} {
"servers": {
"gimbalgoats-maya-mcp": {
"command": "uvx",
"args": [
"maya-mcp"
]
}
}
} codex mcp add gimbalgoats-maya-mcp -- uvx maya-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"gimbalgoats-maya-mcp": {
"type": "local",
"command": [
"uvx",
"maya-mcp"
],
"enabled": true
}
}
} openclaw mcp add gimbalgoats-maya-mcp --command uvx --arg maya-mcp
mcp_servers:
gimbalgoats-maya-mcp:
command: "uvx"
args: ["maya-mcp"] {
"McpServers": {
"gimbalgoats-maya-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"maya-mcp"
]
}
}
} assistant mcp add gimbalgoats-maya-mcp -t stdio -c uvx -a maya-mcp
{
"mcpServers": {
"gimbalgoats-maya-mcp": {
"command": "uvx",
"args": [
"maya-mcp"
]
}
}
} 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.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 −3
- Stability: pass → 0.80 functional
- 17 Sept 26 +1
- Stability: 0.97 → pass security
- 15 Sept 26 +2
- Malware scan: unverified → fail ▼ security
- 14 Sept 26 −1
- Malware scan: fail → unverified ▼ security
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +2
- Malware scan: unverified → fail ▼ security
- 11 Sept 26 −5
- Malware scan: fail → unverified ▼ security
- Stability: pass → 0.80 functional
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 20 Sept 2026 · Analysed pypi/maya-mcp@0.6.1
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
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 14 packages
| Packages resolved | 14 |
|---|---|
| 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 →
animation.delete_keyframes Delete Keyframes ~82
Delete keyframes in a time range for attribute(s).
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | – | – | Attribute names (None = all animated attributes) |
| node | string | yes | Name of the node to delete keyframes from |
| time_range_end | – | – | End of time range (None = all time) |
| time_range_start | – | – | Start of time range (None = all time) |
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | array | yes | – |
| deleted_count | integer | yes | – |
| errors | – | yes | – |
| node | string | yes | – |
| time_range | – | yes | – |
No examples provided.
animation.get_keyframes Get Keyframes ~89
Query keyframes for attribute(s) on a node within optional time range.
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | – | – | Attribute names to query (None = all animated attributes) |
| node | string | yes | Name of the node to query |
| time_range_end | – | – | End of time range to query (None = all time) |
| time_range_start | – | – | Start of time range to query (None = all time) |
| Name | Type | Req | Description |
|---|---|---|---|
| _original_size | integer | – | – |
| _size_warning | string | – | – |
| _truncated_size | integer | – | – |
| attribute_count | integer | yes | – |
| errors | – | yes | – |
| keyframes | object | yes | – |
| node | string | yes | – |
| total_count | integer | – | – |
| total_keyframe_count | integer | yes | – |
| truncated | boolean | – | – |
No examples provided.
animation.get_time_range Get Time Range ~21
Get playback range, animation range, and current time.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| animation_end | – | yes | – |
| animation_start | – | yes | – |
| current_time | – | yes | – |
| errors | – | yes | – |
| fps | – | yes | – |
| max_time | – | yes | – |
| min_time | – | yes | – |
No examples provided.
animation.set_keyframe Set Keyframe ~155
Set keyframe on attribute(s) at current or specified time.
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | – | – | Attribute names to keyframe (None = all keyable) |
| in_tangent_type | string | – | In-tangent type: auto, linear, flat, step, stepnext, spline, clamped, plateau, fast, slow |
| node | string | yes | Name of the node to keyframe |
| out_tangent_type | string | – | Out-tangent type: auto, linear, flat, step, stepnext, spline, clamped, plateau, fast, slow |
| time | – | – | Time/frame to set keyframe at (None = current time) |
| value | – | – | Value to set (None = current value) |
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | array | yes | – |
| errors | – | yes | – |
| keyframe_count | integer | yes | – |
| node | string | yes | – |
| time | – | yes | – |
No examples provided.
animation.set_time Set Current Time ~50
Set the current time (go to a specific frame).
| Name | Type | Req | Description |
|---|---|---|---|
| time | number | yes | The frame number to set as current time |
| update | boolean | – | Whether to update the viewport (default True) |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | – | yes | – |
| time | – | yes | – |
No examples provided.
animation.set_time_range Set Time Range ~67
Set the playback and animation range.
| Name | Type | Req | Description |
|---|---|---|---|
| animation_end | – | – | Animation range end (defaults to max_time) |
| animation_start | – | – | Animation range start (defaults to min_time) |
| max_time | number | yes | Playback end time |
| min_time | number | yes | Playback start time |
| Name | Type | Req | Description |
|---|---|---|---|
| animation_end | – | yes | – |
| animation_start | – | yes | – |
| errors | – | yes | – |
| max_time | – | yes | – |
| min_time | – | yes | – |
No examples provided.
attributes.get Get Attributes ~60
Get one or more attribute values from a Maya node. Supports batch queries to reduce tool call chaining.
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | array | yes | Attribute names to get (e.g., ['translateX', 'visibility']) |
| node | string | yes | Node name to query |
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | object | yes | – |
| count | integer | yes | – |
| errors | – | yes | – |
| node | string | yes | – |
No examples provided.
attributes.set Set Attributes ~52
Set one or more attribute values on a Maya node. Supports batch operations to reduce tool call chaining.
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | object | yes | Map of attribute name to value |
| node | string | yes | Node name to modify |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| errors | – | yes | – |
| node | string | yes | – |
| set | array | yes | – |
No examples provided.
connections.connect Connect Attributes ~69
Connect two attributes in Maya. Use force=True to disconnect existing connections first.
| Name | Type | Req | Description |
|---|---|---|---|
| destination | string | yes | Destination plug in 'node.attribute' format |
| force | boolean | – | If True, disconnect existing connections to destination first |
| source | string | yes | Source plug in 'node.attribute' format |
| Name | Type | Req | Description |
|---|---|---|---|
| connected | boolean | yes | – |
| destination | string | yes | – |
| disconnected | array | yes | – |
| error | – | yes | – |
| source | string | yes | – |
No examples provided.
connections.disconnect Disconnect Attributes ~64
Disconnect attributes in Maya. Can disconnect a specific connection, all outgoing from a source, or all incoming to a destination.
| Name | Type | Req | Description |
|---|---|---|---|
| destination | – | – | Destination plug to disconnect from (None = use source only) |
| source | – | – | Source plug to disconnect from (None = use destination only) |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| disconnected | array | yes | – |
| error | – | yes | – |
No examples provided.
connections.get Get Connection Details ~48
Get detailed connection information for specific attributes on a node.
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | – | – | Attribute names to check for connections (None = all connectable attrs) |
| node | string | yes | Node name to query |
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | object | yes | – |
| count | integer | yes | – |
| errors | – | yes | – |
| node | string | yes | – |
No examples provided.
connections.history List Node History ~100
List construction/deformation history on a node. Traverses upstream (input) or downstream (output) dependency graph.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | Maximum depth to traverse (default 10, max 50) |
| direction | string | – | Direction to traverse: input (upstream), output (downstream), or both |
| limit | – | – | Max history nodes to return (default 500) |
| node | string | yes | Node name to query history for |
| Name | Type | Req | Description |
|---|---|---|---|
| _original_size | integer | – | – |
| _size_warning | string | – | – |
| _truncated_size | integer | – | – |
| count | integer | yes | – |
| errors | – | yes | – |
| history | array | yes | – |
| node | string | yes | – |
| total_count | integer | – | – |
| truncated | boolean | – | – |
No examples provided.
connections.list List Connections ~101
List connections on a Maya node with direction and type filters. Returns max 500 connections by default to limit response size.
| Name | Type | Req | Description |
|---|---|---|---|
| connections_type | – | – | Filter by connection type (e.g., 'animCurve', 'shader') |
| direction | string | – | Filter by direction: incoming, outgoing, or both |
| limit | – | – | Max connections to return (default 500, use 0 for unlimited) |
| node | string | yes | Node name to query connections for |
| Name | Type | Req | Description |
|---|---|---|---|
| _original_size | integer | – | – |
| _size_warning | string | – | – |
| _truncated_size | integer | – | – |
| connections | array | yes | – |
| count | integer | yes | – |
| errors | – | yes | – |
| node | string | yes | – |
| total_count | integer | – | – |
| truncated | boolean | – | – |
No examples provided.
curve.cvs Get Curve CVs ~90
Query CV positions from a NURBS curve with offset/limit pagination. Returns CV positions as [x, y, z] arrays in world space.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | – | – | Maximum CVs to return (default 1000, use 0 for unlimited) |
| node | string | yes | Name of the curve node (transform or shape) |
| offset | integer | – | Starting CV index (0-based) |
| Name | Type | Req | Description |
|---|---|---|---|
| _original_size | integer | – | – |
| _size_warning | string | – | – |
| _truncated_size | integer | – | – |
| count | integer | – | – |
| cv_count | integer | – | – |
| cvs | array | – | – |
| errors | – | yes | – |
| exists | boolean | yes | – |
| is_curve | boolean | yes | – |
| node | string | yes | – |
| offset | integer | – | – |
| shape | string | – | – |
| total_count | integer | – | – |
| truncated | boolean | – | – |
No examples provided.
curve.info Get Curve Information ~47
Get NURBS curve information: degree, spans, form, CV count, knots, length, bounding box.
| Name | Type | Req | Description |
|---|---|---|---|
| node | string | yes | Name of the curve node (transform or shape) |
| Name | Type | Req | Description |
|---|---|---|---|
| bounding_box | array | – | – |
| cv_count | integer | – | – |
| degree | integer | – | – |
| errors | – | yes | – |
| exists | boolean | yes | – |
| form | string | – | – |
| is_curve | boolean | yes | – |
| knots | array | – | – |
| length | number | – | – |
| node | string | yes | – |
| shape | string | – | – |
| spans | integer | – | – |
No examples provided.
health.check Check Maya Connection Health ~17
Check the health status of the Maya connection
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | yes | – |
| last_contact | – | yes | – |
| last_error | – | yes | – |
| port | integer | yes | – |
| status | string | yes | – |
No examples provided.
maya.connect Connect To Maya ~50
Establish a connection to Maya's commandPort
| Name | Type | Req | Description |
|---|---|---|---|
| host | string | – | Target host (localhost only) |
| port | integer | – | Target port number |
| source_type | string | – | Command interpreter type |
| Name | Type | Req | Description |
|---|---|---|---|
| connected | boolean | yes | – |
| error | – | yes | – |
| host | string | yes | – |
| port | integer | yes | – |
No examples provided.
maya.disconnect Disconnect From Maya ~14
Close the connection to Maya
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| disconnected | boolean | yes | – |
| was_connected | boolean | yes | – |
No examples provided.
mesh.evaluate Evaluate Mesh Topology ~70
Analyze mesh topology for issues: non-manifold edges, lamina faces, holes, and border edges.
| Name | Type | Req | Description |
|---|---|---|---|
| checks | – | – | Checks to perform (default: all) |
| limit | – | – | Max components per check (default 500) |
| node | string | yes | Name of the mesh node (transform or shape) |
| Name | Type | Req | Description |
|---|---|---|---|
| _original_size | integer | – | – |
| _size_warning | string | – | – |
| _truncated_size | integer | – | – |
| border_count | integer | – | – |
| border_edges | array | – | – |
| errors | – | yes | – |
| exists | boolean | yes | – |
| hole_count | integer | – | – |
| holes | array | – | – |
| is_clean | boolean | yes | – |
| is_mesh | boolean | yes | – |
| lamina_count | integer | – | – |
| lamina_faces | array | – | – |
| node | string | yes | – |
| non_manifold_count | integer | – | – |
| non_manifold_edges | array | – | – |
| shape | string | – | – |
| total_count | integer | – | – |
| truncated | boolean | – | – |
No examples provided.
mesh.info Get Mesh Information ~41
Get mesh statistics: vertex/face/edge counts, bounding box, UV status
| Name | Type | Req | Description |
|---|---|---|---|
| node | string | yes | Name of the mesh node (transform or shape) |
| Name | Type | Req | Description |
|---|---|---|---|
| bounding_box | array | – | – |
| edge_count | integer | – | – |
| errors | – | yes | – |
| exists | boolean | yes | – |
| face_count | integer | – | – |
| has_uvs | boolean | – | – |
| is_mesh | boolean | yes | – |
| node | string | yes | – |
| shape | string | – | – |
| uv_count | integer | – | – |
| uv_sets | array | – | – |
| vertex_count | integer | – | – |
No examples provided.
mesh.vertices Get Mesh Vertices ~82
Query vertex positions from a mesh with offset/limit pagination. Returns vertex positions as [x, y, z] arrays.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | – | – | Maximum vertices to return (default 1000, use 0 for unlimited) |
| node | string | yes | Name of the mesh node (transform or shape) |
| offset | integer | – | Starting vertex index (0-based) |
| Name | Type | Req | Description |
|---|---|---|---|
| _original_size | integer | – | – |
| _size_warning | string | – | – |
| _truncated_size | integer | – | – |
| count | integer | – | – |
| errors | – | yes | – |
| exists | boolean | yes | – |
| is_mesh | boolean | yes | – |
| node | string | yes | – |
| offset | integer | – | – |
| shape | string | – | – |
| total_count | integer | – | – |
| truncated | boolean | – | – |
| vertex_count | integer | – | – |
| vertices | array | – | – |
No examples provided.
modeling.bevel Bevel Components ~98
Bevel edges or vertices with offset, segments, and fraction options.
| Name | Type | Req | Description |
|---|---|---|---|
| components | array | yes | Edge or vertex components to bevel (e.g., ['pCube1.e[0:3]']) |
| fraction | number | – | Bevel fraction (default 0.5) |
| offset | number | – | Bevel offset distance (default 0.5) |
| segments | integer | – | Number of bevel segments (default 1) |
| Name | Type | Req | Description |
|---|---|---|---|
| components_beveled | integer | yes | – |
| errors | – | yes | – |
| new_face_count | integer | yes | – |
| new_vertex_count | integer | yes | – |
| node | – | yes | – |
No examples provided.
modeling.boolean Run Mesh Boolean ~57
Perform a boolean operation (union, difference, intersection) on two meshes.
| Name | Type | Req | Description |
|---|---|---|---|
| mesh_a | string | yes | First mesh (base) |
| mesh_b | string | yes | Second mesh (operand) |
| operation | string | – | Boolean operation type |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | – | yes | – |
| face_count | integer | yes | – |
| operation | string | yes | – |
| result_mesh | – | yes | – |
| vertex_count | integer | yes | – |
No examples provided.
modeling.bridge Bridge Edge Loops ~80
Bridge between edge loops to create connecting faces.
| Name | Type | Req | Description |
|---|---|---|---|
| divisions | integer | – | Number of divisions in the bridge (default 0) |
| edge_loops | array | yes | Edge components for the edge loops to bridge |
| taper | number | – | Taper amount (default 1.0) |
| twist | integer | – | Twist amount (default 0) |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | – | yes | – |
| new_face_count | integer | yes | – |
| node | – | yes | – |
No examples provided.
modeling.center_pivot Center Pivot ~31
Center the pivot point on nodes.
| Name | Type | Req | Description |
|---|---|---|---|
| nodes | array | yes | Node names to center pivots on |
| Name | Type | Req | Description |
|---|---|---|---|
| centered | array | yes | – |
| count | integer | yes | – |
| errors | – | yes | – |
| pivot_positions | object | yes | – |
No examples provided.
modeling.combine Combine Meshes ~44
Combine multiple meshes into a single mesh.
| Name | Type | Req | Description |
|---|---|---|---|
| meshes | array | yes | List of mesh names to combine (minimum 2) |
| name | – | – | Optional name for the combined mesh |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | – | yes | – |
| face_count | integer | yes | – |
| result_mesh | – | yes | – |
| source_meshes | array | yes | – |
| vertex_count | integer | yes | – |
No examples provided.
modeling.create_polygon_primitive Create Polygon Primitive ~170
Create a polygon primitive (cube, sphere, cylinder, cone, torus, plane) with configurable dimensions, subdivisions, and axis.
| Name | Type | Req | Description |
|---|---|---|---|
| axis | string | – | Up axis for the primitive |
| depth | number | – | Depth (cube) |
| height | number | – | Height (cube/cylinder/cone/plane) |
| name | – | – | Optional name for the transform node |
| primitive_type | string | yes | Type of primitive to create |
| radius | number | – | Radius (sphere/cylinder/cone/torus) |
| subdivisions_axis | – | – | Axis subdivisions (sphere/cylinder/cone/torus) |
| subdivisions_depth | – | – | Depth subdivisions |
| subdivisions_height | – | – | Height subdivisions |
| subdivisions_width | – | – | Width subdivisions |
| width | number | – | Width (cube/plane) |
| Name | Type | Req | Description |
|---|---|---|---|
| constructor_node | – | yes | – |
| errors | – | yes | – |
| face_count | integer | yes | – |
| primitive_type | string | yes | – |
| shape | – | yes | – |
| transform | – | yes | – |
| vertex_count | integer | yes | – |
No examples provided.
modeling.delete_faces Delete Faces ~47
Delete polygon faces from a mesh.
| Name | Type | Req | Description |
|---|---|---|---|
| faces | array | yes | Face components to delete (e.g., ['pCube1.f[0]', 'pCube1.f[3]']) |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | – | yes | – |
| faces_deleted | integer | yes | – |
| mesh | – | yes | – |
| remaining_face_count | integer | yes | – |
No examples provided.
modeling.delete_history Delete Construction History ~49
Delete construction history from nodes or the entire scene.
| Name | Type | Req | Description |
|---|---|---|---|
| all_nodes | boolean | – | If True, delete history from all nodes in the scene |
| nodes | – | – | Node names to delete history from |
| Name | Type | Req | Description |
|---|---|---|---|
| _original_size | integer | – | – |
| _size_warning | string | – | – |
| _truncated_size | integer | – | – |
| cleaned | array | yes | – |
| count | integer | yes | – |
| errors | – | yes | – |
| total_count | integer | – | – |
| truncated | boolean | – | – |
No examples provided.
modeling.extrude_faces Extrude Faces ~127
Extrude polygon faces with local translation, offset, and division options.
| Name | Type | Req | Description |
|---|---|---|---|
| divisions | integer | – | Number of extrusion divisions |
| faces | array | yes | Face components to extrude (e.g., ['pCube1.f[0]', 'pCube1.f[2]']) |
| keep_faces_together | boolean | – | Keep faces together during extrusion |
| local_translate_x | – | – | Local X translation |
| local_translate_y | – | – | Local Y translation |
| local_translate_z | – | – | Local Z translation (extrusion thickness) |
| offset | – | – | Offset amount for the extrusion |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | – | yes | – |
| faces_extruded | integer | yes | – |
| new_face_count | integer | yes | – |
| node | – | yes | – |
No examples provided.
modeling.freeze_transforms Freeze Transforms ~73
Freeze (reset) transforms on nodes, applying current values as identity.
| Name | Type | Req | Description |
|---|---|---|---|
| nodes | array | yes | Node names to freeze transforms on |
| rotate | boolean | – | Freeze rotation (default True) |
| scale | boolean | – | Freeze scale (default True) |
| translate | boolean | – | Freeze translation (default True) |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| errors | – | yes | – |
| frozen | array | yes | – |
No examples provided.
modeling.insert_edge_loop Insert Edge Loop ~83
Insert an edge loop at the specified edge using polySplitRing.
| Name | Type | Req | Description |
|---|---|---|---|
| divisions | integer | – | Number of edge loops to insert (default 1) |
| edge | string | yes | Single edge component (e.g., 'pCube1.e[4]') |
| weight | number | – | Position weight along the edge (0-1, default 0.5) |
| Name | Type | Req | Description |
|---|---|---|---|
| edge | string | yes | – |
| errors | – | yes | – |
| new_edge_count | integer | yes | – |
| new_vertex_count | integer | yes | – |
| node | – | yes | – |
No examples provided.
modeling.merge_vertices Merge Vertices ~63
Merge vertices on a mesh within a distance threshold.
| Name | Type | Req | Description |
|---|---|---|---|
| mesh | string | yes | Name of the mesh |
| threshold | number | – | Distance threshold for merging (default 0.001) |
| vertices | – | – | Optional specific vertex components to merge (None = all vertices) |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | – | yes | – |
| mesh | string | yes | – |
| vertex_count_after | integer | yes | – |
| vertex_count_before | integer | yes | – |
| vertices_merged | integer | yes | – |
No examples provided.
modeling.move_components Move Components ~109
Move mesh components (vertices, edges, faces) by relative translation or to an absolute position.
| Name | Type | Req | Description |
|---|---|---|---|
| absolute | – | – | Absolute [x, y, z] position (mutually exclusive with translate) |
| components | array | yes | Component strings to move (e.g., ['pCube1.vtx[0:3]']) |
| translate | – | – | Relative [x, y, z] translation (mutually exclusive with absolute) |
| world_space | boolean | – | Use world space coordinates (default True) |
| Name | Type | Req | Description |
|---|---|---|---|
| absolute | array | – | – |
| components_moved | integer | yes | – |
| errors | – | yes | – |
| translate | array | – | – |
| world_space | boolean | yes | – |
No examples provided.
modeling.separate Separate Mesh ~30
Separate a combined mesh into individual meshes.
| Name | Type | Req | Description |
|---|---|---|---|
| mesh | string | yes | Name of the mesh to separate |
| Name | Type | Req | Description |
|---|---|---|---|
| _original_size | integer | – | – |
| _size_warning | string | – | – |
| _truncated_size | integer | – | – |
| count | integer | yes | – |
| errors | – | yes | – |
| result_meshes | array | yes | – |
| source_mesh | string | yes | – |
| total_count | integer | – | – |
| truncated | boolean | – | – |
No examples provided.
modeling.set_pivot Set Pivot ~69
Set the pivot point of a node to an explicit position.
| Name | Type | Req | Description |
|---|---|---|---|
| node | string | yes | Node name to set pivot on |
| position | array | yes | [x, y, z] position for the pivot |
| world_space | boolean | – | Position is in world space (default True) |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | – | yes | – |
| node | string | yes | – |
| pivot | array | yes | – |
| world_space | boolean | yes | – |
No examples provided.
nodes.create Create Node ~86
Create a new node in Maya with optional name, parent, and initial attributes.
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | – | – | Initial attribute values to set after creation |
| name | – | – | Desired node name (Maya may modify for uniqueness) |
| node_type | string | yes | Type of node to create (e.g., 'transform', 'locator', 'joint') |
| parent | – | – | Parent node to parent under |
| Name | Type | Req | Description |
|---|---|---|---|
| attribute_errors | – | yes | – |
| attributes_set | array | yes | – |
| node | – | yes | – |
| node_type | – | yes | – |
| parent | – | yes | – |
No examples provided.
nodes.delete Delete Nodes ~42
Delete one or more nodes from the Maya scene.
| Name | Type | Req | Description |
|---|---|---|---|
| hierarchy | boolean | – | Delete entire hierarchy below each node |
| nodes | array | yes | Node names to delete |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| deleted | array | yes | – |
| errors | – | yes | – |
No examples provided.
nodes.duplicate Duplicate Nodes ~82
Duplicate one or more nodes.
| Name | Type | Req | Description |
|---|---|---|---|
| input_connections | boolean | – | Duplicate input connections |
| name | – | – | Name for the new node (only valid when duplicating single node) |
| nodes | array | yes | Nodes to duplicate |
| parent_only | boolean | – | Duplicate only the specified node, not its children |
| upstream_nodes | boolean | – | Duplicate upstream nodes |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| duplicated | object | yes | – |
| errors | – | yes | – |
No examples provided.
nodes.info Get Node Information ~71
Get comprehensive information about a Maya node in a single call. Use info_category to choose: summary (default), transform, hierarchy, attributes, shape, or all. Reduces tool-call chaining.
| Name | Type | Req | Description |
|---|---|---|---|
| info_category | string | – | Category of information to retrieve |
| node | string | yes | Node name to query |
| Name | Type | Req | Description |
|---|---|---|---|
| _original_size | integer | – | – |
| _size_warning | string | – | – |
| _truncated_size | integer | – | – |
| children | array | – | – |
| children_count | integer | – | – |
| errors | – | – | – |
| exists | boolean | – | – |
| full_path | string | – | – |
| info_category | string | – | – |
| keyable_attributes | object | – | – |
| keyable_count | integer | – | – |
| keyable_total_count | integer | – | – |
| keyable_truncated | boolean | – | – |
| node | string | – | – |
| node_type | string | – | – |
| parent | – | – | – |
| parent_full_path | – | – | – |
| rotate | array | – | – |
| rotateX | number | – | – |
| rotateY | number | – | – |
| rotateZ | number | – | – |
| scale | array | – | – |
| scaleX | number | – | – |
| scaleY | number | – | – |
| scaleZ | number | – | – |
| shape_count | integer | – | – |
| shapes | array | – | – |
| total_count | integer | – | – |
| translate | array | – | – |
| translateX | number | – | – |
| translateY | number | – | – |
| translateZ | number | – | – |
| truncated | boolean | – | – |
| visibility | boolean | – | – |
No examples provided.
nodes.list List Nodes ~96
List nodes in the Maya scene, optionally filtered by type. Returns max 500 nodes by default to limit response size.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | – | – | Max nodes to return (default 500, use 0 for unlimited) |
| long_names | boolean | – | Return full DAG paths |
| node_type | – | – | Filter by node type (e.g., 'transform', 'mesh') |
| pattern | string | – | Name pattern filter (supports wildcards) |
| Name | Type | Req | Description |
|---|---|---|---|
| _original_size | integer | – | – |
| _size_warning | string | – | – |
| _truncated_size | integer | – | – |
| count | integer | yes | – |
| nodes | array | yes | – |
| total_count | integer | – | – |
| truncated | boolean | – | – |
No examples provided.
nodes.parent Parent Nodes ~59
Reparent one or more nodes in the Maya hierarchy.
| Name | Type | Req | Description |
|---|---|---|---|
| nodes | array | yes | Nodes to reparent |
| parent | – | – | New parent node. If None, unparent (parent to world). |
| relative | boolean | – | Preserve existing local transformations |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| errors | – | yes | – |
| parented | array | yes | – |
No examples provided.
nodes.rename Rename Nodes ~33
Rename one or more nodes in the Maya scene.
| Name | Type | Req | Description |
|---|---|---|---|
| mapping | object | yes | Map of current node name to new name |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | – | yes | – |
| renamed | object | yes | – |
No examples provided.
scene.export Export Scene File ~137
Export scene content to a file. Export selected nodes or entire scene. Supports multiple formats (.ma, .mb, .obj, .fbx, .abc, .usd, .usda, .usdc).
| Name | Type | Req | Description |
|---|---|---|---|
| animation | boolean | – | If True, include animation data (FBX only). If False (default), export static. |
| export_mode | string | – | What to export: 'selected' (default) or 'all' |
| file_path | string | yes | Path for the exported file (.ma, .mb, .obj, .fbx, .abc, .usd, .usda, .usdc) |
| Name | Type | Req | Description |
|---|---|---|---|
| error | – | yes | – |
| file_path | – | yes | – |
| nodes_exported | integer | yes | – |
| success | boolean | yes | – |
No examples provided.
What is the Maya MCP server?
Maya MCP is listed in the public MCP registry as io.github.GimbalGoats/maya-mcp. Control Autodesk Maya scenes with 71 typed tools for modeling, animation, shading, and more. This page covers its PyPI package (maya-mcp).
Is the Maya MCP server safe to use?
Maya MCP scores 68 out of 100 on VerifyMCP. A supply-chain scanner flagged a possible malware risk on one channel of this server. We found no known CVEs affecting it as of 20 September 2026. 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 Maya MCP server expose?
Maya MCP exposes 71 tools: health.check, maya.connect, maya.disconnect, scene.info, scene.new, and 66 more. Their descriptions and schemas cost roughly 4,916 tokens of context every time the server is loaded.
Is the Maya MCP server still maintained?
Maya MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.