🎨 Best DeepSeek Harness Design Plugin. The open-source Claude Design alternative. 🖥️ Local-first desktop app. 🖼️ Your coding agent becomes the design engine: prototypes, landing pages, dashboards, slides, images & video — real files, HTML/PDF/PPTX/MP4 export. 🤖 Claude Code / Codex / Cursor / DeepSeek Harness / OpenCode & 20+ CLIs via BYOK.
Self-hosted music library app with MCP tools
Synthseek manages a music library end to end: it finds music, downloads from the sources you enable, checks the files, and keeps the library organized. The app includes a web interface, playback, import and export tools, and a built-in MCP server so assistants can search, request, and manage the library.
Builders who want a self-hosted music library that an agent can control.
You can manage, play, and automate your music library from one self-hosted app, including assistant-driven requests and library updates.
What it does
Search and request music
Search tracks, albums, artists, and playlists, then request them with a chosen quality and source order.
Download from multiple sources
Use slskd, Usenet, or yt-dlp, with file verification before import and a review queue for uncertain matches.
Keep the library consistent
Track moved files, detect duplicate copies, and avoid deleting files outright by using a recycle bin.
Play and sync music
Stream in the web app, use Subsonic/OpenSubsonic apps, sync playlists to Plex, and send listens to Last.fm and ListenBrainz.
Use the built-in MCP server
Let assistants search, request, and manage the music library through MCP tools.
Import and delegate services
Import Spotify libraries, import and export playlists as JSPF, XSPF, or CSV, and delegate to Lidarr with tag and monitor-scope selection.
How to get it
- 1Use the provided docker-compose.yml as a starting point
docker compose up -d
README
Synthseek
Self-hosted, multi-user music library automation.
Synthseek searches across music providers, downloads through the sources you enable, slskd, Usenet, or yt-dlp, checks that what arrived is what you asked for, and keeps your library organized afterwards. It is multi-user, provider-agnostic, and ships a built-in MCP server so assistants can drive your library.
Website · Documentation · Patch notes
Demos
Browse and import your library
https://github.com/user-attachments/assets/7ebcecba-680d-4ca9-9a66-c8a760df7a57
https://github.com/user-attachments/assets/50c3988e-7ec1-41dc-9a9e-a8407043b552
Why Synthseek
- No API keys to get started. The catalog is provider-agnostic and runs on Deezer by default, so a first run needs nothing you have to register for.
- Three download sources, and you decide the order. Peer-to-peer, Usenet, and a YouTube fallback, chosen per request rather than once globally.
- It treats your library as something to keep honest. Files are checked before they are imported, duplicate copies are only settled when they can be proven identical, and nothing is ever deleted outright.
Quick start
Requires Docker with Compose, and a running slskd if you want peer-to-peer downloads.
Use the provided docker-compose.yml as a starting point:
docker compose up -d
Open the web interface, create your admin account in the setup wizard, and point it at your music folder. The full walkthrough is in Getting Started.
What it does
Find and request
- Search tracks, albums, artists, and playlists across a provider-agnostic catalog
- Request a single track, a whole album, or an entire playlist
- Choose the quality and the source order per request
- A queue you can reorder, pause, and resume, with live progress
Get the files
- slskd for peer-to-peer, Usenet through your own indexer and SABnzbd, and yt-dlp as a fallback
- A Usenet release downloaded for one track is reused for the other tracks on the same album instead of being fetched again
- Every download is fingerprinted and identified before it is imported, so a file whose tags look right but whose audio is by someone else is refused
- Anything that fails that check waits in a review queue for you to approve or discard
Download sources · The download engine
Keep your library honest
- Synthseek keeps its own index of the audio files on your disk, so music you copied in by hand is found and identified rather than staying invisible
- A file that moved is followed to its new location instead of being counted as one loss and one arrival
- Tracks with more than one copy are listed a track at a time, and only copies it can prove are the same recording are settled automatically, which means agreeing on both title and length
- What it cannot prove waits for you, with every copy playable before you choose
- Nothing is deleted outright: replaced files go to a recycle bin with a restore, for as long as the retention window keeps them
Listen anywhere
- Play your library in the web app, with media keys, a lock screen and a full screen view, and nothing to turn on first
- The player can shrink into the top bar, or pop out into a small floating window where your browser supports one, and what is playing next comes with it: jump to a track, drop one, drag it earlier, add a track from your library, or play a whole album, artist or playlist
- Your queue and position are kept on the server, so they survive a reload and are the same ones your phone picks up
- Play your library in Subsonic and OpenSubsonic apps such as Feishin and Symfonium, with no media server in between
- Apps can change things, not only play them: favourites, playlists you create and reorder, what you played, and a queue you can pick up on another device
- A stream is converted on the fly when an app asks for a lower quality than the file on disk
- Send what you play to Last.fm and ListenBrainz from the server, so a listen survives closing the tab
- Read the lyrics in the full screen view, following the song when the words come with timings
- Sync playlists to Plex, one at a time or all at once
Automate it
- A built-in MCP server, so assistants can search, request, and manage your library
- Discovery mixes from Last.fm and ListenBrainz on a dedicated Discover page
- Lidarr delegation, with tag and monitor-scope selection
- Spotify library import, and playlist import and export as JSPF, XSPF, or CSV
Run it
- Multi-user, with local accounts or Plex OAuth, member management, and per-user libraries
- A responsive web interface that works on a phone as well as a desktop
- Available in English, Espanol, Deutsch, and Francais
- Logs viewer, background job controls, and in-app update notifications
Users and permissions · Configuration
Documentation
| Overview | What Synthseek is and how the pieces fit |
| Getting Started | Install, first run, and pointing it at your music |
| Features | Everything the app does, in detail |
| Download engine | How a request becomes a file in your library |
| Download sources | slskd, Usenet, and the YouTube fallback |
| Configuration | Environment variables and in-app settings |
| Users and permissions | Accounts, roles, and what members can see |
| Integrations | Plex, Lidarr, Last.fm, ListenBrainz, and more |
| AI assistants | The MCP server and its tools |
| Operations | Jobs, logs, health, backups, and updates |
| FAQ | Common questions and troubleshooting |
Help
For bugs or questions, open an issue.
Support
License
This project is licensed under the MIT License.
Files in the repo
- __tests__
- .github
- app
- docker
- scripts
- sites
- .dockerignore
- .env.example
- .gitignore
- .prettierignore
- .prettierrc
- changelog.json
- CHANGELOG.md
- DISCLAIMER.md
- docker-compose.yml
- Dockerfile
- eslint.config.js
- LICENSE
- next.config.ts
- package-lock.json
- package.json
- postcss.config.mjs
- README.md
- SECURITY.md
- tsconfig.json
- tsconfig.tests.json
- vitest.config.ts
- vitest.setup.ts
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More other
"Vibe-Trading: Your Personal Trading Agent"
OpenHuman is an open source personal AI for Mac, Windows and Linux — local-first memory, agent orchestration, and deep research.

Your Personal AI Assistant; easy to install, deploy on your own machine or on the cloud; supports multiple chat apps with easily extensible capabilities.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
macOS video editor built for AI