mcp-mpv-player
Control the mpv media player through AI conversation to play media files, manage playback, and organize playlists. It auto-launches mpv if not running and integrates with MCP-compatible AI tools. Designed for Windows 10/11 via mpv's JSON IPC over Windows Named Pipe.
Playback Control
Play (
player_play): Open any file or URL (http/https/rtmp, etc.), with option to append to current playlistPause/Resume (
player_pause): Toggle pause and resumeStop (
player_stop): Stop playback and clear the current fileNext/Previous (
player_next,player_prev): Navigate between tracksSeek (
player_seek): Jump using relative (seconds), absolute (timestamp), or percentage-based seekingVolume (
player_set_volume): Adjust from 0 to 130Speed (
player_set_speed): Change playback speed (e.g. 0.5x, 1.0x, 2.0x)Status (
player_status): Retrieve file name, position, duration, volume, speed, and pause stateShuffle (
player_shuffle): Randomly shuffle the current playlist
Playlist Management (saved as .m3u files)
Create (
playlist_create): Create a new named playlist from a list of file paths or URLsLoad (
playlist_load): Load and play a saved playlist by nameAdd (
playlist_add): Append files to an existing playlistRemove (
playlist_remove): Remove a track by its 0-based indexList (
playlist_list): View all saved playlists or inspect the contents of a specific oneDelete (
playlist_delete): Permanently delete a saved playlist file
Allows control of the mpv media player via AI conversation, providing tools for playback management (play, pause, stop, seek, volume, and speed control) and comprehensive playlist management (creating, loading, and modifying playlists).
mcp-mpv-player
Control mpv media player through AI conversation. Play music and video, manage playlists — all via natural language.
Works with opencode and any MCP-compatible AI tool.
Installation
Make sure Node.js is installed, then run:
npx mcp-mpv-playerThe setup wizard will automatically:
Detect or install mpv
Locate your opencode config file
Register the MCP tool
Restart opencode when done.
Related MCP server: social-video-mcp
Usage Examples
Just talk to your AI naturally:
Play D:/Music/song.mp3
Pause
Next track
Skip forward 30 seconds
Jump to 2 minutes 30 seconds
Set volume to 80
Create a playlist called "chill" with D:/Music/a.mp3 and D:/Music/b.mp3
Play the "chill" playlist
ShuffleTools
Playback Control
Tool | Description |
| Play a file or URL, auto-starts mpv |
| Toggle pause / resume |
| Stop playback |
| Next track |
| Previous track |
| Seek by seconds / absolute time / percent |
| Set volume (0–130) |
| Set playback speed (0.5x / 1x / 2x …) |
| Get current playback status |
| Shuffle playlist and play from the start |
Playlist Management
Tool | Description |
| Create a new playlist |
| Load and play a saved playlist |
| Add files to a playlist |
| Remove a track from a playlist |
| List all playlists or inspect one |
| Delete a playlist |
Playlists are saved as .m3u files in %USERPROFILE%\mpv-playlists\.
Requirements
Windows 10 / 11
Node.js 18+
mpv (can be installed automatically by the setup wizard)
How It Works
mpv exposes a JSON IPC interface via a Windows Named Pipe (\\.\pipe\mpv-ipc). This tool runs as an MCP server, receives commands from the AI, and forwards them to mpv.
When player_play is called and mpv is not running, it is launched automatically with the IPC flag and stays running in the background between tracks.
License
MIT
Available Tools
16 toolsplayer_nextB
Skip to the next item in the playlist.
Inputs: no named parameters.
player_pauseA
Toggle pause / resume playback.
Inputs: no named parameters.
player_playA
Open and play a media file or URL. If mpv is not running, it will be launched automatically.
Inputs: path (required), append.
player_prevA
Go back to the previous item in the playlist.
Inputs: no named parameters.
player_seekC
Seek within the current media.
Inputs: value (required), mode.
player_set_speedA
Set playback speed multiplier. 1.0 = normal speed.
Inputs: speed (required).
player_set_volumeA
Set playback volume (0–130). 100 is default.
Inputs: volume (required).
player_shuffleA
Randomly shuffle the current playlist and start playing from the first track.
Inputs: no named parameters.
player_statusA
Get current playback status: file name, position, duration, volume, speed, pause state.
Inputs: no named parameters.
player_stopA
Stop playback and clear the current file.
Inputs: no named parameters.
playlist_addA
Add files to an existing playlist.
Inputs: name (required), files (required).
playlist_createB
Create a new playlist with a list of file paths.
Inputs: name (required), files (required).
playlist_deleteB
Delete a saved playlist file.
Inputs: name (required).
playlist_listA
List all saved playlists or show contents of a specific playlist.
Inputs: name.
playlist_loadB
Load a saved playlist by name and start playing it.
Inputs: name (required).
playlist_removeB
Remove a file from a saved playlist by index (0-based).
Inputs: name (required), index (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
Most tools are clearly distinct by action and target resource. The only mild overlap is player_play and playlist_load, since both start playback, but their inputs (file/URL vs saved playlist name) are different enough.
All tools follow the same resource_verb pattern: player_* controls playback and playlist_* manages playlists. The naming is uniform and predictable; player_status is the only noun-style tool but still fits the pattern.
16 tools is a slightly high but justifiable count for a media player server. Each tool maps to a real playback or playlist management operation, though a few could potentially be combined without much loss.
The surface covers core playback transport, volume/speed, status, and full playlist lifecycle (create, add, remove, list, load, delete). Minor gaps exist such as no explicit playlist reordering or mute control, but no critical dead ends for normal usage.
Maintenance
Related MCP Connectors
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.
Generate AI video, images and audio, and browse your history, from any MCP client.
Direct AI video, image, music and storyboard production from any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP control for foobar2000. Control your music player with an AI assistant!6MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI agents to play and control YouTube and TikTok videos through a native mpv player window. It supports browsing subscriptions, searching content, managing playlists, and fetching video metadata using authenticated browser cookies.234 npm4MIT
- AlicenseBqualityBmaintenanceVideo player for humans and AI. GUI + CLI + a built-in MCP server (39 tools) to drive playback, clip, transcribe, and search your media library from Claude, Cursor, or any MCP client. Local Whisper subtitles. MIT, local-first.1141MIT
- AlicenseAqualityDmaintenanceMCP server that enables natural language control of internet radio from Claude Code, with access to 30,000+ global stations, auto-playback via mpv, and a real-time status line with audio spectrum visualization.7MIT