music-player MCP

A Rust music server with MCP: an agent searches tracks, builds a queue and picks the next ones by tempo and energy.

  • 533 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • The agent controls a local daemon, sees the library and listening history and adds or removes tracks.
  • The `curl | sh` installer and package repositories without signature checks are worth reading before running.
All reasons and checks

tsirysndr/music-player

Install

Manual install

curl -fsSL https://raw.githubusercontent.com/tsirysndr/music-player/master/install.sh | sh

First variant of the README Installation section. `npm install -g @tsiry/music-player` and Homebrew also exist. Then `claude mcp add music-player -- music-player mcp`.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The agent controls a local daemon, sees the library and listening history and adds or removes tracks.
  • The `curl | sh` installer and package repositories without signature checks are worth reading before running.

This is third-party code. Review the repository files before installing.

What it does

Music Player is a Rust music server and player in a single binary. `music-player mcp` starts an MCP server over stdio through which an agent drives the running daemon: see what is playing, search the library, pause and build the queue. Audio analysis computes tempo, energy and brightness per track, and auto-DJ keeps a five-track queue and steers the set toward a target energy. A bundled `skills/music-player/SKILL.md` teaches the agent to queue without interrupting and to work from what the library really holds. The player itself reads 40+ formats and has a terminal UI, web UI, desktop app, GraphQL and gRPC.

Who it is for. Owners of a local music library who want to control the player from an agent chat and pick tracks by sound.

Good fit when

  • You want to tell an agent "put on something upbeat" and get a queue rather than one track.
  • The library is large and tracks are picked by tempo and energy rather than by title.
  • A party needs a smooth ramp from 90 to 128 beats per minute.
  • Work background music runs with an automatically refilled queue.
  • A developer builds a client on top of the same server gRPC or GraphQL API.

Not a fit when

  • You need a streaming catalog service: the player plays your library and Subsonic or Jellyfin servers.
  • The daemon is not running and you expect the agent to start it: the MCP server connects to a running one.
  • A regular player without chat control is enough.

Example request

Check what is playing and add nine upbeat tracks from my library to the queue without interrupting the current one.

MCP

Transport
stdio
Authentication
not required

Limitations

The MCP server connects to an already running daemon over gRPC, so start the player first. Picking by feel needs a library analysis pass that runs in the background at about one second per local file. The macOS app is neither signed nor notarized and Gatekeeper blocks first launch. The install section has `curl ... | sh` lines and repositories with `trusted=yes`: review them before running. The MCP server requires no authentication.

How to disable. Remove the entry with `claude mcp remove music-player` or delete the `music-player` block from the client config. Uninstall the player itself with your package manager; databases and the analysis cache stay in the data folder.

FAQ

How do I connect MCP to Claude Code?

Run `claude mcp add music-player -- music-player mcp`. For file-configured clients add an `mcpServers` entry with command `music-player` and argument `mcp`.

Why a skill?

It teaches the agent to DJ: queue without interrupting, sequence a set and rely on what the library actually holds.

What is auto-DJ?

A mode that keeps the queue five tracks deep, each chosen to follow the last by tempo and energy. You can change the target energy in words.

Which formats does the player read?

More than 40, including MP3, FLAC, Opus, AAC, ALAC and WavPack, with the Rockbox chain: EQ, crossfade and ReplayGain.

Where is analysis data stored?

In SQLite: each track is analysed once. A file `initialkey` and BPM tags are read before anything is computed.

Discussion

No questions or reviews yet.

A Spotify MCP server: the agent searches music, controls playback, queue and volume, and builds and edits playlists and the library

MCP serverBroad access506Repository stars
Russian stack

An MCP server for a local Rust-based Yandex Music player and sync daemon on Linux: playback control, taste profile, mood picks

MCP serverBroad access
Official

The MCP server of the Audionaut editor: an agent cuts, moves, fades, analyses and exports multitrack audio projects.

MCP serverExtended access271Repository stars
Russian stack

A browser-free Yandex Music MCP server: the agent queues a playlist, a local daemon plays it via mpv with Now Playing in Control Center

MCP serverExtended access1Repository stars
Official

The audio package runs an MCP server for sound work: loudness, spec checks, denoise, EQ, cuts and tempo.

MCP serverExtended access333Repository stars

README in short

The README lists features, install routes (curl, npm, Homebrew, Debian and RPM packages, AUR), an "AI agents (MCP)" section with dialog examples, audio analysis with auto-DJ and DuckDB listening analytics.

README badge

Report a problem