set_device_parameter
Adjust device parameters in Ableton Live by specifying track, device, and parameter indices with new values to modify audio effects and instrument settings.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"track_index": "<track_index>",
"device_index": "<device_index>",
"parameter_index": "<parameter_index>",
"value": "<value>"
},
"name": "set_device_parameter"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| device_index | Yes | ||
| parameter_index | Yes | ||
| value | Yes |
Implementation Reference
- MCP_Server/server.py:707-720 (handler)MCP handler function for the 'set_device_parameter' tool. Connects to Ableton and sends the command with provided indices and value, returns success message with details or error.
@mcp.tool() def set_device_parameter(ctx: Context, track_index: int, device_index: int, parameter_index: int, value: float) -> str: try: ableton = get_ableton_connection() result = ableton.send_command("set_device_parameter", { "track_index": track_index, "device_index": device_index, "parameter_index": parameter_index, "value": value }) return f"Set device '{result.get('device_name')}' parameter '{result.get('parameter_name')}' to {result.get('parameter_value')} on track '{result.get('track_name')}'" except Exception as e: logger.error(f"Error setting device parameter: {str(e)}") return f"Error setting device parameter: {str(e)}" - MCP_Server/server.py:107-110 (registration)Lists 'set_device_parameter' as a modifying command type in AbletonConnection.send_command, which applies special handling like extra timeout and delays.
"set_tempo", "fire_clip", "stop_clip", "set_device_parameter", "start_playback", "stop_playback", "load_instrument_or_effect", "load_browser_item" ]