A free music player for macOS  ·  self-hosted  ·  agent-native

Conduct your music.

Baton plays the library you already own (your Navidrome or Subsonic server) with the playback depth most desktop apps skip: true gapless, ReplayGain, a real EQ. And because it hosts an MCP server (the open protocol AI agents use to drive apps), an agent can pick up the baton: search, queue, build a mix, duck for a call.

Coming soon. Free when it ships. No account, no subscription, no catalog rent.

Play a taste

No. 1 The agent angle

A player your agent can actually drive.

Every music app has buttons. Baton also has a control surface for software: an embedded MCP server on 127.0.0.1, token-authenticated, exposing playback, search, queue, and playlists as tools. Point Claude Desktop, Claude Code, or any MCP client at it, and you can just ask for your music instead of clicking for it.

Not a plugin. Not a cloud API with OAuth and rate limits. A documented localhost interface where every capability the UI has, an agent has too: twenty-plus music_* tools, from music_play to music_create_playlist. Other apps can compose with it: the same interface lets Tonebox duck your music while you dictate, then hand it back.

  • music_play
  • music_search
  • music_queue_add
  • music_now_playing
  • music_create_playlist
  • + the rest of the catalog

Local-first by design: loopback-only binding, bearer token, secrets in the Keychain. Baton talks to your server and nothing else, apart from update checks and any scrobbling you turn on.

Any MCP client · Baton

Play something like this, but calmer.

music_now_playing · music_search · music_play

Now playing: a slower cut from the same corner of your library.

Make me a 40-minute focus mix.

music_search ×3 · music_queue_add

Queued 11 tracks · 40 min · instrumental, low-tempo, no vocals.

Call starting, duck the music.

audio focus · suspend

Paused. It resumes when your call ends, but only if the agent was the one that paused it.

No. 2 Already in the box

Audiophile playback, built in.

Baton's playback engine ran for years inside Tonebox before it shipped on its own. It does what mainstream desktop players skip: true gapless, ReplayGain, a real EQ.

Playback engine

  • True gapless: the next track is pre-inserted and even prefetched to disk, so network streams advance with zero gap.
  • Crossfade: overlap tracks by taste, or keep a hard gapless cut.
  • ReplayGain / R128 loudness: track or album mode, preamp, clipping headroom. Albums keep their dynamics.
  • Graphic + parametric EQ: a 10-band curve or per-band frequency, Q, and gain, real biquad DSP on the render thread; off = bit-exact pass-through.
  • Sleep timer that fades out gently, by the clock or at end of track.

Discovery

  • Mixes: Most Played, Fresh Additions, Forgotten Favorites, Discover, and per-genre daily mixes, built from your listening.
  • Home, “For You”: recently played, because-you-liked radio, rediscover shelves. Tap to play.
  • Song radio: endless similar-songs autoplay, with local bans so a bad pick never returns.
  • History & stats: a local play log with top tracks and artists by week, month, all time. Yours, on your Mac.
  • Podcasts: browse, stream, and download episodes from your server's podcast feeds.
  • Internet radio: play and manage your server's radio stations right alongside your library.

Your library

  • Navidrome & Subsonic: first-class client for the server you already run. Likes and ratings sync back.
  • Offline downloads: keep songs, albums, or whole mixes on disk; playback prefers the local file automatically.
  • Playlists, properly: create, rename, drag-reorder, batch add. Edits persist to the server.
  • Likes & 5-star ratings: instant, optimistic, server-synced. Finder-style multi-select for batch actions.
  • Multiple servers: connect more than one Navidrome or Subsonic account and switch between them without signing out.

On stage

  • Floating mini player: a compact always-on-top panel with Up Next, rating, and a scrubber.
  • Waveform scrubber: see the shape of the song and drag straight to the drop.
  • Synced lyrics: karaoke-style auto-scroll when your server has timed lyrics, plain text when it doesn't.
  • Dual scrobbling: native Last.fm and ListenBrainz, plus server play counts. No bridge apps.
  • Media keys & AirPlay: F7/F8/F9, Bluetooth remotes, Now Playing widget, and system AirPlay routing.

No. 3 Own your library

Stop renting your record collection.

Streaming services lease you a catalog: pay monthly, forever, and lose it all when you stop. Albums vanish mid-playlist. Recommendations serve the platform, not you.

Baton takes the other path. Your files live on your server (Navidrome or any Subsonic-compatible host), and Baton is the polished macOS front end they deserve. No account with us, no telemetry by default, no monthly toll. If Baton disappeared tomorrow, your music wouldn't.

  • $0, honestly: the app is free. Your only cost is the server you already run.
  • Your data stays local: history, stats, and settings live on your Mac; secrets in the Keychain.
  • Open protocol: standard Subsonic API. Switch clients or servers anytime; nothing is held hostage.
  • Offline is yours too: downloads are ordinary files in a folder you choose.

No. 4 The field

Where Baton stands.

The honest version: Plexamp and Symfonium are excellent, and the streaming apps have catalogs we'll never rent. Baton's claim is narrow: the best self-hosted macOS player an agent can actually control.

Comparison of Baton with Spotify, Apple Music, Plexamp, and the Navidrome web client
Desktop, mid-2026 Baton Spotify Apple Music Plexamp Navidrome web
You own the library
Free, no subscription ads / Premium Plex Pass extras
True gapless + stream prefetch
EQ + ReplayGain on desktop
Native dual scrobbling Last.fm link server-side
Agent control (MCP server)

yes  partial / paid  no. A best-effort snapshot of typical desktop behavior. Capabilities vary by platform, plan, and version. Where Baton lags today, we say so: it's macOS-only and casts via AirPlay only. Both are on the roadmap.

Coming soon

Take the baton.

Baton is finishing its split from Tonebox. The standalone build ships soon: free, signed, and notarized. Star the repo to catch the release.

  • Free for your own library
  • macOS 15+
  • Signed & notarized
  • Navidrome & Subsonic servers