Ableton (ldraney) MCP Server

ableton-mcp-server PyPI v0.1.0

Published by ldraney — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.

MCP server for controlling Ableton Live via Claude Code

Trust grade
A
93/100
Last scanned get badge →
Trust
A · 93/100
Adoption risk for you: the threat score, then adjusted down for blast radius, publisher verification and how much the scan could see. Deterministic; every point is auditable.
Capability
High
Blast radius if it went rogue — what the server’s tools could reach. Independent of trust.
Coverage
Source
How much the scan could actually inspect. Shallow coverage is stated, never hidden.
Share this Trust Score
𝕏 Share LinkedIn Reddit
A Why this grade threat 100 − adoption risk = 93/100

The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.

1. Threat score — 100 − 0 = 100. What the published surface and source actually contain:

The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.

2. Client adoption risk — 100 − 7 = 93. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:

PointsAdoption-risk factor
−6 capability blast radius (high) — client exposure if the model is manipulated
−1 publisher verification (public source) — no provenance, but the source is public and inspectable

Capability observations and info notes are shown under Findings but never scored. Open any row's finding below for the file, line and evidence behind a deduction.

Findings 2

high Shell/command execution in server code (src/ableton_mcp/connection.py)MTC-SRC-002

In the server's implementation (`src/ableton_mcp/connection.py:27`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: result = subprocess.run( ["ip", "route", "show", "default"], capt

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server src/ableton_mcp/connection.py

high Shell/command execution in server code (src/ableton_mcp/tools/export.py)MTC-SRC-002

In the server's implementation (`src/ableton_mcp/tools/export.py:49`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: y: result = subprocess.run( ["cmd.exe", "/c", "where", "ffmpeg"], capture_ou

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server src/ableton_mcp/tools/export.py

Tools 200

Each tool and what it can reach — statically extracted from the published source.

  • application_get_api_versionno sensitive capability
  • application_get_log_levelno sensitive capability
  • application_get_versionno sensitive capability
  • application_reloadno sensitive capability
  • application_set_log_levelno sensitive capability
  • application_show_messageno sensitive capability
  • application_testno sensitive capability
  • browser_generate_local_cacheno sensitive capability
  • browser_list_audio_effectsno sensitive capability
  • browser_list_drumsno sensitive capability
