Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MOHO_MCP_IPC_DIRNoFile IPC directory used by the Node bridge. The Moho plugin and bridge must use the same IPC directory.<system temp>/moho-mcp

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
document_getInfoA

Get information about the currently open MOHO document (name, path, dimensions, frame range, FPS)

document_getLayersA

Get a list of all top-level layers in the current MOHO document

layer_getPropertiesB

Get detailed properties of a specific layer (type, visibility, transform, etc.)

layer_getChildrenB

Get child layers of a group layer

layer_getBonesB

Get all bones in a bone layer

bone_getPropertiesA

Get detailed properties of a specific bone (position, angle, scale, parent, etc.)

animation_getKeyframesA

Get keyframe data for a specific animation channel on a layer

animation_getFrameStateA

Get the full animation state of a layer at a specific frame

mesh_getPointsB

Get all mesh points (vertices) in a vector layer

mesh_getShapesB

Get all shapes (filled regions) in a vector layer

bone_setTransformA

Set the transform (angle, position, scale) of a bone at a specific frame. Creates keyframes automatically. All transform params (angle, posX, posY, scale) are optional — only supplied values are changed.

bone_selectBoneA

Select a bone in the MOHO UI (deselects all others first)

animation_setKeyframeA

Set a keyframe value on an animation channel. For vec2 channels (translation, scale), pass value as {x, y}. For scalar channels (rotation, opacity, shear), pass a number.

animation_deleteKeyframeB

Delete a keyframe from an animation channel at a specific frame

animation_setInterpolationA

Set the interpolation/easing mode on an existing keyframe (linear, smooth, ease_in, ease_out, step)

document_setFrameA

Navigate to a specific frame on the MOHO timeline

layer_setTransformA

Set the transform (translation, rotation, scale) of a layer at a specific frame. All transform params are optional — only supplied values are changed.

layer_setVisibilityA

Show or hide a layer in the MOHO scene

layer_setOpacityA

Set the opacity/transparency of a layer at a specific frame (0.0 = fully transparent, 1.0 = fully opaque)

layer_setNameA

Rename a layer in the MOHO scene

layer_selectLayerB

Select a layer in the MOHO UI

document_screenshotA

Render the MOHO scene or capture the full application window and return as an image. Use mode "scene" (default) for a clean rendered frame, or "full" for the entire MOHO UI including timeline, layers panel, etc.

input_mouseClickA

Click at (x, y) coordinates relative to the MOHO window top-left. Use with document_screenshot(mode='full') to identify UI element positions, then click them.

input_mouseDragA

Drag from (startX, startY) to (endX, endY) relative to the MOHO window. Useful for dragging timeline playhead, sliders, or drawing operations.

input_sendKeysA

Send a keyboard shortcut to the MOHO window. Supports modifiers (ctrl, shift, alt) combined with keys. Examples: "ctrl+z" (undo), "ctrl+shift+z" (redo), "space" (play/pause), "delete", "ctrl+s" (save), "f5".

batch_executeA

Execute multiple MOHO operations in a single IPC round-trip (~300ms total) instead of one round-trip per call (~300ms each). PREFER THIS over individual calls whenever you have 2+ operations.

Method names use DOT notation: "bone.setTransform", "layer.getProperties", "animation.setKeyframe", etc. Params match each tool's schema exactly.

Supports all methods EXCEPT: document.screenshot (too slow), batch.execute (no nesting).

Common patterns:

  • Multi-frame animation: batch bone.setTransform across frames 1,5,10,15,...

  • Bulk reads: batch document.getInfo + document.getLayers + layer.getProperties for several layers

  • Keyframe + easing: batch animation.setKeyframe then animation.setInterpolation for each

  • Multi-bone pose: batch bone.setTransform for each bone in a skeleton at the same frame

  • Layer setup: batch layer.setName + layer.setVisibility + layer.setOpacity

Returns { results: [{ success, index, result|error }], summary: { total, executed, succeeded, failed, stoppedEarly } }. Use stopOnError: true when later operations depend on earlier ones succeeding.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
shortcutsComprehensive Moho Pro 14 keyboard shortcuts organized by category
toolsAll Moho Pro 14 tools organized by toolbar group with shortcuts and descriptions

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/neosh11/moho-mcp-server'

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