MCP Spotify Server
The MCP Spotify Server enables LLMs to interact with Spotify across four main areas:
Authentication: Initiate and complete OAuth2 login with Spotify (
spotify_auth,spotify_set_tokens)Search: Search for tracks, artists, albums, or playlists by query, with configurable result limits (
spotify_search)Playback Control:
Play a specific track (
spotify_play) or playlist (spotify_play_playlist)Pause (
spotify_pause), resume (spotify_resume), skip to next (spotify_next), or go to previous (spotify_previous)Get currently playing track info (
spotify_current_playing)List available playback devices (
spotify_devices)Target specific devices via an optional
device_idparameter
Playlist Management: List playlists (
spotify_playlists), create new playlists with name/description/visibility settings (spotify_create_playlist), and add tracks to existing playlists (spotify_add_tracks_to_playlist)
Provides comprehensive Spotify integration with OAuth2 authentication, music search capabilities, playback control (play, pause, skip), current track information, device management, and playlist management and playback functionality.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Spotify Server play some chill lo-fi beats"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🎵 MCP Spotify Server
Um servidor MCP (Model Context Protocol) que permite interagir com o Spotify através de LLMs. Este servidor fornece ferramentas para buscar música, controlar reprodução, gerenciar playlists e muito mais.
🚀 Funcionalidades
Autenticação OAuth2 com Spotify
Busca por músicas, artistas, álbuns e playlists
Controle de reprodução (tocar, pausar, próximo, anterior)
Informações da música atual
Gerenciamento de dispositivos
Listagem e reprodução de playlists
Related MCP server: Spotify MCP Node Server
📋 Pré-requisitos
Node.js (versão 18 ou superior)
Conta Spotify (Premium recomendado para funcionalidade completa)
Aplicação Spotify registrada no Spotify Developer Dashboard
ngrok (para expor o servidor local)
🛠️ Instalação
Clone o repositório:
git clone https://github.com/fborello/MCPSpotify.git cd MCPSpotifyInstale as dependências:
npm installInstale o ngrok:
macOS (com Homebrew):
brew install ngrok/ngrok/ngrokWindows (com Chocolatey):
choco install ngrokLinux:
# Baixe o binário do site oficial curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list sudo apt update && sudo apt install ngrokOu baixe diretamente do site oficial
Configure as variáveis de ambiente:
cp env.example .envEdite o arquivo
.envcom suas credenciais:SPOTIFY_CLIENT_ID=seu_client_id_aqui SPOTIFY_CLIENT_SECRET=seu_client_secret_aqui SPOTIFY_REDIRECT_URI=http://localhost:3000/callbackConfigure o MCP (opcional):
Para Claude Desktop:
cp configs/claude-desktop.example.json ~/.claude-desktop/config.json # Edite o arquivo com seu caminho e credenciaisPara Cursor:
cp configs/cursor.example.json ~/.cursor/mcp.json # Edite o arquivo com seu caminho e credenciaisPara outros clientes MCP:
cp mcp-config.example.json mcp-config.json # Edite o arquivo com seu caminho e credenciais
🔧 Configuração do Spotify
Acesse o Spotify Developer Dashboard
Clique em "Create App"
Preencha os dados:
App name: MCP Spotify Server
App description: Servidor MCP para integração com Spotify
Após criar, copie o Client ID e Client Secret
Clique em "Edit Settings" e adicione
http://localhost:3000/callbacknas Redirect URIs
🌐 Configuração do ngrok
Para que o OAuth do Spotify funcione corretamente, você precisa expor seu servidor local para a internet. O ngrok é a ferramenta recomendada para isso.
1. Crie uma conta no ngrok (opcional mas recomendado)
Acesse ngrok.com e crie uma conta gratuita
Isso permite URLs estáveis e remove limitações de tempo
2. Configure o ngrok
# Autentique sua conta (opcional)
ngrok config add-authtoken SEU_TOKEN_AQUI
# Exponha a porta 8080
ngrok http 80803. Atualize a Redirect URI
Copie a URL HTTPS fornecida pelo ngrok (ex:
https://abc123.ngrok.io)No Spotify Dashboard, adicione
https://abc123.ngrok.io/callbacknas Redirect URIsAtualize seu arquivo
.env:SPOTIFY_REDIRECT_URI=https://abc123.ngrok.io/callback
4. Inicie o servidor
# Em um terminal, mantenha o ngrok rodando
ngrok http 8080
# Em outro terminal, inicie o servidor
npm run dev🚀 Uso
Desenvolvimento
# Terminal 1: Inicie o ngrok
ngrok http 8080
# Terminal 2: Inicie o servidor
npm run devProdução
npm run build
npm start🎯 Ferramentas Disponíveis
Autenticação
spotify_auth- Inicia o processo de autenticaçãospotify_set_tokens- Finaliza a autenticação com ocodede retorno
Busca
spotify_search- Busca por músicas, artistas, álbuns ou playlists
Controle de Reprodução
spotify_play- Toca uma música específicaspotify_pause- Pausa a reproduçãospotify_resume- Retoma a reproduçãospotify_next- Pula para a próxima músicaspotify_previous- Volta para a música anterior
Informações
spotify_current_playing- Obtém informações sobre a música atualspotify_devices- Lista dispositivos disponíveisspotify_playlists- Lista playlists do usuário
Playlists
spotify_play_playlist- Toca uma playlist específica
📝 Exemplos de Uso
Fluxo de Autenticação
Iniciar o login (vai abrir o navegador)
{
"name": "spotify_auth",
"arguments": {}
}Depois de autorizar no Spotify, copie o
coderetornado e finalize:
{
"name": "spotify_set_tokens",
"arguments": { "code": "SEU_CODE_AQUI" }
}Buscar uma música
{
"name": "spotify_search",
"arguments": {
"query": "Bohemian Rhapsody",
"type": "track",
"limit": 5
}
}Tocar uma música
{
"name": "spotify_play",
"arguments": {
"track_id": "4uLU6hMCjMI75M1A2tKUQC"
}
}Buscar playlists
{
"name": "spotify_playlists",
"arguments": {
"limit": 10
}
}✅ Validar o Servidor MCP
Para verificar se o servidor está configurado corretamente:
npm run validateEste comando irá:
✅ Verificar se o build existe
✅ Validar o arquivo
.env✅ Checar variáveis de ambiente
✅ Mostrar a configuração correta para o cliente MCP
Configuração do Cliente MCP
Após validar, você pode usar a configuração sugerida pelo script no seu arquivo de configuração do cliente:
Para Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"spotify": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/caminho/para/MCPSpotify",
"env": {
"SPOTIFY_CLIENT_ID": "seu_client_id",
"SPOTIFY_CLIENT_SECRET": "seu_client_secret",
"SPOTIFY_REDIRECT_URI": "sua_redirect_uri"
}
}
}
}Para Claude Desktop (~/.claude-desktop/config.json):
{
"mcpServers": {
"spotify": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/caminho/para/MCPSpotify",
"env": {
"SPOTIFY_CLIENT_ID": "seu_client_id",
"SPOTIFY_CLIENT_SECRET": "seu_client_secret",
"SPOTIFY_REDIRECT_URI": "sua_redirect_uri"
}
}
}
}Importante:
Use
node dist/index.js(nãotsx src/index.ts) para produçãoCertifique-se de que o caminho
cwdestá corretoInclua as variáveis de ambiente no arquivo de configuração
Após alterar a configuração, reinicie o cliente MCP
🔒 Segurança
As credenciais do Spotify são armazenadas apenas localmente
Os tokens de acesso são renovados automaticamente
Nenhuma informação é enviada para servidores externos (exceto Spotify)
🐛 Solução de Problemas
Erro de Autenticação
Verifique se as credenciais no
.envestão corretasConfirme se a Redirect URI está configurada no Spotify Dashboard
Certifique-se de que o ngrok está rodando e a URL está atualizada no
.envVerifique se a URL do ngrok no Spotify Dashboard corresponde à URL no arquivo
.env
Erro "Cannot find module" ou caminho incorreto
Erro:
Cannot find module '/Users/.../src/index.ts'Solução: Use
node dist/index.jsao invés detsx src/index.tsno arquivo de configuração do MCPExecute
npm run buildantes de usar o servidorCertifique-se de que o
cwdno arquivo de configuração aponta para o diretório correto do projetoExecute
npm run validatepara gerar a configuração correta
Dispositivo Não Encontrado
Certifique-se de que o Spotify está aberto em algum dispositivo
Verifique se o dispositivo está ativo na sua conta Spotify
Erro de Permissões
Algumas funcionalidades requerem Spotify Premium
Verifique se todas as permissões foram concedidas durante a autenticação
Problemas com ngrok
URL muda a cada reinicialização: Use uma conta ngrok gratuita para URLs estáveis
Erro de conexão: Verifique se o ngrok está rodando na porta correta (3000)
Timeout: Certifique-se de que o servidor está rodando antes de iniciar o ngrok
URL não acessível: Verifique se o firewall não está bloqueando a conexão
📄 Licença
MIT License - veja o arquivo LICENSE para detalhes.
🤝 Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
📞 Suporte
Se você encontrar problemas ou tiver dúvidas, abra uma issue no repositório.
Available Tools
14 toolsspotify_add_tracks_to_playlistC
Adiciona músicas a uma playlist existente
Inputs: playlist_id (required), track_ids (required).
spotify_authB
Inicia o processo de autenticação com o Spotify
Inputs: no named parameters.
spotify_create_playlistC
Cria uma nova playlist no Spotify
Inputs: name (required), description, public.
spotify_current_playingB
Obtém informações sobre a música que está tocando
Inputs: no named parameters.
spotify_devicesB
Lista dispositivos disponíveis para reprodução
Inputs: no named parameters.
spotify_nextC
Pula para a próxima música
Inputs: device_id.
spotify_pauseC
Pausa a reprodução atual
Inputs: device_id.
spotify_playC
Toca uma música específica no Spotify
Inputs: track_id (required), device_id.
spotify_playlistsC
Lista playlists do usuário
Inputs: limit.
spotify_play_playlistC
Toca uma playlist específica
Inputs: playlist_id (required), device_id.
spotify_previousB
Volta para a música anterior
Inputs: device_id.
spotify_resumeC
Retoma a reprodução pausada
Inputs: device_id.
spotify_searchC
Busca por músicas, artistas, álbuns ou playlists no Spotify
Inputs: query (required), type (required), limit.
spotify_set_tokensC
Conclui a autenticação com o código recebido do Spotify
Inputs: code (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 14 tools
Each tool has a clearly distinct purpose with no overlap: authentication (auth, set_tokens), playback control (play, pause, resume, next, previous), playlist management (create, add_tracks, playlists, play_playlist), search, and device/status queries. The descriptions reinforce these distinct roles, making misselection unlikely.
All tools follow a consistent 'spotify_verb' or 'spotify_verb_noun' pattern in snake_case, with verbs like 'add', 'create', 'play', 'pause', etc. This predictability makes the tool set easy to navigate and understand at a glance.
With 14 tools, this server is well-scoped for a Spotify integration, covering authentication, playback control, playlist operations, search, and device management. Each tool earns its place without bloat, supporting common user workflows effectively.
The tool surface is nearly complete for core Spotify interactions, including authentication, playback, playlists, and search. A minor gap is the lack of tools for modifying or deleting playlists, but agents can work around this with existing tools like create and add_tracks.
Maintenance
Related MCP Connectors
Spotify MCP server for ChatGPT, Claude and any AI agent: search songs and artists, list playlists, read playlist songs, create playlist, add songs to playlist, remove songs from playlist, set playlist public or private and save to Liked Songs in your own Spotify account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Spotify yourself; Cotlet does not store your password and you need no Spotify API key. About the official Spotify API: Spotify has a full Web API and, since 23 Apr 2026, an official connector for Claude (checked 5 Nov 2026). The API needs an app you register, and in development mode the app owner must have Premium and the app allows 5 users; unlimited users need a registered business with at least 250,000 monthly users. Setup and FAQ: https://cotlet.dev/integrations/spotify-api-mcp-server
Full Spotify Web API coverage - albums, artists, playlists, player controls, and more.
Spotify: Spotify Data API for Millions of songs & podcasts, artists, albums, playlists and more.
Generate full songs with vocals, instrumentals and sound effects from text. One server for Suno, Google Lyria, Mureka, MiniMax, ACE-Step, YuE and ElevenLabs. Your agent can quote the credit cost before generating, start a song, wait for it to finish and return download links. Sign in with OAuth; optional daily credit caps; retries never charge twice.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Spotify through natural language for music discovery, playback control, library management, and playlist creation. Supports searching for music, controlling playback, managing saved tracks, and getting personalized recommendations based on mood and preferences.133 npm5MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to control Spotify playback, manage playlists, search music, and access listening history. Requires Spotify Premium and uses secure OAuth 2.0 with PKCE authentication.13133 npmMIT
- AlicenseAqualityDmaintenanceEnables interaction with Spotify through OAuth 2.0 authentication, supporting search for tracks/artists/albums/playlists, user profile access, and playlist management including creation and adding tracks.6MIT
- AlicenseCqualityDmaintenanceEnables natural language control of Spotify, including search, playback, and device management, with robust error handling and automatic token refresh.325 npmMIT