Labsco
MCP SERVER

Music Collection MCP Server

by gorums

Scan a local music folder, store per-band metadata and analysis alongside it, and search albums with a filter set that goes well past artist and title.

Music & Audio Production
Summary
Writes what it learns back next to the music.

Most collection tools only read. Here the metadata, per-band analysis and collection insights are saved, with a dry-run validation step first, so the knowledge accumulates instead of being regenerated every session. The advanced album search with its wide filter set is the tool you will actually use daily; the migration tool exists for the day you decide to reorganise the folders.

What it is

An MCP server for a music collection on your own disk. It scans the folder structure, detects how it is organised, and then acts as a place to store what you or the assistant learn about each band — metadata, analysis, collection-wide observations — with validation before anything is written. It supports both an enhanced folder layout and a simple one.

What you get
  • The music folder scanned with structure type detected, and the resulting band list filtered and searched — `scan_music_folders`, `get_band_list`
  • Band metadata, per-band analysis and collection-level observations saved back — `save_band_metadata`, `save_band_analyze`, `save_collection_insight`
  • Metadata validated as a dry run before it is committed — `validate_band_metadata`
  • Album search across a 13-parameter filter set, which is the difference between browsing and actually finding something — `advanced_search_albums`
  • Collection-wide analysis rather than per-record facts — `analyze_collection_insights`
  • A safe migration between folder structures for when you reorganise — `migrate_band_structure`
  • Three resources to read from: `band://info/{band_name}`, `collection://summary`, `collection://analytics`
  • Four prompts for the recurring jobs: `fetch_band_info`, `analyze_band`, `compare_bands`, `collection_insights`
Requirements

Python 3.8+, or Docker. `MUSIC_ROOT_PATH` is the one required setting — the directory holding your collection; under Docker it is mounted in and the variable points at the mount. `CACHE_DURATION_DAYS` defaults to 30 and `LOG_LEVEL` to INFO. `python scripts/setup.py` runs a guided setup that checks requirements, installs dependencies, sets the music path, writes the Claude Desktop configuration and validates the result — the fastest way in.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary