All read-only tools. Always part of the connection.
playlists:write
Create and edit playlists
Allow creating and editing playlists
Suggestions for playlists, smartlists and sets, deleting, export and import
edit_tracks
Edit tracks – changes only after your confirmation in Sonodex
Assistants may propose changes
Suggestions for metadata, covers, tags, cues and beatgrids, duplicates, files and edited audio copies
library:read + switch
Read library
Assistants may control the player
Control the preview player; declined without the switch
Via the account, a tool call that changes something needs both: the permission on the sign-in page and the switch in Sonodex. Without Pro, the tools remain visible, but every call only returns a note about the plan. All tools that change something additionally accept dryRun (preview only) and, where they have a target, expectedVersion; see Confirm changes.
Call first: Sonodex version and connection, granted permissions and switches, available tool families with reasons, whether a tool needs your confirmation, editable fields per file format, export formats and limits
library:read
list_pending_changes
Your own suggestions still awaiting confirmation
library:read
get_change_history
Completed suggestions of your own with timestamps and whether they can still be undone
library:read
cancel_pending_change
Withdraws one of your own open suggestions; changes nothing
playlists:write or edit_tracks
undo_operation
Proposes undoing one of your own applied suggestions in one step, as long as it is the latest change
Builds a set for a target length (5 to 720 minutes): tempo progression from start to end BPM, energy curve, harmonic by default (Camelot), optionally genres, source playlist, exclusions and required tracks; with roles, start times and notes for each transition. Saves nothing.
library:read
analyze_transition
Rates a transition from 0 to 100 by BPM (including half/double), key, energy and genre, with a mixing tip
library:read
analyze_set_transitions
Rates every transition in a playlist or track list, names the weakest ones and replacement or bridge tracks
library:read
optimize_track_order
Proposes an order with better transitions, with the score before and after; opener and closer can be fixed. Saves nothing.
library:read
analyze_dj_set
Analyses a set (playlist or up to 500 tracks) as played: real length with transitions (default 16 bars), start time per track, BPM, key and energy curve, difficult transitions, repeats, missing metadata and recommendations
library:read
save_set_as_playlist
Proposes saving a set (2 to 500 tracks) in Sonodex, with total duration and transition scores
Proposes inserting tracks at a position (default: at the end); existing ones are skipped
playlists:write
remove_tracks_from_playlist
Proposes removing tracks from a playlist; they stay in the library
playlists:write
reorder_playlist
Proposes a new, complete order
playlists:write
rename_playlist
Proposes a new name for a playlist, smartlist or set
playlists:write
duplicate_playlist
Proposes a copy in the same folder (default name “<Name> (Copy)”)
playlists:write
optimize_playlist
Proposes the order with the best transitions for a playlist with 3 to 250 tracks
playlists:write
delete_playlist
Proposes deleting a playlist, smartlist or set; in the dialogue the extra tick “Confirm playlist deletion” is also required. Tracks stay in the library; one undo step
A smartlist’s rules in words and in the rule format, with match count and the first 20 tracks
library:read
create_smart_playlist
Proposes a new smartlist from rules; the preview shows how many tracks match
playlists:write
update_smart_playlist
Proposes new rules and/or a new name; the new rules replace all previous ones
playlists:write
The rule format: match “all” (default, all criteria) or “any” (one is enough), plus bpm, energy (1–10) and year as a range with min/max, genres (exact names), keys (Camelot, Open Key or musical notation), compatibleWith (a key and its harmonic Camelot neighbours), tags with any, all or none and ratingMin (1–5). With “all”, at most five values per list.
Health check with figures and first findings per category: duplicates, missing metadata and covers, suspicious BPM, inconsistent genres, missing files, formats DJ devices may not load, missing key, broken text; each with a suggested fix
library:read
find_duplicate_tracks
Duplicate groups by audio, fingerprint or artist/title/version with the same length, with a recommendation on which copy to keep
library:read
find_missing_metadata
Tracks with empty fields and a count per field
library:read
validate_track_files
Checks files now: present, readable, not empty, size changed, content matches the extension; changes nothing
Proposes tags from the DJ vocabulary, each with confidence and reason; does not repeat existing tags
library:read
analyze_track_mood
Mood sketch of a track from metadata: energy, major/minor, intensity, vocals, energy curve, drops; not a listening test
library:read
list_untagged_tracks
Tracks without tags or without a tag from the DJ vocabulary
library:read
batch_tag_tracks
Proposes adding or removing tags for up to 500 tracks; other tags remain
edit_tracks
The DJ vocabulary has 12 tags: Warmup, Buildup, Peak Time, Closing, Euphoric, Dark, Bouncy, Vocal, Driving, Melodic, Aggressive, High Energy. You can add these or tags your library already uses.
Stored analysis with origin and confidence: BPM, key, energy, quality values, beats, sections, energy curve, waveform; loudness (LUFS, loudness range, true peak) is measured in the background when needed
library:read
get_analysis_job
Status of a background measurement (loudness, beatgrid check); waits up to 20 seconds if you wish
library:read
get_track_cue_points
All cues of a track: hot cues A–P, memory cues and loops with position, bar, label, colour and origin
library:read
generate_cue_point_suggestions
Cue suggestions for up to 20 tracks with reasons, at section starts and bars of the beatgrid or via cue template and cue profile
library:read
get_track_beatgrid
The stored beatgrid: tempo, first beat and downbeat, tempo sections, protected or not, origin
library:read
analyze_beatgrid
Measures how well the grid fits: offset, drift, half or double tempo, hints about bar 1
library:read
analyze_transition_detail
Plans a transition: mix-out and mix-in ranges with phrases, overlap, tempo adjustment and transition type with reasons
library:read
prepare_track_for_djing
Preparation report as a checklist for a track; read-only
library:read
propose_track_preparation
Proposes the cues and the measured grid correction from the report as a single shared suggestion
edit_tracks
add_cue_point
Proposes a new hot cue, memory cue or loop, at a time or a bar
edit_tracks
update_cue_point
Proposes moving or changing a cue
edit_tracks
delete_cue_point
Proposes deleting a cue
edit_tracks
apply_cue_suggestions
Turns cue suggestions (all or some) into a suggestion; existing cues are kept
edit_tracks
update_track_beatgrid
Proposes a beatgrid change (tempo, first beat, downbeat, beat count, tempo sections); protected grids are declined
Renders a shortened copy with optional fades, cut on beats
edit_tracks
adjust_audio_tempo
Renders a copy at the new tempo (factor 0.8 to 1.25), pitch is kept
edit_tracks
transpose_audio
Renders a copy shifted by −6 to +6 semitones, tempo is kept
edit_tracks
normalize_audio
Renders a copy normalised to −14 to −6 LUFS
edit_tracks
render_audio_edit
Renders several of these steps in one copy
edit_tracks
get_render_job
Status of a render; when finished, with the ID of the suggestion
library:read
cancel_render_job
Cancels your own running render without asking; the partial file is deleted
edit_tracks
get_available_stems
Lists stem files already on disk (file names only)
library:read
separate_audio_stems
Not available: always responds with unsupported_operation (reason stem_engine_missing)
edit_tracks
export_audio_stems
Not available: always responds with unsupported_operation (reason stem_engine_missing)
edit_tracks
Every render ends in a suggestion with a preview; on confirmation, a new file is added as a new track and the original stays unchanged. More under Player & audio editing.
workflow_start, workflow_status, workflow_propose and workflow_preview plan cues for up to 200 tracks with a template and change nothing; workflow_apply and workflow_undo apply or undo a checked cue suggestion, only with “Allow applying cue suggestions”. See Local MCP server.
“Which tracks between 124 and 128 BPM in 8A do I have?”
Set builder
“Build me a 60-minute hard trance set from 145 to 160 BPM, harmonic, and save it as a playlist.” The assistant builds the set, checks the transitions, shows it to you and, once you give the OK, proposes saving it; you confirm in Sonodex.
Transitions
“Check the transitions in my playlist ‘Saturday’ and suggest a better order.”
Playlists
“Insert these five tracks at position 3 of the playlist ‘Warm-up’.”
Smart playlists
“Create a smartlist: 124 to 128 BPM, House or Tech House, energy 6 or higher, without the tag Warmup.”
Metadata & cover
“Set the label to ‘Night Drive Records’ for all tracks in the playlist ‘Promo October’.” or “Use this image as the cover for the three versions of ‘Glue’.”
Library check
“Check my library for duplicates, missing covers and suspicious BPM.”
Statistics
“Which tracks have I played most often in the last three months?”
Tags
“Suggest tags for my untagged tracks and assign them if I agree.”
DJ preparation
“Check the beatgrid of ‘Coastline’ and set hot cues on the intro, drop and outro.” or “How do I mix from ‘Warehouse Jack’ into ‘Coastline’?”
Set analysis
“How long does my playlist ‘Saturday’ really run, and where are the hardest transitions?”
Library maintenance
“Merge the duplicates of ‘Glue’.” or “Which files are missing, and can you find them again?”
Export & import
“Export the playlist ‘Saturday’ as M3U8.” or “Create a playlist from this track list.”
Player
“Play me the transition from ‘Velvet Room’ into ‘Coastline’.”
Audio editing
“Make an intro edit of ‘Glasshouse’ and normalise it to −9 LUFS.”
Proposals
“Which changes are still waiting for me? Withdraw the last suggestion.”
Something missing or wrong? Let us know. The app interface is available in English and German.