Roon (https://roon.app/en/) is a premium application to manage large, high quality music libraries. It supports browsing, discovery, collecting, and listening to music. One of the unique values of Roon is its rich metadata (see the Metadata Model used by Roon https://help.roonlabs.com/portal/en/kb/articles/metadata-model) used to organize and describe music. Roon consists of a server and a client, offering access to locally stored music and to high-end/high-res streaming services Qobuz and Tidal. Roon can be run on local hardware (laptops, NUC, NAS systems, etc.) or dedicated pre-configured music server products.
The goal of the project is to implement an application for the exploration of metadata on music managed by Roon. The application should make use of the Roon API (https://github.com/RoonLabs/node-roon-api). The services to explore music metadata should be made available via a MCP server (https://modelcontextprotocol.io/docs/learn/architecture) that communicates to an MCP client, which is hosted by a regular Web App (no need for an AI component (that would be optional), just illustrating the functionality by means of a comprehensive demo application). The various layers and components need to be designed and implemented in a highly modular architecture to enable re-use of those components in other applications (like the FactCheck system). Such a modular architecture also allows to include other sources than Roon, e.g., metadata from MusicBrainz (https://musicbrainz.org) or Discogs (https://www.discogs.com) via their APIs, made available via MCP servers. The latter sources are to be included optionally in the project (depending on SPBA, P1, P2).
Technologies: Roon; Roon API; MCP; Web technology; Python; JavaScript; MusicBrainz API; Discogs API
Tags: Music; Roon; MCP; Python; Web technologies; Docker; Klas