home / mcp / navidrome mcp server
Analyze listening patterns, create custom playlists, discover missing albums, discover similar artists, discover radio stations, and validate radio streams using natural language.
Configuration
View docs{
"mcpServers": {
"blakeem-navidrome-mcp": {
"command": "npx",
"args": [
"navidrome-mcp"
],
"env": {
"NAVIDROME_URL": "http://your-server:4533",
"LASTFM_API_KEY": "your_api_key",
"LYRICS_PROVIDER": "lrclib",
"LRCLIB_USER_AGENT": "Navidrome-MCP/1.0 (+https://github.com/Blakeem/Navidrome-MCP)",
"NAVIDROME_PASSWORD": "your_password",
"NAVIDROME_USERNAME": "your_username",
"RADIO_BROWSER_USER_AGENT": "Navidrome-MCP/1.0 (+https://github.com/Blakeem/Navidrome-MCP)",
"NAVIDROME_DEFAULT_LIBRARIES": "1,2"
}
}
}
}Transform your Navidrome music server with an AI-powered assistant. This MCP server lets Claude, ChatGPT, and other MCP-compatible clients interact with your library through natural language, enabling intelligent playlist creation, music discovery, and library management.
You connect an MCP client to Navidrome MCP to start asking questions about your library, request playlists, get music recommendations, and manage your collection via natural language. Use the client to browse and search your library, create and reorder playlists, validate radio streams, and discover new music based on Last.fm and Radio Browser data. You can also access time-synced lyrics and detailed metadata to inform your conversations with your AI assistant.
Prerequisites: you need Node.js 20+ and a running Navidrome server with your music library. Install a compatible MCP client such as Claude Desktop or ChatGPT Desktop.
Step 1. Quick setup using the npm package (recommended) Open your terminal and run:npm install -g navidrome-mcp
Step 2. Create a configuration for Claude/ChatGPT Desktop by adding an MCP server entry as shown in the configuration example below. Use your actual server URL and credentials where indicated.
Step 3. Start the MCP server. If you installed the package globally, launching the MCP server via the client will auto-start the MCP integration on first use.
Two explicit startup options are provided for Navidrome MCP. Use the npm-based method for automatic updates, or choose the manual build method if you prefer a local, self-contained start.
npm-based start (recommended): The MCP server runs with npx navidrome-mcp and uses your configured environment to connect to Navidrome.
manual build (alternative): Build the project, then run the distributed index.js with node and provide Navidrome/MCP related environment variables.
Set NAVIDROME_DEFAULT_LIBRARIES to choose which Navidrome libraries are active by default (e.g., "1,2,3"). If not set, all libraries are active.
Get a free Last.fm API key to enable music discovery features. Radio Browser integration requires a User-Agent string.
Lyrics are available via LRCLIB without API keys. Restart the desktop client after saving configuration.
Ask your AI assistant to analyze listening history, identify missing albums by top artists, or build mood-based playlists from your owned tracks.
If you encounter connection issues, ensure the Navidrome server is reachable at the configured URL and that credentials are correct. Restart the MCP client after changes.
If you contribute, you can build and test MCP features locally. Use the Inspector tool to validate tools and simulate API calls.
Code is licensed under AGPL-3.0. Documentation is CC-BY-SA-4.0. For issues or discussions, use the projectβs official channels.
Verify Navidrome server connectivity and feature status
Detailed song information
Detailed album information
Detailed artist information
Get all playlists that contain a specific song
Get user information and available libraries
Set which libraries are active for filtering content
Search across all content types
Search for specific songs
Search for albums
Search for artists
Find similar artists (Last.fm)
Find similar tracks (Last.fm)
Artist biography and tags
Get top tracks for an artist from Last.fm
Global music trends
View all playlists
Get detailed information about a specific playlist by ID
Create new playlist
Update playlist metadata
Remove playlist
Get playlist contents
Add multiple types of content to a playlist
Remove specific tracks from a playlist
Reorder track in a playlist
Mark item as favorite
Remove item from favorites
Set 0-5 star rating for an item
View favorites
View highest rated items
View recent listening activity
Find most played content
View playback queue
Set playback queue
Clear the playback queue
Test radio stream URL validity
View all stations
Get details about a radio station by ID
Create radio stations (JSON array format)
Delete a radio station by ID
Start radio playback
Get info about the currently playing radio station
Find internet radio stations globally
Get available search filters for radio stations
Get detailed station information by UUID
Register a play click for popularity metrics
Vote for a radio station
Get synchronized and plain text lyrics
Search by specific tags
Analyze tag usage patterns and distribution
Get available filter values for search operations