Ableton MCP Extended (thomas0barand/ableton-mcp-expanded) is an MCP server listed on the M8ven Trust Index. It scores 54 out of 100, grade D. It declares 38 tools. No publisher has claimed this listing.
Control Ableton Live using natural language via AI assistants like Claude or Cursor.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
thomas0barand
Source: Glama
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
get_session_infoGet detailed information about the current Ableton session
get_track_infoGet detailed information about a specific track in Ableton. Parameters: - track_index: The index of the track to get information about
create_midi_trackCreate a new MIDI track in the Ableton session. Parameters: - index: The index to insert the track at (-1 = end of list)
set_track_nameSet the name of a track. Parameters: - track_index: The index of the track to rename - name: The new name for the track
create_clipCreate a new MIDI clip in the specified track and clip slot. Parameters: - track_index: The index of the track to create the clip in - clip_index: The index of the clip slot to create the clip in - length: The length of the clip in beats (default: 4.0)
add_notes_to_clipAdd MIDI notes to a clip. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip slot containing the clip - notes: List of note dictionaries, each with pitch, start_time, duration, velocity, and mute
set_clip_nameSet the name of a clip. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip slot containing the clip - name: The new name for the clip
set_tempoSet the tempo of the Ableton session. Parameters: - tempo: The new tempo in BPM
load_instrument_or_effectLoad an instrument or effect onto a track using its URI. Parameters: - track_index: The index of the track to load the instrument on - uri: The URI of the instrument or effect to load (e.g., 'query:Synths#Instrument%20Rack:Bass:FileId_5116')
fire_clipStart playing a clip. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip slot containing the clip
stop_clipStop playing a clip. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip slot containing the clip
start_playbackStart playing the Ableton session.
stop_playbackStop playing the Ableton session.
get_browser_treeGet a hierarchical tree of browser categories from Ableton. Parameters: - category_type: Type of categories to get ('all', 'instruments', 'sounds', 'drums', 'audio_effects', 'midi_effects')
get_browser_items_at_pathGet browser items at a specific path in Ableton's browser. Parameters: - path: Path in the format "category/folder/subfolder" where category is one of the available browser categories in Ableton
load_drum_kitLoad 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: The URI of the drum rack to load (e.g., 'Drums/Drum Rack') - kit_path: Path to the drum kit inside the browser (e.g., 'drums/acoustic/kit1')
get_device_parametersGet detailed information about all parameters for a specific device on a track. Parameters: - track_index: The index of the track containing the device - device_index: The index of the device on the track
set_device_parameterSet a single device parameter value using normalized values (0.0 to 1.0). Parameters: - track_index: The index of the track containing the device - device_index: The index of the device on the track - parameter_index: The index of the parameter to set - value: Normalized value between 0.0 and 1.0 (0…
batch_set_device_parametersSet multiple device parameters at once using normalized values (0.0 to 1.0). This is more efficient than setting parameters individually. Parameters: - track_index: The index of the track containing the device - device_index: The index of the device on the track - parameter_indices: List of paramete…
text_to_speechConvert text to speech with a given voice and save the output audio file to a given directory. Only one of voice_id or voice_name can be provided. If none are provided, the default voice will be used. For importing audio files into an Ableton session, pass "query:UserLibrary#eleven_labs_audi…
speech_to_textTranscribe speech from an audio file and either save the output text file to a given directory or return the text to the client directly. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user. Args: file_pat…
text_to_sound_effectsConvert text description of a sound effect to sound effect with a given duration and save the output audio file to a given directory. Directory is optional, if not provided, the output file will be saved to $HOME/Desktop. Duration must be between 0.5 and 5 seconds. For importing audio fi…
search_voicesSearch for existing voices, a voice that has already been added to the user's ElevenLabs voice library. Searches in name, description, labels and category. Args: search: Search term to filter voices by. Searches in name, description, labels and category. sort: Which field t…
get_voiceGet details of a specific voice
voice_cloneClone a voice using provided audio files. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
isolate_audioIsolate audio from a file and save the output audio file to a given directory. Directory is optional, if not provided, the output file will be saved to $HOME/Desktop. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the …
check_subscriptionCheck the current subscription status. Could be used to measure the usage of the API.
create_agentCreate a conversational AI agent with custom configuration. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user. Args: name: Name of the agent first_message: First message the agent will say i.e. "…
add_knowledge_base_to_agentAdd a knowledge base to ElevenLabs workspace. Allowed types are epub, pdf, docx, txt, html. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user. Args: agent_id: ID of the agent to add the knowledge base to…
list_agentsList all available conversational AI agents
get_agentGet details about a specific conversational AI agent
speech_to_speechTransform audio from one voice to another using provided audio files. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
text_to_voiceCreate voice previews from a text prompt. Creates three previews with slight variations. Saves the previews to a given directory. If no text is provided, the tool will auto-generate text. Voice preview files are saved as: voice_design_(generated_voice_id)_(timestamp).mp3 Example file name:…
create_voice_from_previewAdd a generated voice to the voice library. Uses the voice ID from the `text_to_voice` tool. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
make_outbound_callMake an outbound call via Twilio using an ElevenLabs agent. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user. Args: agent_id: The ID of the agent that will handle the call agent_phone_number_id:…
search_voice_librarySearch for a voice across the entire ElevenLabs voice library. Args: page: Page number to return (0-indexed) page_size: Number of voices to return per page (1-100) search: Search term to filter voices by Returns: TextContent containing information ab…
list_phone_numbersList all phone numbers associated with the ElevenLabs account
play_audioPlay an audio file. Supports WAV and MP3 formats.
ELEVENLABS_API_KEY"": "your-api-key-here"ELEVENLABS_MCP_BASE_PATHXDG_CONFIG_HOMETool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
38/38 tools missing one or more hints — get_session_info (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_track_info (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); create_midi_track (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +35 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Descriptions match behaviour
2 tools describe read intent but their handlers mutate — text_to_speech (line 114: with open(output_path / output_file_name, "wb") as f:); text_to_sound_effects (line 208: with open(output_path / output_file_name, "wb") as f:)
Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.
Tool inputs are validated
32/38 tool handlers declare input schemas (84%)
Declare an inputSchema with zod/joi/yup on every tool definition.
Tool handlers catch errors
19/38 tool handlers wrap calls in try/catch (50%)
Wrap each tool handler body in try/catch and return a structured error response.
Tests exist
No test files found
Add tests that exercise each declared tool.
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/thomas0barand/ableton-mcp-expanded)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check