"stage": "stable",
"name": "AirPlay",
"description": "Stream to AirPlay-enabled devices on your local network.",
- "codeowners": ["@music-assistant"],
+ "codeowners": ["@music-assistant", "@brad"],
+ "credits": [
+ "[libraop (RAOP)](https://github.com/music-assistant/libraop)",
+ "[OwnTone (AirPlay2)](https://github.com/OwnTone)"
+ ],
"requirements": [],
"documentation": "https://music-assistant.io/player-support/airplay/",
"multi_instance": false,
"name": "AirPlay Receiver",
"description": "Receive AirPlay audio streams and use them as a source in Music Assistant.",
"codeowners": ["@music-assistant"],
+ "credits": [
+ "[ShairPort Sync by Mike Brady](https://github.com/mikebrady/shairport-sync)"
+ ],
"documentation": "https://music-assistant.io/plugins/airplay-receiver/",
"multi_instance": true,
"requirements": []
"name": "Alexa",
"description": "Stream to Amazon Alexa (Echo) devices.",
"codeowners": ["@alams154"],
+ "credits": ["[alexapy](https://gitlab.com/keatontaylor/alexapy)"],
"requirements": ["alexapy==1.29.10"],
"documentation": "https://www.music-assistant.io/player-support/alexa/"
}
"name": "Apple Music",
"description": "Stream Apple Music’s full catalogue and playlists.",
"codeowners": ["@MarvinSchenkel"],
+ "credits": ["[pywidevine](https://github.com/devine-dl/pywidevine)"],
"requirements": ["pywidevine==1.9.0"],
"documentation": "https://music-assistant.io/music-providers/apple-music/",
"multi_instance": true
"name": "Audible",
"description": "Access Audible’s extensive audiobook library and podcast catalogue — perfect for spoken-word listening.",
"codeowners": ["@ztripez"],
+ "credits": ["[Audible library](https://github.com/mkb79/Audible)"],
"requirements": ["audible==0.10.0"],
"documentation": "https://www.music-assistant.io/music-providers/audible"
}
"name": "Audiobookshelf",
"description": "Stream audiobooks and podcasts from your personal Audiobookshelf server.",
"codeowners": ["@fmunkes"],
+ "credits": ["[aioaudiobookshelf](https://github.com/fmunkes/aioaudiobookshelf)"],
"requirements": ["aioaudiobookshelf==0.1.9"],
"documentation": "https://music-assistant.io/music-providers/audiobookshelf",
"multi_instance": true
"codeowners": [
"@kieranhogg"
],
+ "credits": ["[auntie-sounds](https://github.com/kieranhogg/auntie-sounds)"],
"requirements": [
"auntie-sounds==1.1.4",
"pytz==2025.2"
"name": "Bluesound",
"description": "Send high-resolution audio to Bluesound speakers and multiroom systems.",
"codeowners": ["@cyanogenbot"],
+ "credits": ["[pyblu](https://github.com/LouisChrist/pyblu)"],
"requirements": ["pyblu==2.0.5"],
"documentation": "https://music-assistant.io/player-support/bluesound/",
"mdns_discovery": ["_musc._tcp.local.","_musp._tcp.local."]
"name": "Chromecast",
"description": "Cast music and podcasts to Chromecast or Google Cast devices.",
"codeowners": ["@music-assistant"],
+ "credits": [
+ "[PyChromecast](https://github.com/home-assistant-libs/pychromecast)"
+ ],
"requirements": ["PyChromecast==14.0.9"],
"documentation": "https://music-assistant.io/player-support/google-cast/",
"multi_instance": false,
"name": "Deezer",
"description": "Stream Deezer’s full music catalogue in CD-quality (FLAC) audio.",
"codeowners": ["@arctixdev", "@micha91"],
+ "credits": ["[deezer-python-async](https://github.com/music-assistant/deezer-python-async)"],
"documentation": "https://music-assistant.io/music-providers/deezer/",
"requirements": ["deezer-python-async==0.3.0", "pycryptodome==3.23.0"],
"multi_instance": true
"name": "UPnP/DLNA Player provider",
"description": "Stream music to supported DLNA-compatible devices.",
"codeowners": ["@music-assistant"],
+ "credits": [
+ "[Asyncio UPnP Client library by Steven Looman](https://github.com/StevenLooman/async_upnp_client)"
+ ],
"requirements": ["async-upnp-client==0.46.0"],
"documentation": "https://music-assistant.io/player-support/dlna/",
"multi_instance": false,
"name": "fanart.tv",
"description": "Provides high-quality artist and album artwork from Fanart.tv, used throughout the Music Assistant UI.",
"codeowners": ["@music-assistant"],
+ "credits": ["[Fanart.tv](https://fanart.tv)"],
"requirements": [],
"documentation": "",
"multi_instance": false,
"name": "Fully Kiosk Browser",
"description": "Play audio on Fully Kiosk-enabled displays or Android devices.",
"codeowners": ["@music-assistant"],
+ "credits": [
+ "[Fully Kiosk library for Python](https://github.com/cgarwood/python-fullykiosk)"
+ ],
"requirements": ["python-fullykiosk==0.0.14"],
"documentation": "https://music-assistant.io/player-support/fully-kiosk/",
"multi_instance": true,
"name": "Genius Lyrics",
"description": "Alternative lyrics source, pulling song lyrics from Genius to supplement other providers.",
"codeowners": ["@robert-alfaro"],
+ "credits": ["[LyricsGenius](https://github.com/johnwmillr/LyricsGenius)"],
"requirements": ["lyricsgenius==3.7.2"],
"documentation": "https://www.music-assistant.io/metadata/",
"multi_instance": false,
"name": "Home Assistant",
"description": "Connects Music Assistant with Home Assistant for automation, integration, and enhanced smart-home control.",
"codeowners": ["@music-assistant"],
+ "credits": ["[hass-client](https://github.com/music-assistant/python-hass-client)"],
"documentation": "",
"multi_instance": false,
"builtin": false,
"name": "iBroadcast",
"description": "Stream your personal iBroadcast music collection from anywhere.",
"codeowners": ["@robsonke"],
+ "credits": ["[ibroadcastaio](https://github.com/robsonke/ibroadcastaio)"],
"requirements": ["ibroadcastaio==0.4.0"],
"documentation": "https://music-assistant.io/music-providers/ibroadcast/",
"multi_instance": true
"name": "Jellyfin Media Server Library",
"description": "Stream music from your self-hosted Jellyfin server.",
"codeowners": ["@lokiberra", "@Jc2k"],
+ "credits": ["[aiojellyfin](https://github.com/Jc2k/aiojellyfin)"],
"requirements": ["aiojellyfin==0.14.1"],
"documentation": "https://music-assistant.io/music-providers/jellyfin/",
"multi_instance": true
"name": "LastFM Scrobbler",
"description": "Scrobbles your listening history to Last.fm (and others with a compatible API like Libre.fm), building rich listening stats and recommendations.",
"codeowners": ["@music-assistant"],
+ "credits": ["[pylast](https://github.com/pylast/pylast)"],
"documentation": "https://music-assistant.io/plugins/lastfm_scrobble/",
"multi_instance": false,
"builtin": false,
"name": "ListenBrainz Scrobbler",
"description": "Scrobbles your listening history to ListenBrainz — an open, community-driven alternative to Last.fm.",
"codeowners": ["@music-assistant"],
+ "credits": ["[liblistenbrainz](https://github.com/paramsingh/liblistenbrainz)"],
"documentation": "https://music-assistant.io/plugins/listenbrainz_scrobble/",
"multi_instance": false,
"builtin": false,
"description": "Stream audio to Yamaha MusicCast speakers — supports multiroom playback.",
"requirements": ["aiomusiccast==0.15.0"],
"codeowners": ["@fmunkes"],
+ "credits": ["[aiomusiccast](https://github.com/vigonotion/aiomusiccast)"],
"mdns_discovery": ["_http._tcp.local."],
"documentation": "https://music-assistant.io/player-support/musiccast",
"multi_instance": false
"name": "niconico video",
"description": "Support for niconico video(nicovideo) in Music Assistant",
"codeowners": ["@Shi-553"],
+ "credits": ["[niconico.py](https://github.com/Shi-553/niconico.py)"],
"requirements": [
"niconico.py-ma==2.1.0.post1"
],
"name": "OpenSubsonic Media Server Library",
"description": "Stream music from your OpenSubsonic compatible server — your own cloud jukebox.",
"codeowners": ["@khers"],
+ "credits": ["[py-opensonic](https://github.com/khers/py-opensonic)"],
"requirements": ["py-opensonic==7.0.2"],
"documentation": "https://music-assistant.io/music-providers/subsonic/",
"multi_instance": true
"name": "Plex Media Server Library",
"description": "Stream your personal music, podcasts, and radio via your Plex media server.",
"codeowners": ["@micha91", "@anatosun"],
+ "credits": ["[python-plexapi](https://github.com/pkkid/python-plexapi)"],
"requirements": ["plexapi==4.17.2"],
"documentation": "https://music-assistant.io/music-providers/plex/",
"multi_instance": true
"name": "Plex Connect Plugin",
"description": "Makes a Music Assistant player appear as a device in the official Plex apps.",
"codeowners": ["@anatosun"],
+ "credits": ["[python-plexapi](https://github.com/pkkid/python-plexapi)"],
"requirements": ["plexapi==4.17.2"],
"icon": "mdi:plex",
"documentation": "https://music-assistant.io/plugins/plex-connect/",
"name": "Media Assistant (Roku)",
"description": "Support for Roku's running Media Assistant.",
"codeowners": ["@medievalapple"],
+ "credits": ["[python-rokuecp](https://github.com/ctalkington/python-rokuecp)"],
"requirements": ["async-upnp-client==0.46.0","rokuecp==0.19.5"],
"documentation": "https://music-assistant.io/player-support/roku-media-assistant/",
"stage": "beta"
"name": "SiriusXM",
"description": "Stream SiriusXM’s radio, talk, and curated music channels.",
"codeowners": ["@btoconnor"],
+ "credits": ["[sxm-client](https://github.com/AngellusMortis/sxm-client)"],
"requirements": ["sxm==0.2.8"],
"documentation": "https://music-assistant.io/music-providers/siriusxm/",
"multi_instance": false
"name": "Snapcast",
"description": "Synchronize and play music across Snapcast clients (including web browsers and Android devices) on your network.",
"codeowners": ["@SantiagoSotoC"],
+ "credits": ["[python-snapcast](https://github.com/happyleavesaoc/python-snapcast)"],
"requirements": [
"snapcast==2.3.7",
"bidict==0.23.1",
"name": "SONOS",
"description": "Play music, manage groups, and control SONOS speakers throughout your home.",
"codeowners": ["@music-assistant"],
+ "credits": ["[aiosonos](https://github.com/music-assistant/aiosonos)"],
"requirements": ["aiosonos==0.1.9"],
"documentation": "https://music-assistant.io/player-support/sonos/",
"multi_instance": false,
"name": "SONOS S1",
"description": "Play music, manage groups, and control Series 1 SONOS speakers throughout your home. Select this provider if you have SONOS devices on the S1 operating system (with the S1 Controller app)",
"codeowners": ["@music-assistant"],
+ "credits": ["[SoCo](https://github.com/SoCo/SoCo)"],
"requirements": ["soco==0.30.12", "defusedxml==0.7.1"],
"documentation": "https://music-assistant.io/player-support/sonos/",
"multi_instance": false,
"name": "Soundcloud",
"description": "Stream tracks, remixes, and user-uploaded music from the SoundCloud community.",
"codeowners": ["@domanchi", "@gieljnssns"],
+ "credits": ["[soundcloudpy](https://github.com/Enubia/soundcloud-py)"],
"requirements": ["soundcloudpy==0.1.4"],
"documentation": "https://music-assistant.io/music-providers/soundcloud/",
"multi_instance": true
"name": "Spotify",
"description": "Stream music, playlists, podcasts, and discover new songs via Spotify’s ecosystem.",
"codeowners": ["@music-assistant"],
+ "credits": ["[librespot](https://github.com/librespot-org/librespot)"],
"requirements": ["pkce==1.0.3"],
"documentation": "https://music-assistant.io/music-providers/spotify/",
"multi_instance": true
"name": "Squeezelite (slimproto players)",
"description": "Stream music to Squeezelite and some legacy Squeezebox players on your local network.",
"codeowners": ["@music-assistant"],
+ "credits": ["[aioslimproto](https://github.com/music-assistant/aioslimproto)"],
"requirements": ["aioslimproto==3.1.1"],
"documentation": "https://music-assistant.io/player-support/squeezelite/",
"multi_instance": false,
"name": "YouTube Music",
"description": "Stream songs and podcasts from YouTube Music.",
"codeowners": ["@MarvinSchenkel"],
+ "credits": ["[ytmusicapi](https://github.com/sigma67/ytmusicapi)"],
"requirements": [
"ytmusicapi==1.11.3",
"duration-parser==1.0.1",