Token导航 LogoToken导航

MCP Server · 音视频

MCP Volumio

Volumio MCP Server是一个通过WebSocket API控制Volumio音乐播放器的服务器,支持AI代理和应用程序管理音乐播放、播放列表、音乐库等功能。

stdio官方级别未说明来源级核验工具 39
Python语音音频视频

快速开始

作者 / 组织
ilboud
提供方
ilboud
运行时
Docker

工具数量

39

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Volumio 属于音视频类 MCP Server,公开资料标注 39 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

音视频

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run -d \

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 39 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Volumeo MCP服务器

一种模型上下文协议(MCP)服务器,用于通过其WebSocket API控制Volumio音乐播放器。此服务器使AI代理和应用程序能够控制音乐播放、管理播放列表、浏览库以及与所有Volumeo功能进行交互。

主要特点

✨ 39综合工具 -使用前缀命名空间工具完全控制Volumeo(volumio_*) 📖 详细文件 -每个工具都有全面的文档字符串,其中包含使用示例和错误处理 📄 分页支持 -在搜索、浏览和队列操作中高效处理大型数据集 🔍 智能错误处理 -带有详细上下文的分类错误代码(连接、超时、验证等) 🐳 Docker就绪 -基于环境配置的生产就绪容器化部署 🔒 缺省巩固安全 -非根容器用户,HTTPS支持,使用Pydantic进行输入验证 📡 无状态HTTP -FastMCP采用HTTP流协议,实现高效通信 🔌 WebSocket客户端 -持久套接字。IO连接到Volumeio并自动重新连接

工具类别

回放控制

  • 播放、暂停、停止播放
  • 跳到下一首曲目,跳到上一首曲目
  • 寻找特定的播放位置
  • 查询当前玩家状态和轨迹信息

卷管理

  • 将音量设置为特定水平(0-100%)
  • 增加/减少音量
  • 静音/取消静音音频

播放模式

  • 启用/禁用随机洗牌模式
  • 启用/禁用重复模式
  • 获取/设置重复单曲

队列管理

  • 将曲目添加到队列
  • 按位置从队列中删除轨迹
  • 将队列项目移动到不同位置
  • 使用分页支持(限制/偏移)检索当前播放队列

播放列表管理

  • 创建新播放列表
  • 删除现有播放列表
  • 将曲目添加到播放列表
  • 从播放列表中删除曲目
  • 播放整个播放列表
  • Enqueue播放列表曲目

收藏夹管理

  • 将曲目添加到收藏夹
  • 从收藏夹中删除曲目

音乐库

  • 搜索支持分页的音乐库(建议至少3个字符)
  • 通过支持分页的URI浏览库
  • 获取可用的音乐源(USB、NAS、Spotify、网络广播等)
  • 获取可用的库过滤器(艺术家、专辑、流派等)

多房间音频

  • 检索所有连接的多房间设备
  • 获取设备状态和信息

睡眠和闹钟

  • 获取/设置睡眠定时器
  • 获取已配置的警报
  • 添加新警报
  • 删除警报

建筑

┌─────────────────────────────────────────┐
│         AI Application / Agent          │
└────────────────┬────────────────────────┘
                 │
                 │ HTTP/Streamable
                 ▼
┌─────────────────────────────────────────┐
│      Volumio MCP Server (FastAPI)       │
│  ├─ /health (Health checks)             │
│  ├─ /info (Server info)                 │
│  ├─ /mcp (MCP endpoint - streaming)     │
│  └─ Socket.io Client Manager            │
└────────────────┬────────────────────────┘
                 │
                 │ WebSocket (Socket.io)
                 ▼
┌─────────────────────────────────────────┐
│    Volumio Backend (WebSocket API)      │
│    Default: localhost:3000              │
└─────────────────────────────────────────┘

项目结构

mcp-volumio/
├── src/mcp_volumio/
│   ├── __init__.py              # Package initialization
│   ├── __main__.py              # Entry point
│   └── server.py                # Main MCP server implementation
├── pyproject.toml               # Python project configuration
├── Dockerfile                   # Docker container definition
├── docker-compose.yml           # HTTP deployment orchestration
├── docker-compose.https.yml     # HTTPS deployment orchestration
├── .env.example                 # Environment variables template
├── .dockerignore                # Docker ignore patterns
├── nginx/
│   ├── nginx.conf               # HTTP Nginx configuration
│   └── nginx-https.conf         # HTTPS Nginx configuration
├── ssl/
│   ├── README.md               # SSL certificate generation guide
│   └── (certificates - not in git)
├── scripts/
│   ├── start.sh                # Quick start script
│   ├── generate-ssl.sh         # SSL certificate generation
│   └── test-connection.py      # Connection test script
└── README.md                    # This file

