spotify-mcp
spotify-mcp
Сервер Model Context Protocol (MCP), который связывает Claude со Spotify. Управляйте воспроизведением Spotify, ищите музыку, управляйте плейлистами и многое другое — и все это через естественное общение с Claude.
Примечание о форке: Этот проект является форком varunneal/spotify-mcp и обновлен для изменений в Spotify Web API от февраля 2026 года. Создан и поддерживается с помощью Claude Code.
Что изменилось (v0.4.0)
Переработка архитектуры
Удален
spotipy— теперь используетсяhttpxнапрямую (нативный асинхронный режим, без оберткиasyncio.to_thread)Единый модуль —
server.py,spotify_api.py,utils.pyобъединены в один файлFastMCP — чистые декораторы
@mcp.tool()вместо ручного ToolModel + маршрутизации match/case2 зависимости — только
mcp+httpx(былоmcp+spotipy+python-dotenv)Явная OAuth —
spotify-mcp --authдля первоначальной настройки, автоматическое обновление при последующем использовании
Функции (сохранены из v0.3.0)
Запуск, пауза и пропуск воспроизведения
Поиск треков, альбомов, исполнителей и плейлистов
Получение подробной информации о любом элементе Spotify
Управление очередью воспроизведения
Полный CRUD плейлистов (создание, чтение, обновление, удаление треков)
Получение понравившихся/сохраненных песен с опциональным обогащением жанрами
Адаптировано для изменений API Spotify от февраля 2026 года
Related MCP server: Spotify MCP Server
Как это работает
Claude <--MCP (stdio)--> spotify-mcp <--httpx async--> Spotify Web APIClaude отправляет вызовы инструментов через протокол MCP
Сервер переводит их в запросы к Spotify Web API с использованием
httpxТокены OAuth обновляются автоматически; первоначальная авторизация через
spotify-mcp --authРезультаты парсятся в лаконичный JSON и возвращаются в Claude
Доступные инструменты
Инструмент | Действия | Описание |
|
| Управление воспроизведением музыки и громкостью |
| -- | Поиск треков, альбомов, исполнителей, плейлистов |
|
| Просмотр и управление очередью воспроизведения |
| -- | Получение подробной информации об элементе по URI Spotify |
|
| Полное управление плейлистами |
|
| Управление сохраненными песнями и проверка библиотеки |
| -- | Получение недавно прослушанных треков с метками времени |
|
| Список устройств и перенос воспроизведения |
Архитектура
src/spotify_mcp/
__init__.py # Entry point (stdio / --auth)
server.py # FastMCP server, API client, parsers — all in oneПредварительные требования
Python 3.12+
Аккаунт Spotify Premium (требуется для доступа к API в режиме разработчика с февраля 2026 года)
Учетные данные Spotify Developer App
Конфигурация
1. Создание приложения Spotify Developer
Перейдите на developer.spotify.com/dashboard
Создайте новое приложение
Установите URI перенаправления на
http://127.0.0.1:8080/callbackЗапишите свой Client ID и Client Secret
Важно (февраль 2026): Приложения в режиме разработчика ограничены 5 авторизованными пользователями и требуют, чтобы у владельца приложения была подписка Spotify Premium.
2. Первоначальная аутентификация
Запустите процесс аутентификации один раз, чтобы получить токен OAuth:
SPOTIFY_CLIENT_ID=your_id SPOTIFY_CLIENT_SECRET=your_secret uv run spotify-mcp --authЭто откроет браузер для входа в Spotify, а затем сохранит токен в ~/.spotify_mcp_cache.json.
3. Добавление в MCP-клиент
Запуск локально (рекомендуется)
git clone https://github.com/verIdyia/spotify-mcp.gitДобавьте в свою конфигурацию MCP (Claude Desktop, Cursor и т.д.):
{
"mcpServers": {
"spotify": {
"command": "uv",
"args": [
"--directory",
"/path/to/spotify-mcp",
"run",
"spotify-mcp"
],
"env": {
"SPOTIFY_CLIENT_ID": "your_client_id",
"SPOTIFY_CLIENT_SECRET": "your_client_secret",
"SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8080/callback"
}
}
}
}Запуск с помощью uvx
{
"mcpServers": {
"spotify": {
"command": "uvx",
"args": [
"--python", "3.12",
"--from", "git+https://github.com/verIdyia/spotify-mcp",
"spotify-mcp"
],
"env": {
"SPOTIFY_CLIENT_ID": "your_client_id",
"SPOTIFY_CLIENT_SECRET": "your_client_secret",
"SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8080/callback"
}
}
}
}Переменные окружения
Переменная | Обязательно | По умолчанию | Описание |
| Да | -- | Client ID приложения Spotify |
| Да | -- | Client Secret приложения Spotify |
| Нет |
| URI перенаправления OAuth |
| Нет |
| Путь к файлу кэша токенов |
Устранение неполадок
Первый запуск: Выполните
spotify-mcp --authдля завершения процесса OAuth перед использованием с MCP-клиентомТокен истек: Токены обновляются автоматически. Если проблемы сохраняются, повторно запустите
--authНет активного устройства: Убедитесь, что Spotify открыт и воспроизводит музыку хотя бы на одном устройстве
Убедитесь, что
uvобновлен — рекомендуется версия>=0.54
Отладка
Запустите инспектор MCP:
npx @modelcontextprotocol/inspector uv --directory /path/to/spotify-mcp run spotify-mcpСводка изменений Spotify API от февраля 2026 года
Изменение | Влияние | Статус |
Максимальный | Меньше результатов на поиск | Адаптировано |
Эндпоинты плейлистов | URL эндпоинтов изменены | Адаптировано |
Поле ответа | Парсинг обновлен | Адаптировано |
Пакетные GET-эндпоинты удалены | Необходимо получать по отдельности | Адаптировано |
Поле | Больше недоступно | Обработано |
Режим разработчика: лимит 5 пользователей, требуется Premium | Ограничение доступа | Задокументировано |
Авторы
Оригинальный проект: varunneal/spotify-mcp от Varun Srivastava (лицензия MIT)
Оригинальные участники: @jamiew, @davidpadbury, @manncodes, @hyuma7, @aanurraj, @JJGO и другие
Поддерживается с помощью: Claude Code (Anthropic)
Лицензия
Лицензия MIT — подробности см. в LICENSE.
Available Tools
6 toolsSpotifyGetInfoC
Get detailed information about a Spotify item...
Inputs: item_uri (required).
SpotifyLikedSongsC
Get user's liked (saved) songs from Spotify library.
Inputs: action (required), limit.
SpotifyPlaybackC
Manages the current playback...
Inputs: action (required), spotify_uri, num_skips.
SpotifyPlaylistC
Manage Spotify playlists.
Inputs: action (required), playlist_id, track_ids, name, +2 more.
SpotifyQueueC
Manage the playback queue - get the queue or add tracks.
Inputs: action (required), track_id.
SpotifySearchC
Search for tracks, albums, artists, or playlists on Spotify.
Inputs: query (required), qtype, limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose targeting different Spotify resources: GetInfo for item details, LikedSongs for saved songs, Playback for current playback control, Playlist for playlist management, Queue for queue operations, and Search for finding content. There is no overlap or ambiguity between these functions.
All tools follow a consistent 'Spotify' prefix with descriptive noun-based naming (e.g., SpotifyGetInfo, SpotifyPlaylist). The pattern is uniform across all six tools, making them easily identifiable and predictable.
With 6 tools, this server is well-scoped for Spotify integration, covering key areas like playback, playlists, search, and user library. Each tool serves a specific, necessary function without bloat or redundancy.
The toolset covers core Spotify functionalities including search, playback control, playlist management, and user data access. Minor gaps might include operations like following artists or managing user profile settings, but the provided tools support most common workflows effectively.
Maintenance
Related MCP Connectors
MCP server for Producer/Riffusion AI music generation
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Official Todoist MCP server. Manage tasks and projects. Hosted, no API key needed.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceAn MCP server that enables users to control Spotify playback, search for music, and manage playlists through MCP-compatible clients. It supports features like track recommendations and playback management using secure OAuth authentication.MIT
- AlicenseAqualityBmaintenanceMCP server for the Spotify Web API — gives Claude and other AI assistants tools to search music, control playback, manage playlists, library, and podcasts.475MIT
- AlicenseNot gradedqualityDmaintenanceAn unofficial MCP server that provides access to Spotify's Web API through the Model Context Protocol, enabling AI assistants to search music, manage playlists, and control playback.30 npm9ISC
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables searching and managing Spotify music, playlists, artists, albums, and audiobooks through natural language.2493 npmMIT