live_call
Execute a method on an Ableton Live object by providing its reference, method name, and optional arguments to control the DAW.
Instructions
Call one Live object method.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | ||
| method | Yes | ||
| args | No | ||
| kwargs | No | ||
| timeout | No | Seconds to wait for Live's main thread. | |
| expected_set_signature | No |
Implementation Reference
- Ableton_Live_MCP/bridge.py:249-252 (handler)The actual handler that executes the 'live_call' tool: resolves a Live object by ref, gets the attribute by method name, and calls it with args/kwargs.
def _rpc_call(self, params): obj = self._resolve(params.get("ref")) fn = getattr(obj, params["method"]) return fn(*(params.get("args") or []), **(params.get("kwargs") or {})) - src/server.py:85-91 (registration)Registration of the 'live_call' tool with its input schema on the MCP server.
server.add_tool(Tool("live_call", "Call one Live object method.", schema({ "ref": ref, "method": {"type": "string"}, "args": {"type": "array"}, "kwargs": {"type": "object"}, **mutation_controls, }, ["ref", "method"]), forward("call"))) - src/server.py:85-91 (schema)Input schema for 'live_call': requires ref (path/id) and method string, accepts optional args array and kwargs object.
server.add_tool(Tool("live_call", "Call one Live object method.", schema({ "ref": ref, "method": {"type": "string"}, "args": {"type": "array"}, "kwargs": {"type": "object"}, **mutation_controls, }, ["ref", "method"]), forward("call"))) - src/server.py:33-40 (helper)The 'forward' helper that creates a lambda bridging the tool call to the bridge client's request method with the bridge method name 'call'.
def forward(method: str): return lambda args: bridge.request(method, args) ref = { "type": "object", "properties": { "path": {"type": "string"}, "id": {"type": "integer"},