Your library
Automate the rest

Synthseek is a free, self-hosted app where your whole household requests music, and the engine finds it, checks that it really is what was asked for, and files it into your library, tagged and complete.

The Synthseek Discover screen on a desktop browser, showing a trending carousel, library totals, top artists and generated mixes.
The same Discover screen on a phone, with the trending card, library totals and top artists stacked.

Up and running in four steps

A setup wizard handles the configuration from the browser.

1Start the containerOne Docker compose file, one command.
2Run the wizardAdmin account, download source, media server sign-in, optional API keys.
3Invite your peopleAccounts and roles for the whole household.
4Request awayTracks, albums, whole playlists. They arrive verified and tagged.

What happens after you press request

Every step reports back live, so you can watch it happen.

Step 1, Search

It asks the question several ways

Files on other people's machines are rarely named the way a catalog names them, so every enabled source is queried with several variants per track, in priority order.

kind of blue…
source Asource Bsource C
Step 2, Score

The best candidate wins, not the first

Every result is ranked against your format, bitrate, and speed preferences. Quarantined sources are excluded outright, and the engine records why each loser lost.

#1
#2
#3
#4
Step 3, Download

Soulseek first, a careful fallback second

Downloads run through your own slskd. When it can't deliver, a deliberately conservative yt-dlp fallback takes over, and nothing it fetches gets a shortcut through verification.

01 So What.flac
02 Freddie Freeloader.flac
03 Blue in Green.flac
Step 4, Verify

Wrong files get caught, not filed

Checks read the file's own tags against your request, and with a free AcoustID key the audio itself is identified by listening to it. A file that contradicts what you asked for is held in a review queue where you can listen and decide, and the source that sent it is set aside for that track.

✓ libraryreview queue
Step 5, Import

Filed like a librarian did it

Files are tagged and filed by Beets, identified against MusicBrainz where it can be and by less certain methods where it cannot, so nothing is left untagged. Cover art is embedded and album positions are written, so your media server has no reason to rebind a file to the wrong song.

tagged ✓
art ✓
track 07 ✓
AI assistants

Tell Claude. It's queued.

Synthseek ships a built-in MCP server. Point Claude or any MCP client at one URL and it can search your library, check what a request is doing, and file new ones. It acts through your account, so it gets your role's permissions and nothing more.

# connect your assistant
$ claude mcp add --transport http \
    synthseek https://your-server/api/v1/mcp
# then just ask
"queue the new Khruangbin album"
✓ 12 tracks requested

All the bells. None of the glue.

The pieces a hand-built stack bolts together, already working together.

What you getSynthseekDIY stack
Search that ranks every candidatescripts
Fingerprint verification before importwith a free key
Tagging with embedded art and album positionsmanual runs
Playlists that sync to your media server
Accounts, roles, and per-user requests
An AI assistant that can request for you
Containers to maintain2, with slskd4 to 6

Frequently asked questions

What do I need before installing?Docker, a running slskd instance with its own Soulseek account, and two folders: one where slskd puts completed downloads, one where your library lives. Everything else, including your media server connection, is set up from the wizard.
What happens when a download is wrong?It is held back instead of imported. The file waits in a review queue with the reason it was rejected, you can listen to it there, and that exact peer and file pairing is set aside so a retry looks elsewhere.
Do I need any API keys?None are required. One free AcoustID key is strongly recommended: it unlocks audio fingerprinting, the check that catches a file whose tags look right but whose contents are something else.
Can I control what other users do?Yes. Roles decide who administers, whose requests import directly, and whose wait for approval. Administrator-only sections are hidden from members entirely.

Ready when you are.

One container alongside your slskd, and a setup wizard. You'll request your first album in minutes.

Get started