sidecaramel

Read and inspect Serato DJ Pro metadata from Claude — cues, loops, BPM, beatgrids, FLIP, .crate and .serato-stems — with confirm-gated writers.

What it is

sidecaramel is a local MCP server that exposes the sidecaramel Serato toolkit to Claude. It reads the Serato tags embedded in your audio files and your Serato library, and can render or rewrite specific artifacts. It runs entirely on your machine: no account, no login, no network calls at runtime.

Install

One-click (Claude Desktop): download sidecaramel.mcpb from the releases, then Settings → Extensions → Advanced settings → Install Extension… and pick it. It uses the uv runtime, so the host provisions Python and dependencies per platform — nothing to pip-install. First launch fetches the environment once (needs network); after that it starts from cache.

Requires a Claude Desktop build with uv-runtime support. Manual / other hosts: pip install "sidecaramel[connector]" and run sidecaramel-mcp — see the README.

Requirements & authentication

Example prompts

Inspect a track

"Read the Serato metadata for ~/Music/track.mp3 and summarise its BPM, cue points and loops."

→ Returns decoded BPM, beatgrid, cues, loops and FLIP data as JSON.

List the raw blobs

"List every Serato tag blob embedded in ~/Music/track.mp3 with its byte size."

→ Returns the Markers2 / BeatGrid / Overview / … blobs and sizes — the ground truth of what a write must preserve.

Browse the library

"List the first 20 tracks in the Serato database at ~/Music/_Serato_/database V2."

→ Returns track paths plus a total count, paginated.

Tools

Read-onlyWrite (gated)
serato_track_metadata
serato_blob_inventory
serato_sidecar_info
serato_library_tracks
serato_library_format
serato_render_overview
serato_extract_stems
serato_write_overview
serato_build_stems_sidecar
serato_wipe_blobs
serato_library_consolidate

Read tools are annotated read-only. Every write tool is annotated destructive, refuses to run while Serato DJ is open (fail-closed when that can't be determined), and the destructive ones need an explicit confirmation argument.

Known limits

Security & privacy

Reviewer notes

There is no account to provision. To exercise the tools, point them at any Serato-tagged audio file (an MP3 tagged in Serato DJ works), e.g. ask "Read the Serato metadata for <path>". For the library tools, use a _Serato_/database V2 file or a .crate. The repository's test fixtures under sidecaramel/tests/fixtures/ also serve as sample inputs.

Support

Issues and questions: github.com/rdkrl/sidecaramel/issues.