Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Xiaozhi Music

FreeNot checked

Provides music search, playback control, volume adjustment, and playlist management for Xiaozhi AI speakers via MCP.

GitHubEmbed

About

Provides music search, playback control, volume adjustment, and playlist management for Xiaozhi AI speakers via MCP.

README

这是一个专为小智AI音响设计的免费音乐MCP(模型上下文协议)服务器,提供音乐搜索、播放控制等功能。

功能特性

  • 🎵 音乐搜索: 支持按歌曲名、歌手名搜索
  • ▶️ 播放控制: 播放、暂停、停止、上一首、下一首
  • 🔊 音量控制: 调节播放音量(0-100)
  • 📝 播放列表: 添加、查看、清空播放列表
  • 🆓 完全免费: 基于开源协议,无需付费
  • 🔌 标准接口: 遵循MCP协议标准

安装配置

1. 环境准备

确保已安装Python 3.8+:

python3 --version

2. 安装依赖

cd /Users/a1234/Documents/music
pip3 install -r requirements.txt

3. 测试服务器

python3 music_mcp_server.py

4. 小智AI配置

步骤1:获取MCP接入点

  1. 登录 xiaozhi.me 控制台
  2. 进入智能体的配置角色页面
  3. 在右下角找到该智能体专属的MCP接入点

步骤2:配置MCP服务器

在小智AI控制台中添加以下配置:

{
  "name": "免费音乐服务器",
  "command": "python3",
  "args": ["/Users/a1234/Documents/music/music_mcp_server.py"],
  "transport": "stdio"
}

使用方法

配置完成后,您可以通过语音或文字与小智AI交互:

音乐搜索

  • "搜索周杰伦的歌曲"
  • "找一些流行音乐"
  • "搜索青花瓷"

播放控制

  • "播放青花瓷"
  • "暂停音乐"
  • "继续播放"
  • "停止播放"
  • "下一首歌"
  • "上一首歌"

音量控制

  • "音量调到80"
  • "声音小一点"
  • "音量设置为50"

播放列表管理

  • "显示播放列表"
  • "添加这首歌到播放列表"
  • "清空播放列表"

可用工具

工具名称 功能描述 参数
search_music 搜索音乐 query(搜索关键词), limit(结果数量)
play_music 播放指定歌曲 song_id(歌曲ID), song_name, artist
pause_music 暂停播放
resume_music 继续播放
stop_music 停止播放
next_song 下一首歌
previous_song 上一首歌
set_volume 设置音量 volume(0-100)
add_to_playlist 添加到播放列表 song_id, song_name, artist
get_playlist 获取播放列表
clear_playlist 清空播放列表

技术架构

  • 协议: MCP (Model Context Protocol)
  • 传输: stdio(标准输入输出)
  • 语言: Python 3.8+
  • 依赖: mcp, httpx, pydantic

扩展开发

接入真实音乐API

当前版本使用模拟数据,您可以修改 search_music_api 函数来接入真实的免费音乐API:

async def search_music_api(query: str, limit: int = 10) -> List[Dict[str, Any]]:
    async with httpx.AsyncClient() as client:
        # 接入您选择的免费音乐API
        response = await client.get(
            "https://api.example.com/search",
            params={"q": query, "limit": limit}
        )
        data = response.json()
        return parse_search_results(data)

添加新功能

  1. handle_list_tools() 中添加新工具定义
  2. handle_call_tool() 中实现工具逻辑
  3. 更新配置文件和文档

故障排除

常见问题

Q: 服务器启动失败 A: 检查Python版本和依赖包是否正确安装

Q: 小智AI无法连接 A: 确认文件路径正确,检查MCP接入点配置

Q: 搜索无结果 A: 当前使用模拟数据,可接入真实音乐API

调试模式

启用详细日志:

PYTHON_LOG_LEVEL=DEBUG python3 music_mcp_server.py

许可证

本项目基于MIT许可证开源,您可以自由使用、修改和分发。

贡献

欢迎提交Issue和Pull Request来改进这个项目!


注意: 请确保遵守相关音乐版权法律法规,仅使用合法的音乐资源。

from github.com/bangjiong925-commits/xiaozhi-music-mcp

Installing Xiaozhi Music

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/bangjiong925-commits/xiaozhi-music-mcp

FAQ

Is Xiaozhi Music MCP free?

Yes, Xiaozhi Music MCP is free — one-click install via Unyly at no cost.

Does Xiaozhi Music need an API key?

No, Xiaozhi Music runs without API keys or environment variables.

Is Xiaozhi Music hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Xiaozhi Music in Claude Desktop, Claude Code or Cursor?

Open Xiaozhi Music on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Xiaozhi Music with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All media MCPs