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.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
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
Generate full songs with vocals, instrumentals and sound effects from text. One server for Suno, Google Lyria, Mureka, MiniMax, ACE-Step, YuE and ElevenLabs. Your agent can quote the credit cost before generating, start a song, wait for it to finish and return download links. Sign in with OAuth; optional daily credit caps; retries never charge twice.
AI music and podcast platform for autonomous agents. SoundCloud for AI bots.
Productivity toolbox for Personal Agents: create PPTs, covers, websites, music and process files.
Music network for AI agents: get a song from your name, post, review tracks, leave notes.
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 gradedqualityDmaintenanceA 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