音乐播放工具是一个功能丰富的 MCP 音乐播放器,支持在线搜索播放、本地音乐管理、歌词显示等功能。
搜索播放在线音乐:
播放控制:
本地音乐管理:
播放状态查询:
歌词功能:
高级功能:
AI 助手会根据您的需求自动调用音乐播放工具,为您提供流畅的音乐体验。
搜索在线音乐并开始播放。
参数:
song_name (必需): 要搜索的歌曲名称、歌手或关键词使用场景:
获取本地缓存的音乐文件列表。
参数:
force_refresh (可选): 是否强制刷新,默认false使用场景:
在本地音乐中搜索指定歌曲。
参数:
query (必需): 搜索关键词使用场景:
根据歌曲ID播放本地音乐。
参数:
file_id (必需): 本地音乐文件ID使用场景:
切换播放和暂停状态。
参数: 无
使用场景:
停止当前播放。
参数: 无
使用场景:
跳转到歌曲的指定时间位置。
参数:
position (必需): 跳转位置(秒)使用场景:
获取当前播放器的详细状态信息。
参数: 无
使用场景:
获取当前播放歌曲的歌词。
参数: 无
使用场景:
# 搜索并播放歌曲
result = await mcp_server.call_tool("search_and_play", {
"song_name": "周杰伦 青花瓷"
})
# 播放/暂停控制
result = await mcp_server.call_tool("play_pause", {})
# 停止播放
result = await mcp_server.call_tool("stop", {})
# 跳转到指定位置
result = await mcp_server.call_tool("seek", {
"position": 90.5
})
# 获取本地音乐列表
result = await mcp_server.call_tool("get_local_playlist", {
"force_refresh": True
})
# 搜索本地音乐
result = await mcp_server.call_tool("search_local_music", {
"query": "周杰伦"
})
# 播放本地歌曲
result = await mcp_server.call_tool("play_local_song_by_id", {
"file_id": "song_123"
})
# 获取播放状态
result = await mcp_server.call_tool("get_status", {})
# 获取歌词
result = await mcp_server.call_tool("get_lyrics", {})
{
"status": "success",
"current_song": "青花瓷 - 周杰伦",
"is_playing": true,
"paused": false,
"duration": 237.5,
"position": 89.2,
"progress": 37.6,
"has_lyrics": true
}
{
"file_id": "song_123",
"title": "青花瓷",
"artist": "周杰伦",
"album": "我很忙",
"duration": "03:57",
"file_size": 5242880,
"format": "mp3"
}
{
"status": "success",
"lyrics": [
"[00:12] 素胚勾勒出青花笔锋浓转淡",
"[00:18] 瓶身描绘的牡丹一如你初妆",
"[00:24] 冉冉檀香透过窗心事我了然"
]
}
音频播放相关配置:
AudioConfig = {
"OUTPUT_SAMPLE_RATE": 44100,
"CHANNELS": 2,
"BUFFER_SIZE": 1024
}
缓存目录配置:
cache_dir = Path(project_root) / "cache" / "music"
temp_cache_dir = cache_dir / "temp"
在线音乐服务配置:
config = {
"SEARCH_URL": "http://search.kuwo.cn/r.s",
"PLAY_URL": "http://api.xiaodaokg.com/kuwo.php",
"LYRIC_URL": "http://m.kuwo.cn/newh5/singles/songinfoandlrc"
}
通过音乐播放工具,您可以享受丰富的音乐体验,包括在线搜索、本地播放、歌词显示等功能。