ArtistLens

Accede a la API web de Spotify para buscar y recuperar información sobre canciones, álbumes, artistas y listas de reproducción.

Documentación

ArtistLens

smithery badge npm version

Un potente servidor del Protocolo de Contexto de Modelos (MCP) que proporciona acceso a la API web de Spotify. ArtistLens permite una interacción fluida con el catálogo musical de Spotify, incluyendo la búsqueda de canciones, álbumes y artistas, así como el acceso a información específica de artistas como sus canciones más populares y artistas relacionados.

Versión actual: 0.4.12

ArtistLens MCP server

Instalación

Instalación mediante Smithery

Para instalar ArtistLens para Claude Desktop automáticamente a través de Smithery:

npx -y @smithery/cli install @superseoworld/artistlens --client claude

Instalación manual

Puedes instalar el paquete de forma global:

npm install -g @thomaswawra/artistlens

O ejecutarlo directamente con npx:

npx -y @thomaswawra/artistlens

Configuración

Añade a tu archivo de configuración de MCP (por ejemplo, claude_desktop_config.json o cline_mcp_settings.json):

{
  "mcpServers": {
    "spotify": {
      "command": "npx",
      "args": ["-y", "@thomaswawra/artistlens"],
      "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id",
        "SPOTIFY_CLIENT_SECRET": "your_client_secret"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Necesitarás proporcionar tus credenciales de la API de Spotify:

  1. Ve al Panel de desarrolladores de Spotify
  2. Crea una nueva aplicación
  3. Obtén tu ID de cliente y tu secreto de cliente
  4. Añádelos a la configuración como se muestra arriba

Características

  • Busca canciones, álbumes, artistas y listas de reproducción
  • Obtén información de artistas, incluyendo sus canciones más populares y artistas relacionados
  • Obtén información de álbumes y sus canciones
  • Accede a nuevos lanzamientos y recomendaciones
  • Obtén información de audiolibros con contenido específico por mercado y capítulos
  • Nota: Los endpoints de audiolibros pueden requerir autenticación adicional o acceso específico por mercado
  • Obtén y modifica información de listas de reproducción (nombre, descripción, estado público/privado)
  • Accede a las canciones y elementos de listas de reproducción con soporte de paginación
  • Soporte tanto para IDs como para URIs de Spotify
  • Gestión automática de tokens con el flujo de credenciales de cliente
  • Suite de pruebas completa para toda la funcionalidad
  • Código bien organizado con separación de responsabilidades

Herramientas disponibles

  • get_access_token: Obtén un token de acceso válido de Spotify
  • search: Busca canciones, álbumes, artistas o listas de reproducción
  • get_artist: Obtén información de un artista
  • get_artist_top_tracks: Obtén las canciones más populares de un artista
  • get_artist_related_artists: Obtén artistas similares a un artista dado
  • get_artist_albums: Obtén los álbumes de un artista
  • get_album: Obtén información de un álbum
  • get_album_tracks: Obtén las canciones de un álbum
  • get_track: Obtén información de una canción
  • get_available_genres: Obtén una lista de géneros disponibles para recomendaciones
  • get_new_releases: Obtén nuevos lanzamientos de álbumes
  • get_recommendations: Obtén recomendaciones de canciones basadas en canciones, artistas o géneros semilla
  • get_audiobook: Obtén información de audiolibros con parámetro de mercado opcional
  • get_multiple_audiobooks: Obtén información de múltiples audiolibros (máximo 50)
  • get_audiobook_chapters: Obtén capítulos de un audiolibro con soporte de paginación (1-50 capítulos por solicitud)
  • get_playlist: Obtén una lista de reproducción propiedad de un usuario de Spotify
  • get_playlist_tracks: Obtén detalles completos de las canciones de una lista de reproducción (1-100 canciones por solicitud)
  • get_playlist_items: Obtén detalles completos de los elementos de una lista de reproducción (1-100 elementos por solicitud)
  • modify_playlist: Cambia los detalles de una lista de reproducción (nombre, descripción, estado público/privado, estado colaborativo)
  • add_tracks_to_playlist: Añade una o más canciones a una lista de reproducción con posición opcional
  • remove_tracks_from_playlist: Elimina una o más canciones de una lista de reproducción con posiciones opcionales e ID de instantánea
  • get_current_user_playlists: Obtén una lista de las listas de reproducción propiedad o seguidas por el usuario actual de Spotify (1-50 listas por solicitud)
  • get_featured_playlists: Obtén una lista de listas de reproducción destacadas de Spotify con configuración regional opcional y soporte de paginación
  • get_category_playlists: Obtén una lista de listas de reproducción de Spotify etiquetadas con una categoría particular

Actualización

Para actualizar a la versión más reciente:

# If installed globally
npm update -g @thomaswawra/artistlens

# If using npx, it will automatically use the latest version
npx -y @thomaswawra/artistlens

Desarrollo

Este proyecto es de código abierto y está disponible en GitHub en https://github.com/superseoworld/artistlens.

Estructura del proyecto

El código está organizado en los siguientes directorios:

  • src/handlers/: Contiene clases de controladores para diferentes endpoints de la API de Spotify
  • src/types/: Interfaces de TypeScript para objetos de solicitud y respuesta
  • src/utils/: Funciones y clases de utilidad para la comunicación con la API
  • src/__tests__/: Archivos de prueba de Jest para toda la funcionalidad

Pruebas

El proyecto utiliza Jest para las pruebas. Para ejecutar las pruebas:

npm test

Para ejecutar las pruebas en modo de observación durante el desarrollo:

npm run test:watch

Contribuciones

Para contribuir:

  1. Haz un fork del repositorio
  2. Crea tu rama de características (git checkout -b feature/amazing-feature)
  3. Añade pruebas para tus cambios
  4. Realiza tus commits (git commit -m 'Add some amazing feature')
  5. Sube la rama (git push origin feature/amazing-feature)
  6. Abre una Solicitud de Extracción (Pull Request)

Licencia

Licencia MIT

smithery badge