ovos-media-provider-mass

September 2, 2026 · View on GitHub

OVOS MediaProvider plugin for Music Assistant.

It is the catalog/search half of the Music Assistant integration for the ovos-media stack. Given a parsed media request, it searches a Music Assistant server and returns ranked, playable mediavocab.Release objects.

Playback of the returned library://… uris is done by the companion ovos-media-plugin-mass audio backend. This plugin supersedes the catalog/search half of the legacy OCP skill ovos-skill-music-assistant.

Routing

AxisValue
mediaMUSIC, RADIO, PODCAST, AUDIOBOOK
playback_typeAUDIO
genre_filter(none)

Install

pip install ovos-media-provider-mass

The opm.media.provider plugin type is available in ovos-plugin-manager 2.11.6a1 and later.

Configure

Per-provider settings live under media_providers in mycroft.conf, keyed by the provider's entry-point name:

{
  "media_providers": {
    "music_assistant": {
      "url": "http://192.168.1.100:8095",
      "max_results": 10
    }
  }
}

url is required (the provider reports itself unavailable without it). Set "enabled": false to disable without uninstalling.

Docs

Tests

pip install -e .[test]
pytest test/                                            # unit + end2end, network-free
MASS_SERVER_URL=http://<host>:8095 pytest test/live/    # opt-in, real server

The end-to-end tests (test/end2end/) discover the provider through its real opm.media.provider entry-point and drive the full discover → serves() gate → search_safe path the OCP pipeline takes, with the Music Assistant client mocked.

License

Apache-2.0