需求

  • Docker和Docker Compose(用于容器化部署)
  • Python 3.11+(用于本地开发)
  • Volumeio实例正在运行且可访问(默认值:localhost:3000)
  • MCP服务器和Volumeio之间的网络连接

安装和部署

Docker快速入门(推荐)

  1. 克隆存储库:
   git clone 
   cd mcp-volumio
  1. 配置Volumeo连接:
   cp .env.example .env

编辑 .env 并设置您的Volumeo实例详细信息:

   # For Volumio on the same machine
   VOLUMIO_HOST=localhost
   VOLUMIO_PORT=3000

   # For Volumio on a different machine (recommended)
   VOLUMIO_HOST=192.168.1.100    # Replace with your Volumio's IP address
   VOLUMIO_PORT=3000

   # Optional: Change MCP server port (default: 8000)
   MCP_PORT=8000
   LOG_LEVEL=info
  1. 构建并启动Docker容器:
   docker compose build
   docker compose up -d
  1. 验证它是否正在运行:
   docker ps --filter "name=mcp-volumio-server"
   docker logs mcp-volumio-server

MCP服务器将在 http://localhost:8000.

Docker部署选项

HTTP部署(开发和本地使用)

使用docker编写:

# Start container
docker compose up -d

# View logs
docker logs mcp-volumio-server -f

# Stop container
docker compose down

# Rebuild and restart
docker compose up -d --build

通过命令行传递Volumeo主机名:

# Using environment variable
VOLUMIO_HOST=192.168.1.100 docker compose up -d

# Or edit .env file and restart
docker compose restart

手动运行Docker(不使用compose):

docker build -t mcp-volumio:latest .

docker run -d \
  --name mcp-volumio-server \
  -p 8000:8000 \
  -e VOLUMIO_HOST=192.168.1.100 \
  -e VOLUMIO_PORT=3000 \
  -e LOG_LEVEL=info \
  -v $(pwd)/data:/app/data \
  -v $(pwd)/logs:/app/logs \
  mcp-volumio:latest

终点:

  • MCP服务器: http://localhost:8000
  • MCP可流式传输: http://localhost:8000/mcp
HTTPS部署(使用Nginx的生产环境)
  1. 生成SSL证书:
   chmod +x scripts/generate-ssl.sh
   ./scripts/generate-ssl.sh
  1. 为您的域更新.env:
   VOLUMIO_HOST=192.168.1.100  # Your Volumio IP
   DOMAIN_NAME=your-domain.com
   HTTPS_PORT=443
   HTTP_PORT=80
  1. 从HTTPS开始:
   docker compose -f docker-compose.https.yml up -d

终点:

  • MCP服务器: https://your-domain.com
  • MCP可流式传输: https://your-domain.com/mcp

地方发展设置

  1. 安装Python依赖项:
   uv sync
  1. 创建.env文件:
   cp .env.example .env
  1. 运行服务器:
   uv run python -m mcp_volumio

服务器将于启动 http://localhost:8000 并尝试连接到Volumio localhost:3000.

配置

环境变量

# MCP Server
MCP_HOST=0.0.0.0          # Server host (container)
MCP_PORT=8000             # Server port

# Volumio Connection
VOLUMIO_HOST=localhost    # Volumio instance host
VOLUMIO_PORT=3000         # Volumio instance WebSocket port

# Logging
LOG_LEVEL=info            # Logging level (debug, info, warning, error)

# Nginx/HTTPS
HTTP_PORT=80              # HTTP port
HTTPS_PORT=443            # HTTPS port
DOMAIN_NAME=localhost     # Domain for SSL certificates

Volumeo网络接入

确保您的Volumeo实例可访问:

# Test connectivity
curl http://:3000/api/v1/getstate

# Check if WebSocket is available
nc -zv  3000

用法

MCP工具

服务器公开了39个用于控制Volumeo的工具。所有工具都以前缀 volumio_ 以防止与其他MCP服务器一起使用时发生命名冲突。

示例:

播放当前曲目
# Request
{
  "name": "volumio_play",
  "arguments": {}
}

# Response
{"status": "success", "message": "Play command sent"}
设置音量
# Request
{
  "name": "volumio_set_volume",
  "arguments": {"volume": 75}
}

# Response
{"status": "success", "message": "Volume set to 75%"}
搜索音乐库
# Request
{
  "name": "volumio_search",
  "arguments": {"query": "Beatles"}
}

# Response
{"status": "success", "data": { ... }}
添加到播放列表
# Request
{
  "name": "volumio_add_to_playlist",
  "arguments": {
    "playlist_name": "My Favorites",
    "uri": "music-library/artist/The Beatles/Let It Be",
    "service": "mpd"
  }
}

