Architecture
How the binary, database, external services, and audio pipeline connect. Read more
reklawdbox is an MCP server that sits between an AI agent and Rekordbox 7.x. It reads your encrypted database directly, stages metadata changes in memory, and exports Rekordbox-compatible XML for reimport.
reklawdbox opens the Rekordbox master.db read-only via SQLCipher (AES-256-CBC, PBKDF2-HMAC-SHA512). The database is never modified.
~/Library/Pioneer/rekordbox/master.db (override with REKORDBOX_DB_PATH)djmdContent (tracks), djmdPlaylist, djmdSongPlaylist, plus lookup tables for artists, albums, genres, keys, labels, and colors12850) — converted to float automaticallyChanges to genre, comments, rating, color, label, year, or album are staged in memory — not written anywhere. You can review, modify, or discard freely before exporting.
update_tracks — stage changes for one or more trackspreview_changes — review everything staged so farclear_changes — discard all staged changesNothing touches disk until you call write_xml. If the server restarts, staged changes are lost.
write_xml produces a Rekordbox-compatible XML file. In Rekordbox: Preferences → Advanced → rekordbox xml → Imported Library, then import tracks to your collection. See XML Export for the full import workflow and known quirks.
A separate SQLite database (WAL mode) caches enrichment, audio analysis, and broker sessions. Safe to delete — data is re-fetched on next use.
~/Library/Application Support/reklawdbox/internal.sqlite3 (override with CRATE_DIG_STORE_PATH)Classification, set building, and transition scoring all read from cached data. Run enrichment and audio analysis first, then use the results downstream.
Every stage requires human approval:
preview_changes before export.write_xml produces a file — you import it into Rekordbox yourself.The agent handles the tedious work (genre normalization, key math, Discogs lookups). You make the final call on every change.
read_library or search_tracks call.