Show 190 more tools ↓
  • browser_list_instrumentsno sensitive capability
  • browser_list_midi_effectsno sensitive capability
  • browser_list_pack_contentsno sensitive capability
  • browser_list_packsno sensitive capability
  • browser_list_soundsno sensitive capability
  • browser_load_itemno sensitive capability
  • browser_scan_packs_from_diskno sensitive capability
  • browser_searchno sensitive capability
  • browser_search_and_loadno sensitive capability
  • browser_search_by_typeno sensitive capability
  • browser_search_in_packsno sensitive capability
  • clip_add_notesno sensitive capability
  • clip_duplicate_loopno sensitive capability
  • clip_fireno sensitive capability
  • clip_get_colorno sensitive capability
  • clip_get_color_indexno sensitive capability
  • clip_get_end_markerno sensitive capability
  • clip_get_end_timeno sensitive capability
  • clip_get_file_pathno sensitive capability
  • clip_get_gainno sensitive capability
  • clip_get_has_grooveno sensitive capability
  • clip_get_is_audio_clipno sensitive capability
  • clip_get_is_midi_clipno sensitive capability
  • clip_get_is_overdubbingno sensitive capability
  • clip_get_is_playingno sensitive capability
  • clip_get_is_recordingno sensitive capability
  • clip_get_launch_modeno sensitive capability
  • clip_get_launch_quantizationno sensitive capability
  • clip_get_legatono sensitive capability
  • clip_get_lengthno sensitive capability
  • clip_get_loop_endno sensitive capability
  • clip_get_loop_startno sensitive capability
  • clip_get_loopingno sensitive capability
  • clip_get_mutedno sensitive capability
  • clip_get_nameno sensitive capability
  • clip_get_notesno sensitive capability
  • clip_get_pitch_coarseno sensitive capability
  • clip_get_pitch_fineno sensitive capability
  • clip_get_playing_positionno sensitive capability
  • clip_get_positionno sensitive capability
  • clip_get_ram_modeno sensitive capability
  • clip_get_sample_lengthno sensitive capability
  • clip_get_start_markerno sensitive capability
  • clip_get_start_timeno sensitive capability
  • clip_get_velocity_amountno sensitive capability
  • clip_get_warp_modeno sensitive capability
  • clip_get_warpingno sensitive capability
  • clip_get_will_record_on_startno sensitive capability
  • clip_remove_notesno sensitive capability
  • clip_set_colorno sensitive capability
  • clip_set_color_indexno sensitive capability
  • clip_set_end_markerno sensitive capability
  • clip_set_end_timeno sensitive capability
  • clip_set_gainno sensitive capability
  • clip_set_launch_modeno sensitive capability
  • clip_set_launch_quantizationno sensitive capability
  • clip_set_legatono sensitive capability
  • clip_set_loop_endno sensitive capability
  • clip_set_loop_startno sensitive capability
  • clip_set_loopingno sensitive capability
  • clip_set_mutedno sensitive capability
  • clip_set_nameno sensitive capability
  • clip_set_pitch_coarseno sensitive capability
  • clip_set_pitch_fineno sensitive capability
  • clip_set_positionno sensitive capability
  • clip_set_ram_modeno sensitive capability
  • clip_set_start_markerno sensitive capability
  • clip_set_start_timeno sensitive capability
  • clip_set_velocity_amountno sensitive capability
  • clip_set_warp_modeno sensitive capability
  • clip_set_warpingno sensitive capability
  • clip_slot_create_clipno sensitive capability
  • clip_slot_delete_clipno sensitive capability
  • clip_slot_duplicate_clip_tono sensitive capability
  • clip_slot_fireno sensitive capability
  • clip_slot_get_has_stop_buttonno sensitive capability
  • clip_slot_get_is_playingno sensitive capability
  • clip_slot_get_is_recordingno sensitive capability
  • clip_slot_get_is_triggeredno sensitive capability
  • clip_slot_has_clipno sensitive capability
  • clip_slot_set_has_stop_buttonno sensitive capability
  • clip_slot_stopno sensitive capability
  • clip_stopno sensitive capability
  • device_get_class_nameno sensitive capability
  • device_get_is_activeno sensitive capability
  • device_get_nameno sensitive capability
  • device_get_num_parametersno sensitive capability
  • device_get_parameter_maxno sensitive capability
  • device_get_parameter_minno sensitive capability
  • device_get_parameter_nameno sensitive capability
  • device_get_parameter_valueno sensitive capability
  • device_get_parameter_value_stringno sensitive capability
  • device_get_parametersno sensitive capability
  • device_get_parameters_is_quantizedno sensitive capability
  • device_get_parameters_maxsno sensitive capability
  • device_get_parameters_minsno sensitive capability
  • device_get_parameters_namesno sensitive capability
  • device_get_parameters_valuesno sensitive capability
  • device_get_typeno sensitive capability
  • device_set_enabledno sensitive capability
  • device_set_is_activeno sensitive capability
  • device_set_parameterno sensitive capability
  • device_set_parameter_valueno sensitive capability
  • device_set_parameters_valuesno sensitive capability
  • export_list_audio_devicesno sensitive capability
  • export_test_audio_captureno sensitive capability
  • midimap_map_ccno sensitive capability
  • scene_fireno sensitive capability
  • scene_fire_as_selectedno sensitive capability
  • scene_fire_selectedno sensitive capability
  • scene_get_colorno sensitive capability
  • scene_get_color_indexno sensitive capability
  • scene_get_is_emptyno sensitive capability
  • scene_get_is_triggeredno sensitive capability
  • scene_get_nameno sensitive capability
  • scene_get_tempono sensitive capability
  • scene_get_tempo_enabledno sensitive capability
  • scene_get_time_signature_denominatorno sensitive capability
  • scene_get_time_signature_enabledno sensitive capability
  • scene_get_time_signature_numeratorno sensitive capability
  • scene_set_colorno sensitive capability
  • scene_set_color_indexno sensitive capability
  • scene_set_nameno sensitive capability
  • scene_set_tempono sensitive capability
  • scene_set_tempo_enabledno sensitive capability
  • scene_set_time_signature_denominatorno sensitive capability
  • scene_set_time_signature_enabledno sensitive capability
  • scene_set_time_signature_numeratorno sensitive capability
  • song_can_redono sensitive capability
  • song_can_undono sensitive capability
  • song_clear_all_tracksno sensitive capability
  • song_continue_playingno sensitive capability
  • song_create_audio_trackno sensitive capability
  • song_create_midi_trackno sensitive capability
  • song_create_return_trackno sensitive capability
  • song_create_sceneno sensitive capability
  • song_delete_return_trackno sensitive capability
  • song_delete_sceneno sensitive capability
  • song_delete_trackno sensitive capability
  • song_duplicate_sceneno sensitive capability
  • song_duplicate_trackno sensitive capability
  • song_executeno sensitive capability
  • song_execute_infono sensitive capability
  • song_export_audiono sensitive capability
  • song_get_arrangement_overdubno sensitive capability
  • song_get_beatno sensitive capability
  • song_get_clip_trigger_quantizationno sensitive capability
  • song_get_current_song_timeno sensitive capability
  • song_get_duration_secondsno sensitive capability
  • song_get_groove_amountno sensitive capability
  • song_get_is_playingno sensitive capability
  • song_get_loopno sensitive capability
  • song_get_loop_lengthno sensitive capability
  • song_get_loop_startno sensitive capability
  • song_get_metronomeno sensitive capability
  • song_get_midi_recording_quantizationno sensitive capability
  • song_get_num_scenesno sensitive capability
  • song_get_num_tracksno sensitive capability
  • song_get_punch_inno sensitive capability
  • song_get_punch_outno sensitive capability
  • song_get_record_modeno sensitive capability
  • song_get_session_recordno sensitive capability
  • song_get_session_record_statusno sensitive capability
  • song_get_signature_denominatorno sensitive capability
  • song_get_signature_numeratorno sensitive capability
  • song_get_song_lengthno sensitive capability
  • song_get_tempono sensitive capability
  • song_jump_byno sensitive capability
  • song_playno sensitive capability
  • song_redono sensitive capability
  • song_set_arrangement_overdubno sensitive capability
  • song_set_clip_trigger_quantizationno sensitive capability
  • song_set_current_song_timeno sensitive capability
  • song_set_groove_amountno sensitive capability
  • song_set_loopno sensitive capability
  • song_set_loop_lengthno sensitive capability
  • song_set_loop_startno sensitive capability
  • song_set_metronomeno sensitive capability
  • song_set_midi_recording_quantizationno sensitive capability
  • song_set_punch_inno sensitive capability
  • song_set_punch_outno sensitive capability
  • song_set_record_modeno sensitive capability
  • song_set_session_recordno sensitive capability
  • song_set_signature_denominatorno sensitive capability
  • song_set_signature_numeratorno sensitive capability
  • song_set_tempono sensitive capability
  • song_stopno sensitive capability
  • song_tap_tempono sensitive capability
  • song_trigger_session_recordno sensitive capability
  • song_undono sensitive capability

What this scan could not see

Versions 1

Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.

VersionScoreFindingsEngineScanned
v0.1.0 latest A 93/100 2 1.13.0 2026-08-25

Embed this score

Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.

MCP Trust Score: A · 93/100
Markdown (GitHub README)
[![MCP Trust Score](https://mcptrustchecker.com/registry/ableton-mcp-server/badge.svg)](https://mcptrustchecker.com/registry/ableton-mcp-server)
HTML
<a href="https://mcptrustchecker.com/registry/ableton-mcp-server"><img src="https://mcptrustchecker.com/registry/ableton-mcp-server/badge.svg" alt="MCP Trust Score" height="20"></a>
Prefer shields.io styling? Point it at https://mcptrustchecker.com/registry/ableton-mcp-server/badge.json via https://img.shields.io/endpoint?url=…

Verify this score yourself

The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.

npx mcptrustchecker scan ableton-mcp-server --online --registry pypi

Use the free API → How scoring works

Other implementations of Ableton 1

Independent packages implementing the same tool, scanned with the same engine. Compare all 2 side by side →

More in Design & Media