Labsco
MCP SERVER

mpv Media Player Control

by arijit-gogoi

Drive a running mpv by half-remembered track name rather than file path — seek to "1:30", stream a YouTube result straight through the player, and fix a file's tags in the same conversation.

Music & Audio ProductionVerified
Summary
Written for the way people actually ask for music — by a fragment of a title, not a file path.

`mpv_play`, `mpv_add`, `mpv_browse`, `mpv_info` and `mpv_tag` all take a search term where a media player would want a path, and `mpv_seek` takes the notation you would speak rather than a raw second count, which is what makes the whole surface usable from a sentence. The trade is that resolution is deliberately fuzzy: the same matching that finds a track for `mpv_play` picks the file `mpv_tag` writes to, so a wrong guess rewrites the wrong file's metadata, and `mpv_youtube` and `mpv_download` reach outside your library entirely.

What it is

A control surface for the mpv media player, 17 tools covering playback and transport, seeking and volume, playlist building and loading, a browser over your Music and Videos folders, YouTube search-and-stream and download, and metadata reading and writing through ffmpeg.

What you get
  • Playback addressed by name instead of by path: `mpv_play` takes a `query` and searches the Music and Videos folders for something like "sultans of swing", and `mpv_add` puts a match on the playlist with `mode` "append-play" to start it straight away.
  • Position and volume in the notation you would say out loud: `mpv_seek` accepts seconds as "90", a timestamp as "1:30", or a relative jump as "+10" or "-30"; `mpv_volume` returns the current level or sets one anywhere in 0-150.
  • Transport that reports back rather than firing blind: `mpv_status` returns track title, position, duration, volume and pause state, `mpv_pause`, `mpv_resume`, `mpv_next` and `mpv_prev` move through the playlist, and `mpv_stop` clears the current file while preserving the playlist.
  • Playlists loaded from what is already on disk: `mpv_load_playlist` reads a .txt or .m3u file and, called with no `path`, lists the playlists available; `mpv_playlist` shows the current one with track numbers and the active track marked.
  • A file browser for deciding what to queue: `mpv_browse` lists music and video files, narrowed by `search`, `directory` and `limit`.
  • YouTube handled inside the same player: `mpv_youtube` takes a search query or a direct URL and streams the result through mpv, with `results` setting how many candidates come back; `mpv_download` pulls the same source down as MP3 audio or as full video through `format`.
  • Metadata read and rewritten in place: `mpv_info` returns artist, title, album and genre for a file found by search term or for whatever is playing, and `mpv_tag` writes `artist`, `title`, `album`, `genre`, `date` and `comment` through ffmpeg, inferring artist and title from the filename when you leave them out.
Requirements

A running mpv with a media library under your Music and Videos folders, and ffmpeg present for `mpv_tag` to write metadata. No account and no key.

Setup effort

One command — npx -y mpv-mcp-server