Ableton Live integration through the Model Context Protocol with ElevenLabs and extended features
61 tools with significant quality gaps. Most tools (55/61) lack complete input schemas, many show empty {} or missing parameter definitions entirely. Descriptions are present but generic (avg ~80 chars, well below 194-char baseline). No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Output schemas undocumented. Error handling absent. Tools 7, 8, 10, 11, 12, 16-21, 32-38, 40-42, 49-61 have {} input schemas with no visible parameter definitions. Naming is verb-first and clear (get_, set_, create_, etc.), which is the only strong dimension.
Add notes to a MIDI clip.
Analyze a rendered audio file for loudness and peaks.
Append a browser item to a track-like device chain.
Append a stock mastering chain to a track-like bus.
Return playback to the arrangement.
Create an audio track.
Create a MIDI clip in a clip slot.
55 of 61 tools have empty or missing input schemas ({}). This prevents LLMs from understanding parameter constraints, types, and required fields.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | <=2025-11-25 | v2 |
Create a MIDI track.
Route tracks through a premaster track when the bus can be verified safely.
Delete a device from a track-like bus.
Compare the repo Remote Script, the installed Ableton script, and the live socket capabilities.
Create or reuse a premaster track.
Render the opened Ableton set through the macOS export dialog and validate the file.
Find devices on a track-like bus by name.
Find tracks whose names look like references.
Find a track by exact name.
Start a clip.
Summarize arrangement clip extents and song length.
List browser items at a specific path.
Browse the top-level Ableton browser tree.
List parameters for a device on a track.
Get the current master output meter values.
Get the current session tempo, signature, and track counts.
Get lightweight device metadata for one track, return, or the master bus.
Get detailed information about one track, return, or the master bus.
Get the current input routing for a regular track.
Get the current output meter values for a track-like bus.
Get the current monitoring state for a regular track.
Get the current routing for one track-like bus.
Get transport state and arrangement export readiness.
Get details of a specific voice.
List the session clips that are currently active.
List tracks with stable metadata.
Load an audio file into a clip slot.
Load a drum rack and a drum kit.
Load a browser item onto a track.
Apply a stock mastering chain to the opened set, export it on macOS, and validate the result.
Place a session clip into the arrangement.
Resolve the permitted mastering source and report source provenance.
Sample the master meter and report peak values.
Sample a track, return, or master meter and report peak values.
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.
Rename a clip.
Set a device parameter value.
Set the session tempo.
Set a track input routing target.
Set the monitoring state for a regular track.
Rename a track.
Set a track output routing target.
Set a track pan value.
Set a track volume value.
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_path: Path to the audio file to transcribe language_code: ISO 639-3 language code for transcription (default: "eng" for English) diarize: Whether to diarize the audio file. If True, which speaker is currently speaking will be annotated in the transcription. save_transcript_to_file: Whether to save the transcript to a file. return_transcript_to_client_directly: Whether to return the transcript to the client directly. output_directory: Directory where files should be saved. Defaults to $HOME/Desktop if not provided.
Start session playback.
Stop all session clips.
Stop a clip.
Stop session playback.
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 files into an Ableton session, pass "query:UserLibrary#eleven_labs_audio:filename.mp3" on "uri" parameter for the "import_audio_file" Ableton MCP tool. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs. Only use when explicitly requested by the user.
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_audio:filename.mp3" on "uri" parameter for the "import_audio_file" Ableton MCP tool. ⚠️ COST WARNING: This tool makes an API call to ElevenLabs which may incur costs.
Wait for a rendered audio file, validate that it contains audible program material, and preview the loudest section.
Check whether arrangement export is safe.
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.
No tool annotations present. Tools lack readOnlyHint, destructiveHint, or idempotentHint metadata. This prevents agents from understanding side effects and retry safety. E.g., delete_device (DESTRUCTIVE) and set_track_volume (WRITE) should be annotated.
Output schemas undocumented. No tool describes what fields it returns or the structure of responses. LLMs cannot plan downstream tool calls or extract required IDs for chaining (e.g., track_id from list_tracks for use in get_track_info).
Descriptions are generic and brief (avg ~80 chars, baseline 194). Many lack context on WHEN to use the tool or what it returns. E.g., 'Get the current session tempo, signature, and track counts' is clear, but 'List tracks with stable metadata' does not explain what 'stable' means or when to call it.
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. E.g., 'Track not found' should suggest calling list_tracks() or find_track_by_name().