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.

D
Caution
54/100

Ableton MCP Extended

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

⚡ Live Monitored: not connected

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

Is this your MCP?

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.

// key findings
⚠️
Tool descriptions don’t match what handlers do
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:)
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 1 credential: ELEVENLABS_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes38 tools

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_info

Get detailed information about the current Ableton session

get_track_info

Get detailed information about a specific track in Ableton. Parameters: - track_index: The index of the track to get information about

create_midi_track

Create a new MIDI track in the Ableton session. Parameters: - index: The index to insert the track at (-1 = end of list)

set_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

create_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 - 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_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 slot containing the clip - notes: List of note dictionaries, each with pitch, start_time, duration, velocity, and mute

set_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 slot containing the clip - name: The new name for the clip

set_tempo

Set the tempo of the Ableton session. Parameters: - tempo: The new tempo in BPM

load_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 - uri: The URI of the instrument or effect to load (e.g., 'query:Synths#Instrument%20Rack:Bass:FileId_5116')

fire_clip

Start 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_clip

Stop 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_playback

Start playing the Ableton session.

stop_playback

Stop playing the Ableton session.

get_browser_tree

Get 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_path

Get 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_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: 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_parameters

Get 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_parameter

Set 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_parameters

Set 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_speech

Convert 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_text

Transcribe 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_effects

Convert 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_voices

Search 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_voice

Get details of a specific voice

voice_clone

Clone 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_audio

Isolate 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_subscription

Check the current subscription status. Could be used to measure the usage of the API.

create_agent

Create 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_agent

Add 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_agents

List all available conversational AI agents

get_agent

Get details about a specific conversational AI agent

speech_to_speech

Transform 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_voice

Create 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_preview

Add 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_call

Make 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_library

Search 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_numbers

List all phone numbers associated with the ElevenLabs account

play_audio

Play an audio file. Supports WAV and MP3 formats.

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
🔐 secretELEVENLABS_API_KEY"": "your-api-key-here"
configELEVENLABS_MCP_BASE_PATH
configXDG_CONFIG_HOME
// quality suggestions

Tool 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.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/thomas0barand/ableton-mcp-expanded?variant=verified)](https://m8ven.ai/mcp/thomas0barand/ableton-mcp-expanded)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 655bd32bacb209c5f797dcba5226a97001cd5ed3
code hash: 11f69e9bc339e732241fb0c3695ae8899f95dda6f6475f87663f6b773cae2d6c
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

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
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client