Skip to main content
Glama
yunq

xiaozhidog-mcp-music

by yunq

Бесплатный MCP-сервер для музыки

Это бесплатный MCP-сервер (Model Context Protocol), специально разработанный для умной колонки Xiaozhi AI, предоставляющий функции поиска музыки, управления воспроизведением и многое другое.

Функциональные возможности

  • 🎵 Поиск музыки: Поддержка поиска по названию песни и исполнителю

  • ▶️ Управление воспроизведением: Воспроизведение, пауза, стоп, предыдущий трек, следующий трек

  • 🔊 Управление громкостью: Регулировка громкости воспроизведения (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. Настройка Xiaozhi AI

Шаг 1: Получение точки доступа MCP

  1. Войдите в консоль xiaozhi.me

  2. Перейдите на страницу настройки роли агента

  3. В правом нижнем углу найдите точку доступа MCP, предназначенную для этого агента

Шаг 2: Настройка MCP-сервера

Добавьте следующую конфигурацию в консоли Xiaozhi AI:

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

Использование

После завершения настройки вы можете взаимодействовать с Xiaozhi 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. Обновите файлы конфигурации и документацию

Устранение неполадок

Часто задаваемые вопросы

В: Сервер не запускается О: Проверьте версию Python и правильность установки зависимостей

В: Xiaozhi AI не может подключиться О: Убедитесь, что путь к файлу указан верно, и проверьте конфигурацию точки доступа MCP

В: Нет результатов поиска О: В настоящее время используются имитационные данные, можно подключить реальный музыкальный API

Режим отладки

Включение подробного логирования:

PYTHON_LOG_LEVEL=DEBUG python3 music_mcp_server.py

Лицензия

Этот проект распространяется по лицензии MIT, вы можете свободно использовать, изменять и распространять его.

Вклад

Приветствуются Issue и Pull Request для улучшения этого проекта!


Примечание: Пожалуйста, убедитесь, что вы соблюдаете соответствующие законы и правила об авторских правах на музыку, используйте только легальные музыкальные ресурсы.

Related MCP Connectors

Related MCP Servers