LabscoMCP early access ↗
arijit-gogoiMCP SERVER

mpv Media Player Control

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.

by arijit-gogoi ↗Music & Audio ProductionCommunity

LABSCO 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