# Response
{"status": "success", "message": "Added track to playlist 'My Favorites' (service: mpd)"}

API 参考

所有工具都以前缀 volumio_ 以防止多服务器环境中的命名冲突。

回放控制

工具参数说明
volumio_play无开始播放
volumio_pause无暂停播放
volumio_stop无停止播放
volumio_next无跳到下一首曲目
volumio_previous无播放上一首曲目
volumio_seekposition: int定位(秒)
volumio_get_player_state无获取当前玩家状态\*

音量控制

工具参数说明
volumio_set_volumevolume: int (0-100)设置音量级别
volumio_increase_volume无增加音量
volumio_decrease_volume无减少音量
volumio_mute无将音频静音
volumio_unmute无取消音频静音

播放模式

工具参数说明
volumio_set_randomenabled: bool启用/禁用随机播放
volumio_set_repeatenabled: bool启用/禁用重复
volumio_set_repeat_singleenabled: bool启用/禁用重复单轨

队列管理

工具参数说明
volumio_add_to_queueuri: str, service?: str将曲目添加到队列
volumio_remove_from_queueposition: int按位置删除
volumio_move_queue_itemfrom_position: int, to_position: int移动项目
volumio_get_queuelimit?: int (1-200, default: 50), offset?: int (default: 0)使用分页获取当前队列\*

播放列表管理

工具参数说明
volumio_create_playlistname: str, service?: str创建新播放列表
volumio_create_spotify_playlistname: str创建Spotify播放列表
volumio_delete_playlistname: str删除播放列表
volumio_add_to_playlistplaylist_name: str, uri: str, service: str添加曲目
volumio_remove_from_playlistplaylist_name: str, uri: str移除轨道
volumio_play_playlistname: str播放整个播放列表
volumio_enqueue_playlistname: str将播放列表添加到队列
volumio_get_playlists无列出所有播放列表\*

音乐库

工具参数说明
volumio_searchquery: str, limit?: int (1-200, default: 50), offset?: int (default: 0)带分页的搜索库\*
volumio_browse_libraryuri: str, limit?: int (1-500, default: 100), offset?: int (default: 0)按带分页的URI浏览\*
volumio_get_browse_sources无列出音乐源
volumio_get_browse_filters无列出可用筛选器

收藏夹

工具参数说明
volumio_add_to_favoritesuri: str, title: str, service: str添加到收藏夹
volumio_remove_from_favoritesuri: str, service: str从收藏夹中删除

多房间

工具参数说明
volumio_get_multiroom_devices无获取多房间设备\*

闹钟和睡眠

工具参数说明
volumio_get_sleep_timer无获取睡眠定时器状态
volumio_set_sleep_timerenabled: bool, time?: str设置睡眠定时器
volumio_get_alarms无获取所有警报
volumio_add_alarmtime: str (HH:MM), playlist_uri: str添加警报
volumio_remove_alarmalarm_id: int解除报警

\*标有星号的工具返回具有结构化数据的已验证Pydantic模型。

监控与管理

集装箱监控

# Check container status
docker ps --filter "name=mcp-volumio-server"

# View logs
docker logs mcp-volumio-server -f

# View recent logs
docker logs mcp-volumio-server --tail 50

测试连接

chmod +x scripts/test-connection.py
python scripts/test-connection.py

停止/重新启动服务器

# Stop
docker-compose down

# Restart
docker-compose up -d

# Stop with data cleanup
docker-compose down -v

故障排除

服务器无法启动

  1. 检查Docker:
   docker --version
   docker-compose --version
  1. 检查Volumeo连接:
   curl http://:3000/api/v1/getstate
  1. 查看日志:
   docker-compose logs mcp-server

无法连接到Volumeo

  1. 验证Volumeio是否正在运行:
   ping 
   nc -zv  3000
  1. 使用正确的Volumeo主机更新.env:
   VOLUMIO_HOST=
   VOLUMIO_PORT=3000
  1. 重新启动服务器:
   docker-compose restart

HTTPS证书问题

  1. 重新生成证书:
   ./scripts/generate-ssl.sh
  1. 检查证书有效性:
   openssl x509 -in ssl/cert.pem -text -noout
  1. 确保证书可读:
   ls -la ssl/
   chmod 644 ssl/cert.pem ssl/key.pem

发展

运行测试

uv run pytest -v

代码质量

# Format code
uv run black src/

# Lint code
uv run ruff check src/

# Type checking
uv run mypy src/

在当地建设

# Install dependencies
uv sync

# Run directly
uv run python -m mcp_volumio

# Build Docker image
docker build -t mcp-volumio:local .

API文件参考

有关Volumio的WebSocket API的详细信息,请参阅:

