mcpField
M
mpv-mcp-server

mpv-mcp-server

本地服务
github.com/arijit-gogoi游戏娱乐128 周前更新

关于 mpv-mcp-server

mpv-mcp-server 让 MCP 客户端控制 mpv,适合通过对话管理本地媒体播放、播放列表及 YouTube 内容。它通过 mpv 的 JSON IPC 通信,并可在 mpv 未运行时自动启动播放器。

主要功能

  1. 01播放、暂停、跳转和调节音量
  2. 02浏览媒体库并管理播放列表
  3. 03搜索并流播或下载 YouTube 内容
  4. 04读取媒体信息并写入标签

适用场景

  1. 01从 MCP 客户端控制本地音乐或视频
  2. 02搜索媒体文件并组织播放列表
  3. 03播放或下载 YouTube 音视频
  4. 04查看文件元数据并修改标签

MCP 相关

该 MCP 服务向兼容客户端提供 mpv 播放控制、媒体库、YouTube 和元数据工具,并通过 JSON IPC 与 mpv 通信。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"arijit-gogoi-mpv": {
"command": "npx",
"args": [
"-y",
"mpv-mcp-server"
],
"env": {
"MPV_PATH": "<MPV_PATH>",
"MPV_IPC_PATH": "<MPV_IPC_PATH>",
"MPV_MEDIA_DIRS": "<MPV_MEDIA_DIRS>",
"MPV_DOWNLOAD_DIR": "<MPV_DOWNLOAD_DIR>"
}
}
}
}
启动命令npx -y mpv-mcp-server
需要配置的环境变量
MPV_PATHPath to mpv executable (default: mpv from PATH)
MPV_IPC_PATHIPC socket path (default: named pipe on Windows, Unix socket on macOS/Linux)
MPV_MEDIA_DIRSComma-separated media directories to scan (default: ~/Music,~/Videos)
MPV_DOWNLOAD_DIRDownload directory for YouTube downloads (default: ~/Downloads)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmpv-mcp-server1.2.0

工具

17

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

mpv-mcp-server

用于控制 mpv 媒体播放器的 MCP 服务。浏览音乐库、控制播放、流式播放 YouTube 内容并下载曲目——这一切都可以在 Claude Code 等 MCP 客户端中完成。

前置条件

  • mpv — 媒体播放器(必须位于 PATH 中,或设置 MPV_PATH)
  • Node.js 22+
  • yt-dlp (可选) — 流式播放和下载 YouTube 内容时必需
  • ffmpeg (可选) — 提取音频、读取元数据(ffprobe)和写入标签时必需

快速开始

Claude Code

将以下内容添加到项目的 .mcp.json:

{
  "mcpServers": {
    "mpv": {
      "command": "npx",
      "args": ["-y", "mpv-mcp-server"]
    }
  }
}

或添加到用户级配置中(在所有项目中可用):

claude mcp add mpv --scope user -- npx -y mpv-mcp-server
Claude Desktop

将以下内容添加到 Claude Desktop 配置中:

{
  "mcpServers": {
    "mpv": {
      "command": "npx",
      "args": ["-y", "mpv-mcp-server"]
    }
  }
}
使用环境变量覆盖配置
{
  "mcpServers": {
    "mpv": {
      "command": "npx",
      "args": ["-y", "mpv-mcp-server"],
      "env": {
        "MPV_PATH": "/usr/local/bin/mpv",
        "MPV_MEDIA_DIRS": "/home/user/Music,/home/user/Podcasts",
        "MPV_DOWNLOAD_DIR": "/home/user/Music"
      }
    }
  }
}

配置

所有配置均通过环境变量进行,且都有合理的默认值。

变量默认值说明
MPV_PATHmpvmpv 可执行文件的路径
MPV_IPC_PATH\\.\pipe\mpvpipe(Windows)或 /tmp/mpv-ipc.sock(Unix)IPC 套接字路径
MPV_MEDIA_DIRS~/Music,~/Videos要扫描的媒体目录,以逗号分隔
MPV_DOWNLOAD_DIR~/Downloads下载文件的保存位置

工具

播放
工具说明
mpv_play按路径或搜索词播放文件
mpv_pause暂停播放
mpv_resume继续播放
mpv_stop停止播放
mpv_status获取当前播放状态
mpv_seek跳转到指定位置("90"、"1:30"、"+10"、"-30")
mpv_volume获取或设置音量(0-150)
媒体库
工具说明
mpv_browse列出并搜索可用的媒体文件
mpv_playlist显示当前播放列表
mpv_add将曲目添加到播放列表
mpv_load_playlist加载播放列表文件(.m3u、.pls、.txt)
mpv_next跳到下一首曲目
mpv_prev返回上一首曲目
YouTube
工具说明
mpv_youtube搜索 YouTube 并通过 mpv 流式播放(支持追加模式)
mpv_download从 YouTube 下载内容(音频或视频)

YouTube 工具要求 PATH 中有 yt-dlp。下载音频还需要 ffmpeg。

元数据
工具说明
mpv_info获取当前曲目或通过搜索词查找的任意文件的元数据
mpv_tag将元数据标签(艺人、标题、专辑、流派、日期、评论)写入文件

这两个工具都会根据“艺人 - 标题”的文件名格式推断艺人和标题。需要 ffmpeg(包含 ffprobe)。

工作原理

此服务通过 mpv 的 JSON IPC 协议与其通信。在 Windows 上使用命名管道,在 macOS/Linux 上使用 Unix 域套接字。如果 mpv 尚未运行,服务会自动以空闲模式启动它。mpv 进程会与服务分离,因此即使 MCP 服务退出,播放也会继续。

平台支持

本项目在 Windows 上开发并经过测试。macOS/Linux 支持已实现,但尚未测试——欢迎提交问题和 PR!

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。