saavn-mcp
Provides music search and download from JioSaavn, allowing plain-language queries for songs, albums, or playlists and fetching tracks with metadata and cover art into a local music library.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@saavn-mcpadd Kesariya by Arijit Singh"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
saavn-mcp
A small Model Context Protocol server that lets an AI agent put music into a self-hosted Navidrome library. Ask your assistant for a song in plain language, and it lands, tagged with cover art, in your library a few seconds later.
I run it on my homelab behind a chat agent: "add Kesariya by Arijit Singh" from my phone and the track is in Navidrome before I open the app.
chat agent ──MCP (streamable HTTP)──► server.py ── download_song(query) ──► saavn_dl.py
│ search / resolve URL
│ fetch 320 kbps AAC
│ tag + cover art
▼
MUSIC_DIR/<Artist> - <Album> [Year]/NN. Title.m4a
│
Navidrome startScan (Subsonic token auth) ◄┘Tool
Tool | Input | Does |
| a plain-text query ( | picks the best match, downloads into the library, triggers a rescan, returns a summary or a clear |
Agent-friendly by design: search queries auto-select the top result instead of prompting, errors come back as text the agent can relay, and a 120 s timeout stops a stuck download from hanging the agent.
Related MCP server: LLM Jukebox
Pieces
server.py: the MCP server (FastMCP), streamable HTTP on127.0.0.1:18811/mcp.saavn_dl.py: the downloader CLI, usable on its own:saavn_dl.py "query",saavn_dl.py -y "query",saavn_dl.py <url>. It subclasses the downloader from bunnykek/jiosaavn-dl and adds search, Navidrome-styleArtist - Album [Year]folders, cover art, skip-if-exists, clean error handling and the library rescan. The rescan uses Subsonic salted-token auth, so the password never goes over the wire.
Setup
git clone https://github.com/bunnykek/jiosaavn-dl ~/jiosaavn-dl
pip install -r ~/jiosaavn-dl/requirements.txt -r requirements.txt
cp .env.example .env # set MUSIC_DIR and the Navidrome account
set -a; . ./.env; set +a
python server.pyThen point any MCP client at http://127.0.0.1:18811/mcp. saavn-mcp.service is a systemd unit
for running it permanently.
Env var | Default |
|
|
|
|
|
|
|
|
For personal use with content you're entitled to. MIT licensed (the jiosaavn-dl dependency is fetched separately and is not included here).
This server cannot be deployed
Maintenance
Related MCP Connectors
The media memory layer for AI agents and their humans. Your AI client gets 29 tools to search your collection, add items, update ratings, preview music, and find patterns across everything you've read, watched, and listened to.
AI music and podcast platform for autonomous agents. SoundCloud for AI bots.
- AchriomOAuthcom.achriom
Media memory for AI agents and their humans: books, movies, music, shows, anime, podcasts, games.
15 media & data tools for AI agents: search, transcribe, subtitles, voiceover, translate & more.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables LLMs to search, download, and extract information from YouTube music videos, converting them to high-quality MP3 files.GPL 3.0
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to search YouTube for music, download videos as MP3 files, and play audio with playback controls.8-
- AlicenseAqualityDmaintenanceAn intelligent MCP server that enables AI agents to act as sophisticated music curators for self-hosted Navidrome libraries, focusing on quality, discovery, and non-destructive management.151MIT
- AlicenseNot gradedqualityCmaintenanceA NAS music library downloader shell that aggregates multiple sources, writes ID3 tags, and exposes MCP tools for AI agents to search, download, and manage music.MIT