Spotify Playlist MCP
Spotify Playlist MCP
Локальный MCP-сервер STDIO для безопасного управления плейлистами Spotify из запланированных задач Codex desktop. Он может просматривать принадлежащие плейлисты, искать треки Spotify, обновлять метаданные плейлиста, а также добавлять или удалять треки через ограниченный рабочий процесс «план/применение».
Модель безопасности
Читает учетные данные Spotify и настройки безопасности только из игнорируемого
.envэтого проекта, с возможными переопределениями на уровне процесса.Хранит токен OAuth в
~/.config/spotify-playlist-mcp/token.jsonс правами доступа к файлу0600.Отказывает в любой записи, если идентификатор плейлиста отсутствует в
SPOTIFY_ALLOWED_PLAYLIST_IDS.Проверяет, что аутентифицированный пользователь владеет плейлистом.
Ограничивает каждый план параметром
SPOTIFY_MAX_CHANGES_PER_PLAN, по умолчанию10затронутых треков.Привязывает планы к текущему
snapshot_idSpotify, истекает через 10 минут и разрешает только одно применение.Потребляет план перед первой записью, чтобы частично примененная операция не могла быть случайно повторена.
Срок действия токенов обновления Spotify в настоящее время истекает через шесть месяцев после авторизации. spotify_auth_status сообщает оставшееся время, чтобы запланированная задача могла предупредить до того, как потребуется повторная авторизация. См. руководство по обновлению токенов Spotify.
Related MCP server: MCP Spotify Server
Инструменты
Инструмент | Тип | Назначение |
| Чтение | Сообщает статус авторизации и возраст токена обновления без возврата учетных данных |
| Чтение | Перечисляет принадлежащие плейлисты, видимость, количество, снимки и ссылки |
| Чтение | Ищет кандидатов на треки, максимум 10 результатов на запрос |
| Чтение | Возвращает текущие метаданные плейлиста и доступные для воспроизведения элементы |
| Чтение | Проверяет и предварительно просматривает добавления, удаления, имя, описание или изменения видимости |
| Запись | Применяет один точный, не истекший, одноразовый план |
Добавления треков добавляются в конец. Удаления по URI удаляют каждое совпадающее вхождение, и количество воздействий отражает это поведение. Сервер намеренно не предоставляет массовую замену, произвольные запросы, удаление плейлистов или незапланированные записи.
Установка и проверка
source ~/.nvm/nvm.sh
nvm use 24.14.0
npm install
npm test
npm run typecheck
npm run build
npm auditОдноразовая авторизация Spotify
URI перенаправления в .env должен точно совпадать с настройкой панели управления Spotify. Текущий обратный вызов loopback — http://127.0.0.1:3000/auth/callback.
npm run authОткройте напечатанный URL Spotify и одобрите области доступа. Команда получает обратный вызов loopback и сохраняет токен конфиденциально. Проверьте статус, не раскрывая учетные данные:
node dist/auth-cli.js --statusSpotify в настоящее время требует повторную авторизацию каждые шесть месяцев, поскольку обновление токена доступа не продлевает срок действия токена обновления.
Конфигурация Codex desktop
Настольное приложение, CLI и расширение IDE используют общий ~/.codex/config.toml. Запланированная задача на рабочем столе может запускать этот STDIO-сервер напрямую:
[mcp_servers.spotify-playlists]
command = "/absolute/path/to/node"
args = ["/absolute/path/to/spotify-playlist-mcp/dist/index.js"]
cwd = "/absolute/path/to/spotify-playlist-mcp"
enabled = true
required = true
default_tools_approval_mode = "auto"
tool_timeout_sec = 60
[mcp_servers.spotify-playlists.env]
SPOTIFY_ALLOWED_PLAYLIST_IDS = "replace-with-owned-playlist-id"
SPOTIFY_MAX_CHANGES_PER_PLAN = "10"
[mcp_servers.spotify-playlists.tools.spotify_apply_playlist_plan]
approval_mode = "approve"Перезапустите настольное приложение ChatGPT после изменения конфигурации MCP. Держите компьютер включенным и приложение запущенным, когда запланированной задаче нужен локальный сервер. См. официальную документацию по конфигурации Codex MCP и документацию по запланированным задачам.
Оставьте SPOTIFY_ALLOWED_PLAYLIST_IDS пустым, пока не будет создан предполагаемый публичный плейлист и не проверен его точный идентификатор. Несколько идентификаторов можно разделять запятыми.
Предлагаемый запрос для запланированной задачи
Use the Spotify playlist MCP to curate only the configured allowlisted playlist.
First check spotify_auth_status and stop with a warning when authorization is missing or due within 14 days.
Inspect the current playlist before searching for candidates.
Follow the playlist's stated audience and description.
Do not remove protected anchor tracks unless the task prompt explicitly names them.
Make no more than the configured change cap.
Create a playlist change plan, report its additions, removals, metadata updates, and warnings, then apply that exact plan only when it matches these rules.
Report the final snapshot ID and Spotify link.Протестируйте этот запрос вручную перед планированием. Запланированные запуски выполняются без присмотра, поэтому инструмент изменения не должен быть настроен на запрос подтверждения.
Разработка
npm test
npm run typecheck
npm run buildВ тестах используются имитации Spotify в памяти и транспорт MCP в памяти. Ни один тест не вызывает Spotify и не читает реальный файл токена.
Лицензия
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
The official Planning Center MCP server for interacting with your ministry's data.
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server for bulk Spotify operations enabling batch playlist creation, library exports, and large-scale library management with confidence scoring and human-in-the-loop for uncertain matches.3318 PyPI2MIT
- FlicenseAqualityDmaintenanceA lightweight MCP server that enables AI assistants like Cursor and Claude to control Spotify playback, playlists, and manage tokens via OAuth.152-
- AlicenseAqualityDmaintenanceMCP server to control Spotify conversationally from Claude, Cursor, and other AI clients.11164 npm1MIT
- AlicenseBqualityBmaintenanceA local-first Spotify MCP server providing typed tools for music search, playback, playlists, audio analysis, and snapshot-safe DJ planning, with OAuth PKCE and no client secret stored.531MIT