Get the FREE Ultimate OpenClaw Setup Guide →

Navidrome

Analyze listening patterns, create custom playlists, discover missing albums, discover similar artists, discover radio stations, and validate radio streams using natural language.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio blakeem-navidrome-mcp npx navidrome-mcp \
  --env NAVIDROME_URL="http://your-server:4533" \
  --env LASTFM_API_KEY="your_api_key" \
  --env LYRICS_PROVIDER="lrclib" \
  --env LRCLIB_USER_AGENT="Navidrome-MCP/1.0 (+https://github.com/Blakeem/Navidrome-MCP)" \
  --env NAVIDROME_PASSWORD="your_password" \
  --env NAVIDROME_USERNAME="your_username" \
  --env RADIO_BROWSER_USER_AGENT="Navidrome-MCP/1.0 (+https://github.com/Blakeem/Navidrome-MCP)" \
  --env NAVIDROME_DEFAULT_LIBRARIES="1,2"

How to use

Navidrome MCP Server exposes AI-assisted control over your Navidrome music library to Claude, ChatGPT, and other MCP-compatible assistants. It enables natural-language queries to browse your collection, generate and manage playlists, discover music based on mood or activity, create custom radio stations, and fetch synchronized lyrics and metadata. With tools around library inspection, playlist management, radio setup, and lyric retrieval, AI assistants can perform conversational operations that mirror human interaction with Navidrome's catalog while returning concise, structured results optimized for chat responses.

How to install

Prerequisites:

  • Node.js 20+ installed on your machine
  • Navidrome server running and reachable at the URL you provide to NAVIDROME_URL
  • Optional: Claude Desktop or ChatGPT Desktop configured for MCP servers

Quick Setup (recommended):

  1. Install the MCP globally via npm:
npm install -g navidrome-mcp
  1. Start the MCP server (it auto-updates):
npx navidrome-mcp
  1. Configure Claude/ChatGPT environments to point at your Navidrome MCP by adding an mcpServers entry (see the provided configuration example).

Manual Build (development):

  1. Clone the repository and install dependencies:
git clone https://github.com/Blakeem/Navidrome-MCP.git
cd Navidrome-MCP
pnpm install
pnpm build
  1. Run the built server (example using Node if you build a dist/index.js):
node dist/index.js
  1. Use the same configuration shape as shown in the mcp_config example to connect clients.

Note: If you prefer a containerized setup, you can adapt the mcp_config to a docker-based invocation once you have a built image. Ensure environment variables like NAVIDROME_URL, credentials, and API keys are securely managed.

Additional notes

Tips and caveats:

  • Ensure NAVIDROME_URL uses a reachable address from the MCP host and that Navidrome is configured to allow API access.
  • Keep LASTFM_API_KEY, and any station/listening data keys secured and not exposed in public configs.
  • The default LIBRARIES setting (NAVIDROME_DEFAULT_LIBRARIES) should be updated to match libraries you want active by default.
  • If you encounter authentication failures, verify that NAVIDROME_USERNAME and NAVIDROME_PASSWORD are correct and that Navidrome's API is accessible.
  • The provided User-Agent strings help Navidrome and external services identify the MCP client; adjust as needed for your environment.
  • When upgrading Navidrome or the MCP, revalidate your configuration for any breaking changes in environment variable expectations.

Related MCP Servers

Sponsor this space

Reach thousands of developers