Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MAYA_MCP_ENABLE_RAW_EXECUTIONNoSet to 'true' to enable raw script execution (script.run tool). Disabled by default.false

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
health.checkA

Check the health status of the Maya connection

maya.connectB

Establish a connection to Maya's commandPort

maya.disconnectB

Close the connection to Maya

scene.infoA

Get information about the current Maya scene

scene.newA

Create a new empty Maya scene. Checks for unsaved changes first and refuses by default if the scene was modified. Use force=True to discard unsaved changes. When a client supports form elicitation, the server may ask for confirmation instead of requiring an immediate retry.

scene.saveA

Save the current scene. Saves to the current file path. Fails if the scene is untitled.

scene.save_asA

Save the scene to a new file path. Validates the path and saves as Maya ASCII or Binary based on extension.

scene.openA

Open a Maya scene file. Validates the file path and checks for unsaved changes before proceeding. Use force=True to discard unsaved changes. When a client supports form elicitation, the server may ask for confirmation instead of requiring an immediate retry. Supported formats: .ma (Maya ASCII), .mb (Maya Binary).

scene.undoA

Undo the last operation in Maya. Critical for LLM error recovery.

scene.redoA

Redo the last undone operation in Maya.

scene.importA

Import a file into the current Maya scene. Supports multiple formats (.ma, .mb, .obj, .fbx, .abc, .usd, .usda, .usdc, .usdz). Returns only top-level parent transforms to protect token budget.

scene.exportA

Export scene content to a file. Export selected nodes or entire scene. Supports multiple formats (.ma, .mb, .obj, .fbx, .abc, .usd, .usda, .usdc).

nodes.listA

List nodes in the Maya scene, optionally filtered by type. Returns max 500 nodes by default to limit response size.

nodes.createC

Create a new node in Maya with optional name, parent, and initial attributes.

nodes.deleteA

Delete one or more nodes from the Maya scene.

nodes.renameA

Rename one or more nodes in the Maya scene.

nodes.parentB

Reparent one or more nodes in the Maya hierarchy.

nodes.duplicateC

Duplicate one or more nodes.

nodes.infoA

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.

attributes.getA

Get one or more attribute values from a Maya node. Supports batch queries to reduce tool call chaining.

attributes.setA

Set one or more attribute values on a Maya node. Supports batch operations to reduce tool call chaining.

connections.listA

List connections on a Maya node with direction and type filters. Returns max 500 connections by default to limit response size.

connections.getB

Get detailed connection information for specific attributes on a node.

connections.connectA

Connect two attributes in Maya. Use force=True to disconnect existing connections first.

connections.disconnectA

Disconnect attributes in Maya. Can disconnect a specific connection, all outgoing from a source, or all incoming to a destination.

connections.historyA

List construction/deformation history on a node. Traverses upstream (input) or downstream (output) dependency graph.

selection.getA

Get the current selection in Maya

selection.setD

Set the Maya selection

selection.clearA

Clear the Maya selection (deselect all)

selection.set_componentsC

Select mesh components (vertices, edges, or faces) using Maya notation (e.g., 'pCube1.vtx[0:10]', 'pSphere1.e[5]', 'pPlane1.f[0:99]').

selection.get_componentsA

Get currently selected mesh components grouped by type (vertices, edges, faces).

selection.convert_componentsB

Convert the current selection to a different component type (vertex, edge, or face).

mesh.infoA

Get mesh statistics: vertex/face/edge counts, bounding box, UV status

mesh.verticesA

Query vertex positions from a mesh with offset/limit pagination. Returns vertex positions as [x, y, z] arrays.

mesh.evaluateA

Analyze mesh topology for issues: non-manifold edges, lamina faces, holes, and border edges.

viewport.captureA

Capture a single viewport frame as inline image content using Maya playblast. Read-only: does not modify scene data.

curve.infoA

Get NURBS curve information: degree, spans, form, CV count, knots, length, bounding box.

curve.cvsA

Query CV positions from a NURBS curve with offset/limit pagination. Returns CV positions as [x, y, z] arrays in world space.

modeling.create_polygon_primitiveA

Create a polygon primitive (cube, sphere, cylinder, cone, torus, plane) with configurable dimensions, subdivisions, and axis.

modeling.extrude_facesB

Extrude polygon faces with local translation, offset, and division options.

modeling.booleanA

Perform a boolean operation (union, difference, intersection) on two meshes.

modeling.combineC

Combine multiple meshes into a single mesh.

modeling.separateB

Separate a combined mesh into individual meshes.

modeling.merge_verticesA

Merge vertices on a mesh within a distance threshold.

modeling.bevelB

Bevel edges or vertices with offset, segments, and fraction options.

modeling.bridgeB

Bridge between edge loops to create connecting faces.

modeling.insert_edge_loopB

Insert an edge loop at the specified edge using polySplitRing.

modeling.delete_facesA

Delete polygon faces from a mesh.

modeling.move_componentsA

Move mesh components (vertices, edges, faces) by relative translation or to an absolute position.

modeling.freeze_transformsA

Freeze (reset) transforms on nodes, applying current values as identity.

modeling.delete_historyB

Delete construction history from nodes or the entire scene.

modeling.center_pivotB

Center the pivot point on nodes.

modeling.set_pivotA

Set the pivot point of a node to an explicit position.

shading.create_materialA

Create a material (lambert, blinn, phong, standardSurface) with an associated shading group and optional color.

shading.assign_materialA

Assign a material to meshes or face components. Resolves the shading group from the material automatically.

shading.set_material_colorA

Set a color attribute on a material (e.g., color, baseColor, transparency).

skin.bindA

Bind a mesh to a skeleton with influence options. Creates a skinCluster with configurable bind method and max influences.

skin.unbindA

Detach a skin cluster from a mesh, removing skin deformation.

skin.influencesA

List influences (joints) on a skin cluster with index mapping.

skin.weights.getA

Get per-vertex skin weights with offset/limit pagination. Default limit is 100 vertices (skin weight data is dense). Use offset to paginate through large meshes.

skin.weights.setA

Set per-vertex skin weights with optional normalization. Accepts up to 1000 vertex entries per call.

skin.copy_weightsC

Copy skin weights from one mesh to another using surface and influence association methods.

script.listA

List available Python scripts from configured MAYA_MCP_SCRIPT_DIRS directories. Read-only, does not require Maya connection.

script.executeA

Execute a Python script file in Maya from an allowed MAYA_MCP_SCRIPT_DIRS directory. The script is read server-side and sent to Maya. Optional args dict is injected as args in the script namespace.

script.runA

Execute raw Python or MEL code in Maya. REQUIRES MAYA_MCP_ENABLE_RAW_EXECUTION=true environment variable. Disabled by default for security.

animation.set_timeA

Set the current time (go to a specific frame).

animation.get_time_rangeA

Get playback range, animation range, and current time.

animation.set_time_rangeB

Set the playback and animation range.

animation.set_keyframeA

Set keyframe on attribute(s) at current or specified time.

animation.get_keyframesA

Query keyframes for attribute(s) on a node within optional time range.

animation.delete_keyframesA

Delete keyframes in a time range for attribute(s).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/GimbalGoats/GG_MayaMCP'

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