github re-analysis due

jpoindexter/ableton-mcp

github

Control Ableton Live with AI - 200+ tools via MCP, REST API, and Max for Live. Works with Claude, Ollama, OpenAI, Groq.

maintainer
jpoindexter
license
MIT
first seen
2026-06-01
last seen
2026-06-04
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

network 3

  • net jpoindexter-ableton-mcp-fa4f9ec/AbletonMCP_Remote_Script/__init__.py :3 import socket
  • net jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/rest_api_server.py :19 import socket
  • net jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :3 import socket

secrets 1

  • secrets jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/rest_api_server.py :45 REST_API_KEY = os.environ.get("REST_API_KEY", None)

tool registrations 128

  • health_check jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :299
  • get_playback_position jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :319
  • get_session_info jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :330
  • get_track_info jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :341
  • get_track_color jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :357
  • get_clip_color jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :373
  • get_scene_color jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :393
  • get_clip_loop jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :409
  • get_send_level jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :429
  • create_midi_track jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :449
  • create_audio_track jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :465
  • set_track_name jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :481
  • set_track_mute jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :498
  • set_track_solo jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :516
  • set_track_arm jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :534
  • set_track_volume jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :554
  • set_track_pan jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :571
  • create_clip jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :588
  • delete_clip jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :610
  • get_clip_notes jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :630
  • add_notes_to_clip jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :650
  • set_clip_name jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :677
  • set_tempo jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :699
  • load_instrument_or_effect jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :716
  • fire_clip jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :746
  • stop_clip jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :766
  • start_playback jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :786
  • stop_playback jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :797
  • get_device_parameters jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :808
  • set_device_parameter jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :828
  • get_all_scenes jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :854
  • create_scene jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :865
  • delete_scene jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :881
  • fire_scene jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :897
  • stop_scene jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :913
  • set_scene_name jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :929
  • set_scene_color jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :946
  • duplicate_scene jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :963
  • delete_track jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :981
  • duplicate_track jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :997
  • freeze_track jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1013
  • flatten_track jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1032
  • unarm_all jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1052
  • move_device_left jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1069
  • move_device_right jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1092
  • set_track_color jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1115
  • toggle_device jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1134
  • delete_device jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1155
  • duplicate_clip jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1177
  • set_clip_color jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1197
  • set_clip_loop jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1219
  • remove_notes jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1247
  • remove_all_notes jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1275
  • transpose_notes jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1295
  • undo jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1320
  • redo jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1334
  • get_return_tracks jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1350
  • get_return_track_info jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1361
  • set_send_level jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1377
  • set_return_volume jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1399
  • set_return_pan jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1419
  • get_current_view jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1441
  • focus_view jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1452
  • select_track jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1468
  • select_scene jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1484
  • select_clip jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1500
  • start_recording jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1523
  • stop_recording jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1534
  • toggle_session_record jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1545
  • toggle_arrangement_record jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1559
  • set_overdub jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1571
  • capture_midi jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1590
  • get_arrangement_length jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1606
  • set_arrangement_loop jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1617
  • jump_to_time jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1639
  • get_locators jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1655
  • create_locator jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1666
  • delete_locator jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1686
  • get_track_input_routing jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1707
  • get_track_output_routing jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1723
  • get_available_inputs jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1739
  • get_available_outputs jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1755
  • set_track_input_routing jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1771
  • set_track_output_routing jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1793
  • get_cpu_load jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1817
  • get_session_path jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1831
  • is_session_modified jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1842
  • get_metronome_state jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1857
  • set_metronome jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1872
  • get_scale_notes jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1891
  • quantize_clip_notes jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1911
  • humanize_clip_timing jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1933
  • humanize_clip_velocity jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1955
  • generate_drum_pattern jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :1977
  • generate_bassline jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2001
  • get_browser_tree jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2027
  • get_browser_items_at_path jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2090
  • load_drum_kit jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2131
  • get_master_info jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2182
  • set_master_volume jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2193
  • set_master_pan jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2211
  • browse_path jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2231
  • search_browser jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2249
  • load_item_to_track jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2276
  • load_item_to_return jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2298
  • get_clip_gain jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2322
  • get_clip_pitch jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2342
  • set_clip_gain jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2362
  • set_clip_pitch jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2386
  • set_clip_warp_mode jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2410
  • get_clip_warp_info jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2434
  • get_warp_markers jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2456
  • add_warp_marker jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2476
  • delete_warp_marker jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2502
  • get_clip_automation jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2526
  • set_clip_automation jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2548
  • clear_clip_automation jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2574
  • create_group_track jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2600
  • fold_track jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2622
  • unfold_track jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2640
  • set_track_monitoring jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2660
  • get_track_monitoring jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2682
  • get_device_by_name jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2700
  • get_rack_chains jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2720
  • select_rack_chain jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2740
  • get_groove_pool jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2766
  • apply_groove jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2777
  • commit_groove jpoindexter-ableton-mcp-fa4f9ec/MCP_Server/server.py :2801