MCPcopy Create free account

hub / github.com/ahujasid/ableton-mcp / functions

Functions87 in github.com/ahujasid/ableton-mcp

↓ 23 callersMethodsend_command
Send a command to Ableton and return the response
MCP_Server/server.py:102
↓ 22 callersFunctionget_ableton_connection
Get or create a persistent Ableton connection
MCP_Server/server.py:212
↓ 7 callersFunctionget_telemetry
Get the global telemetry collector instance
MCP_Server/telemetry.py:320
↓ 6 callersMethod_safe_song_property
Read self._song.<attr> with cast, returning default on common failures. Catches only narrow exceptions so genuine bugs still surface.
AbletonMCP_Remote_Script/__init__.py:372
↓ 6 callersMethodrecord_event
Record a telemetry event (non-blocking)
MCP_Server/telemetry.py:192
↓ 4 callersMethod_find_browser_item_by_uri
Find a browser item by its URI. Top-level lookups are memoised on ``self._uri_cache`` so repeated loads of the same URI don't re-walk
AbletonMCP_Remote_Script/__init__.py:990
↓ 3 callersMethoddisconnect
Disconnect from the Ableton Remote Script
MCP_Server/server.py:45
↓ 2 callersFunction_extract_tool_params
Extract relevant params from kwargs for logging. Only extracts non-sensitive structural params by default. With consent, can capture more det
MCP_Server/telemetry_decorator.py:27
↓ 2 callersMethod_walk_browser_for_uri
Recursive walk used by :py:meth:`_find_browser_item_by_uri`.
AbletonMCP_Remote_Script/__init__.py:1008
↓ 2 callersMethodconnect
Connect to the Ableton Remote Script socket server
MCP_Server/server.py:28
↓ 1 callersMethod_add_notes_to_clip
Add MIDI notes to a clip
AbletonMCP_Remote_Script/__init__.py:584
↓ 1 callersMethod_check_user_consent
Check if user has consented to detailed data collection
MCP_Server/telemetry.py:188
↓ 1 callersMethod_create_audio_clip
Create an audio clip in the specified audio track clip slot by importing a file. Requires Ableton Live 12.0.5 or newer (the underlying
AbletonMCP_Remote_Script/__init__.py:533
↓ 1 callersMethod_create_clip
Create a new MIDI clip in the specified track and clip slot
AbletonMCP_Remote_Script/__init__.py:504
↓ 1 callersMethod_create_midi_track
Create a new MIDI track at the specified index
AbletonMCP_Remote_Script/__init__.py:466
↓ 1 callersMethod_duplicate_session_clip_to_arrangement
Copy a Session-view clip into the Arrangement timeline. Uses the real Live API: track.duplicate_clip_to_arrangement(clip, destinati
AbletonMCP_Remote_Script/__init__.py:797
↓ 1 callersMethod_fire_clip
Fire a clip
AbletonMCP_Remote_Script/__init__.py:664
↓ 1 callersMethod_get_arrangement_clips
Return all clips placed in the Arrangement timeline for a track. Each clip dict contains: name, start_time, end_time, length, color
AbletonMCP_Remote_Script/__init__.py:760
↓ 1 callersMethod_get_browser_item
Get a browser item by URI or path
AbletonMCP_Remote_Script/__init__.py:841
↓ 1 callersMethod_get_data_directory
Get directory for storing telemetry data
MCP_Server/telemetry.py:151
↓ 1 callersMethod_get_device_type
Get the type of a device
AbletonMCP_Remote_Script/__init__.py:1056
↓ 1 callersMethod_get_or_create_uuid
Get or create anonymous customer UUID
MCP_Server/telemetry.py:164
↓ 1 callersMethod_get_session_info
Get information about the current session
AbletonMCP_Remote_Script/__init__.py:380
↓ 1 callersMethod_get_track_info
Get information about a track
AbletonMCP_Remote_Script/__init__.py:411
↓ 1 callersMethod_is_disabled
Check if telemetry is disabled via environment variables
MCP_Server/telemetry.py:138
↓ 1 callersMethod_load_browser_item
Load a browser item onto a track by its URI
AbletonMCP_Remote_Script/__init__.py:927
↓ 1 callersMethod_order_roots_by_uri
Reorder ``roots`` so the URI's likely root is walked first.
AbletonMCP_Remote_Script/__init__.py:978
↓ 1 callersMethod_process_command
Process a command from the client and return a response
AbletonMCP_Remote_Script/__init__.py:211
↓ 1 callersMethod_send_event
Send event to Supabase
MCP_Server/telemetry.py:267
↓ 1 callersMethod_set_clip_name
Set the name of a clip
AbletonMCP_Remote_Script/__init__.py:624
↓ 1 callersMethod_set_current_song_time
Move the arrangement playhead to a position in beats
AbletonMCP_Remote_Script/__init__.py:751
↓ 1 callersMethod_set_tempo
Set the tempo of the session
AbletonMCP_Remote_Script/__init__.py:651
↓ 1 callersMethod_set_track_name
Set the name of a track
AbletonMCP_Remote_Script/__init__.py:486
↓ 1 callersMethod_start_playback
Start playing the session
AbletonMCP_Remote_Script/__init__.py:714
↓ 1 callersMethod_stop_clip
Stop a clip
AbletonMCP_Remote_Script/__init__.py:690
↓ 1 callersMethod_stop_playback
Stop playing the session
AbletonMCP_Remote_Script/__init__.py:727
↓ 1 callersMethod_switch_to_arrangement_view
Switch Ableton's main window to the Arrangement view
AbletonMCP_Remote_Script/__init__.py:742
↓ 1 callersFunctionformat_tree
(item, indent=0)
MCP_Server/server.py:603
↓ 1 callersMethodget_browser_items_at_path
Get browser items at a specific path. Args: path: Path in the format "category/folder/subfolder"
AbletonMCP_Remote_Script/__init__.py:1191
↓ 1 callersMethodget_browser_tree
Get a simplified tree of browser categories. Args: category_type: Type of categories to get ('all', 'instruments
AbletonMCP_Remote_Script/__init__.py:1075
↓ 1 callersFunctionget_package_version
Get version from pyproject.toml
MCP_Server/telemetry.py:41
↓ 1 callersFunctionget_telemetry_consent
Get the current telemetry consent status
MCP_Server/telemetry.py:97
↓ 1 callersFunctionmain
Run the MCP server
MCP_Server/server.py:845
↓ 1 callersFunctionpitch_to_name
(p)
MCP_Server/telemetry_decorator.py:86
↓ 1 callersMethodreceive_full_response
Receive the complete response, potentially in multiple chunks
MCP_Server/server.py:55
↓ 1 callersFunctionrecord_startup
Record server startup event
MCP_Server/telemetry.py:344
↓ 1 callersFunctionset_telemetry_consent
Set the user's telemetry consent status
MCP_Server/telemetry.py:90
↓ 1 callersMethodstart_server
Start the socket server in a separate thread
AbletonMCP_Remote_Script/__init__.py:76
Method__init__
Initialize the control surface
AbletonMCP_Remote_Script/__init__.py:29
Method__init__
Initialize telemetry collector
MCP_Server/telemetry.py:105
Function_debug_print
Print debug message to stderr so it shows in MCP logs
MCP_Server/telemetry_decorator.py:22
Method_handle_client
Handle communication with a connected client
AbletonMCP_Remote_Script/__init__.py:134
Method_server_thread
Server thread implementation - handles client connections
AbletonMCP_Remote_Script/__init__.py:94
Method_worker_loop
Background worker that sends telemetry
MCP_Server/telemetry.py:255
Functionadd_notes_to_clip
Add MIDI notes to a clip. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip
MCP_Server/server.py:398
Functionasync_wrapper
(*args, **kwargs)
MCP_Server/telemetry_decorator.py:142
Functioncreate_audio_clip
Create a new audio clip in an audio track's clip slot by importing a file. Requires Ableton Live 12.0.5 or newer — the underlying ClipSl
MCP_Server/server.py:369
Functioncreate_clip
Create a new MIDI clip in the specified track and clip slot. Parameters: - track_index: The index of the track to create the clip in
MCP_Server/server.py:345
Functioncreate_instance
Create and return the AbletonMCP script instance
AbletonMCP_Remote_Script/__init__.py:22
Functioncreate_midi_track
Create a new MIDI track in the Ableton session. Parameters: - index: The index to insert the track at (-1 = end of list) - user_prom
MCP_Server/server.py:307
Functiondecorator
(func: Callable)
MCP_Server/telemetry_decorator.py:107
Methoddisconnect
Called when Ableton closes or the control surface is removed
AbletonMCP_Remote_Script/__init__.py:51
Functionduplicate_to_arrangement
Copy a Session-view clip into the Arrangement timeline. Uses Live's track.duplicate_clip_to_arrangement() API (Live 11 / 12). The clip i
MCP_Server/server.py:797
Functionfire_clip
Start playing a clip. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip slot
MCP_Server/server.py:503
Functionget_arrangement_clips
List all clips placed in the Arrangement timeline for a track. Returns each clip's name, start_time, end_time, length, and type. Parame
MCP_Server/server.py:776
Functionget_browser_items_at_path
Get browser items at a specific path in Ableton's browser. Parameters: - path: Path in the format "category/folder/subfolder"
MCP_Server/server.py:644
Functionget_browser_tree
Get a hierarchical tree of browser categories from Ableton. Parameters: - category_type: Type of categories to get ('all', 'instruments'
MCP_Server/server.py:579
Functionget_session_info
Get detailed information about the current Ableton session Parameters: - user_prompt: The original user prompt that led to this tool call (fo
MCP_Server/server.py:273
Functionget_track_info
Get detailed information about a specific track in Ableton. Parameters: - track_index: The index of the track to get information about
MCP_Server/server.py:289
Functionis_telemetry_enabled
Check if telemetry is enabled
MCP_Server/telemetry.py:352
Functionload_drum_kit
Load a drum rack and then load a specific drum kit into it. Parameters: - track_index: The index of the track to load on - rack_uri:
MCP_Server/server.py:687
Functionload_instrument_or_effect
Load an instrument or effect onto a track using its URI. Parameters: - track_index: The index of the track to load the instrument on
MCP_Server/server.py:471
Methodmain_thread_task
()
AbletonMCP_Remote_Script/__init__.py:241
Methodprocess_item
(item, depth=0)
AbletonMCP_Remote_Script/__init__.py:1106
Functionrecord_tool_usage
Convenience function to record tool usage
MCP_Server/telemetry.py:328
Functionrich_telemetry_tool
Decorator that records tool execution with rich metadata. Stores params and other context in metadata for analysis. Args: tool_name:
MCP_Server/telemetry_decorator.py:185
Functionserver_lifespan
Manage server startup and shutdown lifecycle
MCP_Server/server.py:176
Functionset_arrangement_time
Move the arrangement playhead to a specific position. Parameters: - time: Position in beats from the start of the arrangement (e.g. 8.0
MCP_Server/server.py:757
Functionset_clip_name
Set the name of a clip. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip sl
MCP_Server/server.py:428
Functionset_tempo
Set the tempo of the Ableton session. Parameters: - tempo: The new tempo in BPM - user_prompt: The original user prompt that led to
MCP_Server/server.py:452
Functionset_track_name
Set the name of a track. Parameters: - track_index: The index of the track to rename - name: The new name for the track - user_p
MCP_Server/server.py:326
Functionstart_playback
Start playing the Ableton session. Parameters: - user_prompt: The original user prompt that led to this tool call (for telemetry)
MCP_Server/server.py:547
Functionstop_clip
Stop playing a clip. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip slot
MCP_Server/server.py:525
Functionstop_playback
Stop playing the Ableton session. Parameters: - user_prompt: The original user prompt that led to this tool call (for telemetry)
MCP_Server/server.py:563
Functionswitch_to_arrangement_view
Switch Ableton's main window to the Arrangement view. Parameters: - user_prompt: The original user prompt that led to this tool call (for tel
MCP_Server/server.py:740
Functionsync_wrapper
(*args, **kwargs)
MCP_Server/telemetry_decorator.py:109
Functiontelemetry_tool
Decorator to add basic telemetry tracking to MCP tools. Always collects: tool_name, success/failure, duration With consent: user_prompt
MCP_Server/telemetry_decorator.py:101