GitHubスター
0
ユーザー評価
未評価
フォーク
0
イシュー
0
閲覧数
0
お気に入り
0
README
Spotify MCP Server
Un servidor MCP (Model Context Protocol) para integrar Spotify con Claude AI, permitiendo búsqueda, reproducción y gestión de playlists directamente desde conversaciones.
🎵 Características
- Autenticación OAuth 2.0 con Spotify
- Búsqueda de canciones y álbumes
- Control de reproducción (play/pause)
- Gestión de playlists (crear, obtener, agregar canciones)
- Análisis de audio (características técnicas de canciones)
- Información de perfil de usuario
- Manejo robusto de errores y logging
📋 Requisitos
- Python 3.10+
- Cuenta de Spotify (gratuita o premium)
- Aplicación registrada en Spotify Developer Dashboard
🚀 Instalación
1. Clonar el repositorio
git clone <repository-url>
cd spotify-mcp-server
2. Crear entorno virtual
python3 -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
3. Instalar dependencias
pip install -r requirements.txt
4. Configurar credenciales de Spotify
a) Crear aplicación en Spotify
- Ve a Spotify Developer Dashboard
- Haz clic en "Create App"
- Completa los campos:
- App name: Tu nombre preferido
- App description: Descripción de tu aplicación
- Redirect URI:
http://127.0.0.1:8888/callback
- Acepta los términos y crea la aplicación
- Copia el Client ID y Client Secret
b) Configurar credenciales localmente
# Copia el archivo de ejemplo
cp spotify_credentials_example.py spotify_credentials.py
# Edita el archivo con tus credenciales
# SPOTIFY_CLIENT_ID = "tu_client_id_real"
# SPOTIFY_CLIENT_SECRET = "tu_client_secret_real"
⚙️ Configuración en Claude/Cursor
Agrega la siguiente configuración a tu archivo mcp.json:
{
"mcpServers": {
"spotify-mcp": {
"command": "/ruta/completa/al/proyecto/venv/bin/python",
"args": [
"/ruta/completa/al/proyecto/fixed_server.py"
]
}
}
}
🎯 Uso
Autenticación
# Iniciar sesión (abrirá navegador para autorización)
login()
Búsqueda
# Buscar canciones
search_track("Bohemian Rhapsody Queen", limit=5)
# Buscar álbumes
search_album("Dark Side of the Moon", limit=3)
Reproducción
# Reproducir canción (requiere Spotify Premium)
play("track_id_aqui")
# Pausar reproducción
pause()
Playlists
# Obtener tus playlists
get_user_playlists(limit=20)
# Crear nueva playlist
create_playlist("Mi Playlist", "Descripción opcional")
# Agregar canciones a playlist
add_tracks_to_playlist("playlist_id", ["track_id_1", "track_id_2"])
Análisis
# Obtener características de audio
get_audio_features("track_id")
# Obtener perfil de usuario
get_profile()
🔒 Seguridad
- ✅ Las credenciales se almacenan localmente
- ✅ Los tokens se manejan automáticamente
- ✅ Autenticación OAuth 2.0 estándar
- ❌ NUNCA compartas tu
spotify_credentials.py - ❌ NUNCA subas archivos
.spotify_token_cache
🛠️ Desarrollo
Estructura del proyecto
spotify-mcp-server/
├── fixed_server.py # Servidor MCP principal
├── spotify_credentials_example.py # Plantilla de credenciales
├── requirements.txt # Dependencias
├── README.md # Este archivo
├── .gitignore # Archivos ignorados por Git
└── logs/ # Logs del servidor (ignorado)
Logging
Los logs se guardan en logs/spotify_mcp.log y incluyen:
- Eventos de autenticación
- Errores de API
- Operaciones exitosas
- Información de debugging
🐛 Solución de problemas
Error de autenticación
- Verifica que las credenciales sean correctas
- Confirma que la Redirect URI esté configurada como
http://127.0.0.1:8888/callback - Asegúrate de que el puerto 8888 esté disponible
Error de reproducción
- La reproducción requiere Spotify Premium
- Verifica que tengas un dispositivo activo en Spotify
Error de permisos
- Confirma que hayas autorizado todos los scopes necesarios
- Reautentica si es necesario con
login()
📄 Licencia
Este proyecto es de código abierto. Úsalo responsablemente y respeta los términos de servicio de Spotify.
🤝 Contribuciones
Las contribuciones son bienvenidas. Por favor:
- Fork el repositorio
- Crea una rama para tu feature
- Commit tus cambios
- Push a la rama
- Abre un Pull Request
⚠️ Importante: Este servidor es para uso personal y educativo. Respeta los límites de rate de la API de Spotify y sus términos de servicio.
スレッド