性能注意事项

  • 无状态操作:服务器是无状态的,可以水平扩展
  • 连接池:Socket.io客户端自动处理重新连接
  • 超时管理:WebSocket命令的默认5秒超时
  • 流媒体支持:用于高效长轮询的HTTP流协议

安全考虑

  1. 网络接入:仅限制访问受信任的网络
  2. SSL/TLS:在生产环境中使用HTTPS(请参阅SSL证书设置)
  3. 认证:如果需要,在反向代理级别实施身份验证
  4. 输入验证:所有输入参数均使用Pydantic进行验证
  5. 集装箱安全:服务器在容器内以非root用户身份运行

许可证

有关详细信息,请参阅LICENSE文件。

贡献

欢迎投稿!请确保:

  • 代码遵循黑色/褶边风格指南
  • 所有测试均通过
  • 文档已更新
  • 提交消息是描述性的

支持

对于问题、功能请求或疑问:

  1. 检查故障排除部分
  2. 查看Volumio API文档
  3. 检查应用程序日志: docker-compose logs mcp-server
  4. 打开一个包含详细信息的问题

更新日志

v0.5.0(最新版本-第4阶段:错误处理)

  • 增强的错误处理:具有6种错误代码类型的全面错误分类

- CONNECTION_ERROR, TIMEOUT_ERROR, VALIDATION_ERROR, VOLUMIO_ERROR, INTERNAL_ERROR, PARAMETER_ERROR

  • 标准化错误响应:所有工具返回一致的错误格式和可选的详细信息
  • 改进日志记录:为所有33个命令工具添加了日志记录(以前缺失)
  • 更好的调试:错误响应包括上下文(事件名称、超时、参数)
  • 分离的错误类型:TimeoutError、ValidationError和ConnectionError的处理方式不同
  • 修复了Docker构建问题(uv.lock、README.md、.dockerinore)
  • 将docker-compose.yml更新为现代语法(删除了过时的版本属性)

v0.4.0(第3阶段:分页支持)

  • 大型数据集的分页:为3个高容量工具添加了分页支持

- volumio_get_queue:限制(1-200,默认值:50),偏移参数 - volumio_search:限制(1-200,默认值:50),偏移参数 - volumio_browse_library:限制(1-500,默认值:100),偏移参数

  • 分页元数据:所有分页响应包括总计、偏移、限制、返回、has_more
  • 按类别分页:搜索和浏览支持在每个结果类别中分页
  • 客户端分页:高效的结果切片,因为Volumeio不支持服务器端分页
  • 修复了带注释\[type,Field()\]模式的默认参数处理

v0.3.0(第2阶段:综合文档)

  • 根据MCP最佳实践,为所有39个工具添加了详细的文档字符串
  • 工具文档包括:

- 功能和目的的清晰描述 - 完整的参数文档,包括类型、范围和示例 - 带有响应结构的详细返回值文档 - 使用示例(何时使用/何时不使用) - 全面的错误处理文档 - 关于Volumeo特定行为和限制的说明

  • 通过上下文丰富的工具描述增强了AI代理的可用性

v0.2.0(第1阶段:MCP最佳实践)

  • 突发:将所有39个工具重命名为 volumio_ 前缀(例如。, play → volumio_play)
  • 突发:服务器名称从“Volumio”更改为“Volumio_mcp”
  • 添加了全面的工具注释(readOnlyHint、destructiveHint、幂等Hint、openWorldHint)
  • 改进了多服务器兼容性
  • 用新的工具名称更新了所有文档

v0.1.0(初始版本)

  • Volumeo MCP服务器的初步实现
  • 39个音乐控制和管理工具
  • 支持HTTP和HTTPS的Docker部署
  • 具有无状态HTTP传输的FastMCP
  • 插座。用于Volumeio通信的IO WebSocket客户端
  • API完整文档

工具与能力

工具数量

39

资源数量

0

提示词数量

0

能力标签

音乐控制Python本地部署WebSocketAPI播放列表管理音乐库浏览多房间音频

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

语音转文字

把会议录音转成文字,再整理要点。

文字转语音

把文案转成配音,调整语速和音色。

视频素材处理

提取字幕、剪出片段、生成封面。

选择建议

值得选的地方

  • 工具数量 39 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在音视频场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Volumio

MCP World · 本页

39stdio有1 个2026-05-17
Youtube E0eb3510

MCP World

0stdio有1 个2026-05-17
Ableton MCP B7b69a6a

MCP World

16stdio有2 个2026-05-17
Voicemode MCP

MCP World

0stdio有3 个2026-05-17
Short Video Maker MCP

MCP World

0stdio有3 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Volumio 怎么安装?

公开资料给出的安装命令是 docker run -d \,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Volumio 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

MCP Volumio 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Volumio 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Volumio 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP