Skip to main content
Glama
suhajdab

Spotify Playlist MCP

by suhajdab

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_id Spotify, истекает через 10 минут и разрешает только одно применение.

  • Потребляет план перед первой записью, чтобы частично примененная операция не могла быть случайно повторена.

Срок действия токенов обновления Spotify в настоящее время истекает через шесть месяцев после авторизации. spotify_auth_status сообщает оставшееся время, чтобы запланированная задача могла предупредить до того, как потребуется повторная авторизация. См. руководство по обновлению токенов Spotify.

Related MCP server: MCP Spotify Server

Инструменты

Инструмент

Тип

Назначение

spotify_auth_status

Чтение

Сообщает статус авторизации и возраст токена обновления без возврата учетных данных

spotify_list_owned_playlists

Чтение

Перечисляет принадлежащие плейлисты, видимость, количество, снимки и ссылки

spotify_search_tracks

Чтение

Ищет кандидатов на треки, максимум 10 результатов на запрос

spotify_get_playlist

Чтение

Возвращает текущие метаданные плейлиста и доступные для воспроизведения элементы

spotify_plan_playlist_changes

Чтение

Проверяет и предварительно просматривает добавления, удаления, имя, описание или изменения видимости

spotify_apply_playlist_plan

Запись

Применяет один точный, не истекший, одноразовый план

Добавления треков добавляются в конец. Удаления по 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 --status

Spotify в настоящее время требует повторную авторизацию каждые шесть месяцев, поскольку обновление токена доступа не продлевает срок действия токена обновления.

Конфигурация 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 и не читает реальный файл токена.

Лицензия

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An 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.
    33
    2
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    A lightweight MCP server that enables AI assistants like Cursor and Claude to control Spotify playback, playlists, and manage tokens via OAuth.
    15
    2
  • F
    license
    Not graded
    quality
    C
    maintenance
    A lightweight MCP server that enables AI assistants to control Spotify playback and manage playlists.

View all related MCP servers

Related MCP Connectors

  • MCP server for interacting with the Supabase platform

  • MCP server for managing Prisma Postgres.

  • MCP server for Producer/Riffusion AI music generation

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/suhajdab/spotify-playlist-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server