get_session_info
Retrieve comprehensive details about the current Ableton Live session to enable AI-assisted music production and direct interaction with the session.
Instructions
Get detailed information about the current Ableton session
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- MCP_Server/server.py:262-271 (handler)MCP tool handler that proxies the get_session_info command to the Ableton remote script via the connection and returns the formatted JSON result.def get_session_info(ctx: Context) -> str: """Get detailed information about the current Ableton session""" try: ableton = get_ableton_connection() result = ableton.send_command("get_session_info") return json.dumps(result, indent=2) except Exception as e: logger.error(f"Error getting session info from Ableton: {str(e)}") return f"Error getting session info: {str(e)}"
- Implementation in the Ableton remote script that fetches session details (tempo, time signature, track counts, master track info) using Ableton Live Python API.def _get_session_info(self): """Get information about the current session""" try: result = { "tempo": self._song.tempo, "signature_numerator": self._song.signature_numerator, "signature_denominator": self._song.signature_denominator, "track_count": len(self._song.tracks), "return_track_count": len(self._song.return_tracks), "master_track": { "name": "Master", "volume": self._song.master_track.mixer_device.volume.value, "panning": self._song.master_track.mixer_device.panning.value } } return result except Exception as e: self.log_message("Error getting session info: " + str(e)) raise
- AbletonMCP_Remote_Script/__init__.py:223-224 (registration)Dispatch/registration point in the remote script's command processor that routes 'get_session_info' commands to the _get_session_info handler.if command_type == "get_session_info": response["result"] = self._get_session_info()