Library & Data
Library tools
Section titled “Library tools”read_library no params
Section titled “read_library ”Returns a library summary: track count, genre distribution, average BPM, key distribution, and rating breakdown.
search_tracks
Section titled “search_tracks”Search and filter tracks. All parameters are optional — combine any set of filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Free-text search matching title or artist | |
artist | string | Filter by artist (partial match) | |
genre | string | Filter by genre (partial match) | |
rating_min | integer | Minimum star rating (1-5) | |
bpm_min | number | Minimum BPM | |
bpm_max | number | Maximum BPM | |
key | string | Filter by musical key (e.g., "Am") | |
has_genre | boolean | Filter by whether track has a genre set | |
has_label | boolean | Filter by whether track has a label set | |
year_zero | boolean | Filter to tracks with year = 0 (unset) | |
label | string | Filter by label (partial match) | |
path | string | Filter by file path/folder (substring) | |
path_prefix | string | Require file path starts with this prefix | |
added_after | string | ISO date — tracks added on or after | |
added_before | string | ISO date — tracks added on or before | |
playlist | string | Filter by playlist ID | |
include_samples | boolean | Include Rekordbox factory samples (default: false) | |
limit | integer | Max results (default: 50, max: 200) | |
offset | integer | Skip first N results for pagination |
Factory sample tracks are excluded by default. Set include_samples: true to include them.
get_track
Section titled “get_track”Get full details for a single track by ID. Returns Rekordbox metadata only — use resolve_track_data for enrichment and audio analysis data.
| Parameter | Type | Required | Description |
|---|---|---|---|
track_id | string | yes | Track ID |
get_playlists no params
Section titled “get_playlists ”List all playlists with track counts. Returns the full playlist tree including folders and smart playlists.
get_playlist_tracks
Section titled “get_playlist_tracks”List tracks in a specific playlist, in playlist order.
| Parameter | Type | Required | Description |
|---|---|---|---|
playlist_id | string | yes | Playlist ID |
limit | integer | Max results (default: 200) |
Play history tools
Section titled “Play history tools”get_sessions
Section titled “get_sessions”List recent DJ sessions from Rekordbox play history. Returns session ID, name, date, track count, and estimated wall-clock duration.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | Max sessions to return (default: 20, max: 100) | |
after | string | Only sessions on or after this ISO date (e.g., "2024-01-01") |
Duration is estimated from the timestamp span of tracks in the session plus the last track’s length. Returns null for single-track sessions.
get_session_tracks
Section titled “get_session_tracks”Get the ordered track list for a specific DJ session. Each track includes a played_at timestamp showing when it was loaded during the session.
| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | string | yes | Session ID from get_sessions |
get_play_stats
Section titled “get_play_stats”Get per-track play statistics scoped by shared search filters. Shows play counts, last played dates, and which sessions each track appeared in.
| Parameter | Type | Required | Description |
|---|---|---|---|
include_unplayed | boolean | Also return tracks matching filters that have never been played (default: false) | |
limit | integer | Max results (default: 200, max: 500) |
Results are ordered by play count descending. When include_unplayed is true, unplayed tracks are appended after played tracks (ordered by title).
Data resolution tools
Section titled “Data resolution tools”Return locally-cached data without external API calls or analysis.
resolve_track_data
Section titled “resolve_track_data”Return all cached enrichment, audio analysis, and staged changes for one track.
| Parameter | Type | Required | Description |
|---|---|---|---|
track_id | string | yes | Track ID |
resolve_tracks_data
Section titled “resolve_tracks_data”Batch version of resolve_track_data. Accepts shared search filters to scope which tracks to resolve.
| Parameter | Type | Required | Description |
|---|---|---|---|
track_ids | string[] | Specific track IDs (highest priority selector) | |
playlist_id | string | Resolve tracks in this playlist | |
max_tracks | integer | Max tracks to return (default: 50) | |
format | string | "full" (default) or "classification" |
The "classification" format returns a compact payload (~400-500 bytes/track vs 2-4KB) with only genre classification fields: mapped Discogs genres/styles, Beatport genre, audio features, and completeness flags.
cache_coverage
Section titled “cache_coverage”Report cache completeness for a track scope. Accepts shared search filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
track_ids | string[] | Specific track IDs | |
playlist_id | string | Check tracks in this playlist | |
max_tracks | integer | Max tracks to check (default: unbounded) |
Returns per-provider cached counts/percentages and gap counts.