Cascadeur MCP Plus
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CASCADEUR_PLUS_URL | No | Environment of the proxy; its port is passed to the in-app server when the proxy starts it. | http://127.0.0.1:48766 |
| CASCADEUR_OFFICIAL_URL | No | Environment of the proxy. | http://127.0.0.1:8765 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| run_pythonA | Run Python inside Cascadeur on the GUI thread with csc, app, scene (domain scene), view_scene and ui in scope. Returns stdout and the value of a lone expression or of a variable named |
| get_scene_infoB | Summarize the current scene: name/path, frames, object counts by type, selection, rig/animation behaviours, license flags. |
| get_object_infoB | Describe objects by exact or partial name: type, id and behaviours with their property names. |
| screenshotA | Capture a Cascadeur window (or one element by ref) as an image. window_units_per_pixel converts image pixels to the window coordinates used by ui_click x/y. |
| ui_treeA | List open windows and on-screen UI elements (text, tooltip, actionId, type, rect, clickable/input flags) with refs for the other ui_* tools. |
| ui_clickA | Click like a real user (synthesized mouse events) on an element by ref or query, or at window coordinates x/y. Supports right/middle button, double click and modifiers. |
| ui_dragA | Drag with the mouse like a user: press at the start, move in steps (button held), release at the end. Start: object (scene object name, projected into the 3D viewport), ref, query or window x/y. End: to_x/to_y or offset dx/dy in window coordinates. Each step runs separately so Cascadeur updates between moves (e.g. AutoPosing while dragging a control point). Returns the actual start/end points. |
| project_pointA | Project scene objects (by name) to main-window coordinates in the 3D viewport, for ui_click/ui_drag x/y. Uses the viewport camera and a 30 degree vertical FOV (verified for Cascadeur 2026.2.3). |
| ui_hoverB | Move the mouse over an element or point (shows tooltips, hover menus). |
| ui_keyB | Press keys or shortcuts, space-separated combos, e.g. 'ctrl+s', 'Escape', 'ctrl+a Delete', 'F'. |
| ui_typeA | Type text into the focused element, or focus an element by ref/query first. replace clears it; submit presses Enter. |
| ui_set_propertyA | Set a QML property on an element (e.g. checked, value, text, currentIndex). Bypasses input handlers; prefer ui_click when possible. |
| ui_invokeA | Invoke a no-argument QML method or signal on an element, e.g. 'clicked', 'toggle', 'open', 'close'. Useful when an element cannot be clicked on screen. |
| dialogsA | List visible dialogs/popups and secondary windows with their texts and buttons (as refs). |
| list_actionsC | List Cascadeur action keys (actionId) found in the UI, e.g. 'Commands.Rig mode.On', with labels. |
| call_actionB | Trigger a Cascadeur action by key via ActionManager.call_action, exactly like its toolbar button or menu item. |
| enter_rig_modeA | Enter Cascadeur's Rig mode using its own rig_mode.on entry points (run_after_import for a freshly imported model). Required before Quick Rigging's Add rig elements / Generate rig: without it Cascadeur crashes. Runs on the scene idle event like the official script server. |
| get_logB | Read the tail of Cascadeur's log file (errors and Python tracebacks land here), optionally filtered. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Most tools have clearly distinct purposes, and the split between action control, scene introspection, and UI automation is understandable. Minor overlap exists between ui_click vs ui_invoke/ui_set_property and between dialogs vs ui_tree, but the descriptions give enough guidance to choose correctly.
Most tools follow a readable verb_noun pattern such as call_action, get_scene_info, and ui_click. However, several names are noun-only or resource-like (screenshot, dialogs, ui_tree), and the ui_* prefix mixes action tools with introspection tools, so the convention is not fully predictable.
At 18 tools the set is slightly above the typical 3-15 range, but the broad surface (actions, scene introspection, UI automation, Python execution) justifies most tools. No tool is obviously redundant, and the UI family is grouped coherently.
The set covers action discovery and execution, rig mode setup, scene/object introspection, screenshots, dialogs, and full mouse/keyboard/QML manipulation, with run_python as a broad escape hatch. Direct high-level animation or rig-generation operations are not first-class tools, but they can be composed through actions, UI automation, or Python.