Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DATABASE_PATHNoOptional custom database path. If not provided, auto-detection is used.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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_detailsA

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_keyA

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_rangeA

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_genre_filepathsA

Get filepaths for all tracks matching a genre.

This tool is optimized for token efficiency - returns only filepaths. Useful for creating export scripts for selective library exports.

Args: genre: Genre term to search for (case-insensitive substring match)

Returns: List of absolute filepaths for matching tracks

get_most_played_tracksA

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_tracksA

Get the highest rated tracks in the library.

Args: limit: Maximum number of tracks to return

Returns: List of top rated tracks

get_unplayed_tracksA

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_filenameA

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_idsB

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_playlistsA

Get all playlists from the rekordbox database.

Returns: List of playlists with metadata

get_playlist_tracksA

Get all tracks in a specific playlist.

Args: playlist_id: The unique playlist identifier

Returns: List of tracks in the playlist

get_library_statsC

Get comprehensive library statistics.

Returns: Dictionary containing various library statistics

connect_databaseA

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_sessionsA

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_tracksA

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_sessionsA

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 or folder in rekordbox.

⚠️ CAUTION: This modifies your rekordbox database!

Args: name: Name for the new playlist or folder parent_id: Optional parent folder ID (omit for root level) is_folder: If True, create as a folder that can contain other playlists

Returns: Information about the created playlist or folder

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_playlistB

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

import_trackA

Import a single audio file into the rekordbox library.

⚠️ CAUTION: This modifies your rekordbox database — rekordbox must be closed.

The track is added as unanalyzed; open rekordbox and run "Analyze Tracks" to generate waveforms, beatgrids, and hot cues.

Args: path: Absolute path to the audio file (mp3/m4a/flac/wav/aiff) title: Override the title (defaults to ID3 tag if auto_tag=True) artist: Override the artist (creates artist row if new) album: Override the album genre: Override the genre label: Override the record label bpm: Override the BPM (float, e.g. 128.0) rating: Override the rating (0–5) comments: Track comments year: Release year auto_tag: Read ID3 tags via mutagen and prefill metadata (default True). Explicit arguments always win over tag values.

Returns: Result with status (success/skipped/error), track_id, and resolved metadata.

import_tracksA

Batch-import audio files and/or directories into the rekordbox library.

⚠️ CAUTION: This modifies your rekordbox database — rekordbox must be closed.

Tracks are added as unanalyzed. Open rekordbox afterwards and run "Analyze Tracks" on the new imports to generate waveforms/beatgrids/hot cues. Tip: follow up with add_tracks_to_playlist using the returned track_ids to stage them for easy selection in rekordbox.

Args: paths: List of file paths and/or directory paths. recursive: If a directory is given, descend into subdirectories (default True). auto_tag: Read ID3 tags via mutagen for each file (default True). extensions: Restrict directory scans to these extensions (e.g. ["mp3", "flac"]). Defaults to all supported types.

Returns: Summary with counts and per-file details for imported / skipped / failed.

find_broken_tracksA

Scan the library for broken tracks and orphaned playlist references.

Detects:

  • Tracks with empty file paths

  • Apple Music streaming references (can't export to USB/CDJ)

  • Tracks pointing to files that no longer exist on disk

  • Orphaned playlist entries referencing deleted tracks (causes blank USB export errors)

Returns: Report with broken tracks grouped by category and a summary with counts

cleanup_orphaned_playlist_entriesA

Remove orphaned playlist entries that reference deleted tracks.

These orphaned entries cause blank '[1] The file doesn't exist' errors when exporting to USB. This tool removes the stale PlaylistSong rows while preserving all active tracks and playlists.

⚠️ CAUTION: This modifies your rekordbox database! A backup is created automatically.

Returns: Count and details of removed orphaned entries

remove_broken_tracksA

Soft-delete tracks by ID and remove them from all playlists.

Use find_broken_tracks first to identify which tracks to remove. Tracks are soft-deleted (marked as deleted in the database, not permanently erased).

⚠️ DANGER: This removes tracks from your rekordbox library!

Args: track_ids: List of track IDs to remove

Returns: Details of removed tracks and any IDs that were not found

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
database_statusGet 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/Galb-collab/rekordbox-mcp-main'

If you have feedback or need assistance with the MCP directory API, please join our Discord server