Skip to main content
Glama
yunq

xiaozhidog-mcp-music

by yunq

無料音楽MCPサーバー

これは小智AIスピーカー専用に設計された無料の音楽MCP(Model Context Protocol)サーバーであり、音楽検索や再生制御などの機能を提供します。

機能特性

  • 🎵 音楽検索: 曲名やアーティスト名による検索をサポート

  • ▶️ 再生制御: 再生、一時停止、停止、前の曲、次の曲

  • 🔊 音量制御: 再生音量の調整(0-100)

  • 📝 プレイリスト: プレイリストへの追加、表示、クリア

  • 🆓 完全無料: オープンソースライセンスに基づき、料金は一切かかりません

  • 🔌 標準インターフェース: MCPプロトコル標準に準拠

Related MCP server: mcp_music_server

インストールと設定

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の提出を歓迎します!


注意: 関連する音楽著作権法および規制を遵守し、合法的な音楽リソースのみを使用してください。

Related MCP Connectors

Related MCP Servers