rekordbox-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_tracksB | Search tracks in the rekordbox database. Args: query: General search query (searches across multiple fields) artist: Filter by artist name title: Filter by track title genre: Filter by genre key: Filter by musical key (e.g., "5A", "12B") bpm_min: Minimum BPM bpm_max: Maximum BPM rating_min: Minimum rating (0-5) limit: Maximum number of results to return Returns: List of matching tracks with metadata |
| get_track_detailsB | Get detailed information about a specific track. Args: track_id: The unique track identifier Returns: Detailed track information including metadata, cue points, and play history |
| get_tracks_by_keyC | Get all tracks in a specific musical key. Args: key: Musical key (e.g., "5A", "12B") Returns: List of tracks in the specified key |
| get_tracks_by_bpm_rangeB | Get tracks within a specific BPM range. Args: bpm_min: Minimum BPM bpm_max: Maximum BPM Returns: List of tracks within the BPM range |
| get_most_played_tracksC | Get the most played tracks in the library. Args: limit: Maximum number of tracks to return Returns: List of most played tracks |
| get_top_rated_tracksB | Get the highest rated tracks in the library. Args: limit: Maximum number of tracks to return Returns: List of top rated tracks |
| get_unplayed_tracksB | Get tracks that have never been played. Args: limit: Maximum number of tracks to return Returns: List of unplayed tracks |
| get_track_file_pathB | Get the file system path for a specific track. Args: track_id: The unique track identifier Returns: Dictionary containing file path information |
| search_tracks_by_filenameB | Search for tracks by filename. Args: filename: Filename to search for (partial match) Returns: List of tracks matching the filename |
| analyze_libraryB | Analyze library with grouping and aggregation. Args: group_by: Field to group by (genre, key, year, artist, rating) aggregate_by: Aggregation method (count, playCount, totalTime) top_n: Number of top results to return Returns: Analysis results |
| validate_track_idsC | Validate a list of track IDs and show which are valid/invalid. Args: track_ids: List of track IDs to validate Returns: Validation results with valid and invalid IDs |
| get_playlistsB | Get all playlists from the rekordbox database. Returns: List of playlists with metadata |
| get_playlist_tracksC | Get all tracks in a specific playlist. Args: playlist_id: The unique playlist identifier Returns: List of tracks in the playlist |
| get_library_statsB | Get comprehensive library statistics. Returns: Dictionary containing various library statistics |
| connect_databaseB | Connect to the rekordbox database. Args: database_path: Optional path to database directory. If not provided, auto-detection is used. Returns: Connection status message |
| get_history_sessionsB | Get DJ history sessions from rekordbox. Args: include_folders: Whether to include folder entries (years/months) limit: Maximum number of sessions to return Returns: List of history sessions with metadata |
| get_session_tracksB | Get all tracks from a specific DJ history session. Args: session_id: The session's unique identifier Returns: List of tracks in the session with performance context |
| get_recent_sessionsB | Get recent DJ history sessions within the specified number of days. Args: days: Number of days to look back (default: 30) Returns: List of recent history sessions |
| get_history_statsB | Get comprehensive statistics about DJ history sessions. Returns: Statistics about all history sessions including totals and trends |
| search_history_sessionsB | Search DJ history sessions with various filters. Args: query: Search query for session names year: Filter by year (e.g., "2025") month: Filter by month (e.g., "08" for August) min_tracks: Minimum number of tracks in session limit: Maximum number of results Returns: List of matching history sessions |
| create_playlistA | Create a new playlist in rekordbox. ⚠️ CAUTION: This modifies your rekordbox database! Args: name: Name for the new playlist parent_id: Optional parent folder ID (omit for root level) Returns: Information about the created playlist |
| add_tracks_to_playlistA | Add multiple tracks to an existing playlist in one operation. ⚠️ CAUTION: This modifies your rekordbox database! Args: playlist_id: ID of the playlist to modify track_ids: List of track IDs to add Returns: Detailed results of the batch operation |
| add_track_to_playlistA | Add a track to an existing playlist. ⚠️ CAUTION: This modifies your rekordbox database! Args: playlist_id: ID of the playlist to modify track_id: ID of the track to add Returns: Result of the operation |
| remove_track_from_playlistA | Remove a track from a playlist. ⚠️ CAUTION: This modifies your rekordbox database! Args: playlist_id: ID of the playlist to modify track_id: ID of the track to remove Returns: Result of the operation |
| delete_playlistA | Delete a playlist from rekordbox. ⚠️ DANGER: This permanently deletes a playlist and cannot be undone! Args: playlist_id: ID of the playlist to delete Returns: Result of the operation |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| database_status | Get the current database connection status. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/davehenke/rekordbox-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server