set_tempo
Change the tempo of your Ableton Live session to match your desired BPM for music production and arrangement control.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tempo | Yes |
Implementation Reference
- MCP_Server/server.py:340-348 (handler)The handler function implementing the set_tempo MCP tool. It sends a 'set_tempo' command to the Ableton connection with the specified tempo value and returns a success or error message.@mcp.tool() def set_tempo(ctx: Context, tempo: float) -> str: try: ableton = get_ableton_connection() ableton.send_command("set_tempo", {"tempo": tempo}) return f"Set tempo to {tempo} BPM" except Exception as e: logger.error(f"Error setting tempo: {str(e)}") return f"Error setting tempo: {str(e)}"
- MCP_Server/server.py:104-110 (helper)Helper condition in AbletonConnection.send_command method that treats 'set_tempo' as a modifying command, providing extra timeout (15s) and small delays before/after sending the command.is_modifying_command = command_type in [ "create_midi_track", "create_audio_track", "set_track_name", "create_clip", "add_notes_to_clip", "set_clip_name", "set_tempo", "fire_clip", "stop_clip", "set_device_parameter", "start_playback", "stop_playback", "load_instrument_or_effect", "load_browser_item" ]
- MCP_Server/server.py:340-340 (registration)The @mcp.tool() decorator registers the set_tempo function as an MCP tool.@mcp.tool()