ArtistLens

Acesse a API Web do Spotify para pesquisar e obter informações sobre faixas, álbuns, artistas e playlists.

Documentação

ArtistLens

smithery badge npm version

Um poderoso servidor Model Context Protocol (MCP) que fornece acesso à Spotify Web API. O ArtistLens permite interação perfeita com o catálogo musical do Spotify, incluindo busca por faixas, álbuns e artistas, além de acesso a informações específicas de artistas, como faixas mais populares e artistas relacionados.

Versão Atual: 0.4.12

ArtistLens MCP server

Instalação

Instalando via Smithery

Para instalar o ArtistLens para Claude Desktop automaticamente via Smithery:

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

Instalação Manual

Você pode instalar o pacote globalmente:

npm install -g @thomaswawra/artistlens

Ou executá-lo diretamente com npx:

npx -y @thomaswawra/artistlens

Configuração

Adicione ao seu arquivo de configurações MCP (ex.: claude_desktop_config.json ou 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": []
    }
  }
}

Você precisará fornecer suas credenciais da API do Spotify:

  1. Acesse o Spotify Developer Dashboard
  2. Crie um novo aplicativo
  3. Obtenha seu Client ID e Client Secret
  4. Adicione-os à configuração conforme mostrado acima

Recursos

  • Busque por faixas, álbuns, artistas e playlists
  • Obtenha informações de artistas, incluindo faixas mais populares e artistas relacionados
  • Obtenha informações de álbuns e faixas
  • Acesse novos lançamentos e recomendações
  • Obtenha informações de audiolivros com conteúdo específico por mercado e capítulos
  • Nota: Os endpoints de audiolivros podem exigir autenticação adicional ou acesso específico por mercado
  • Obtenha e modifique informações de playlists (nome, descrição, status público/privado)
  • Acesse faixas e itens de playlists com suporte a paginação
  • Suporte para IDs e URIs do Spotify
  • Gerenciamento automático de tokens com fluxo de credenciais do cliente
  • Suíte de testes abrangente para todas as funcionalidades
  • Código bem organizado com separação de responsabilidades

Ferramentas Disponíveis

  • get_access_token: Obtenha um token de acesso válido do Spotify
  • search: Busque por faixas, álbuns, artistas ou playlists
  • get_artist: Obtenha informações de um artista
  • get_artist_top_tracks: Obtenha as faixas mais populares de um artista
  • get_artist_related_artists: Obtenha artistas semelhantes a um determinado artista
  • get_artist_albums: Obtenha os álbuns de um artista
  • get_album: Obtenha informações de um álbum
  • get_album_tracks: Obtenha as faixas de um álbum
  • get_track: Obtenha informações de uma faixa
  • get_available_genres: Obtenha uma lista de gêneros disponíveis para recomendações
  • get_new_releases: Obtenha novos lançamentos de álbuns
  • get_recommendations: Obtenha recomendações de faixas com base em faixas, artistas ou gêneros de semente
  • get_audiobook: Obtenha informações de audiolivros com parâmetro de mercado opcional
  • get_multiple_audiobooks: Obtenha informações de múltiplos audiolivros (máx. 50)
  • get_audiobook_chapters: Obtenha capítulos de um audiolivro com suporte a paginação (1-50 capítulos por solicitação)
  • get_playlist: Obtenha uma playlist de propriedade de um usuário do Spotify
  • get_playlist_tracks: Obtenha detalhes completos das faixas de uma playlist (1-100 faixas por solicitação)
  • get_playlist_items: Obtenha detalhes completos dos itens de uma playlist (1-100 itens por solicitação)
  • modify_playlist: Altere detalhes da playlist (nome, descrição, estado público/privado, status colaborativo)
  • add_tracks_to_playlist: Adicione uma ou mais faixas a uma playlist com posição opcional
  • remove_tracks_from_playlist: Remova uma ou mais faixas de uma playlist com posições opcionais e ID de snapshot
  • get_current_user_playlists: Obtenha uma lista das playlists de propriedade ou seguidas pelo usuário atual do Spotify (1-50 playlists por solicitação)
  • get_featured_playlists: Obtenha uma lista de playlists em destaque do Spotify com localidade opcional e suporte a paginação
  • get_category_playlists: Obtenha uma lista de playlists do Spotify marcadas com uma categoria específica

Atualização

Para atualizar para a versão mais recente:

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

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

Desenvolvimento

Este projeto é open source e está disponível no GitHub em https://github.com/superseoworld/artistlens.

Estrutura do Projeto

O código está organizado nos seguintes diretórios:

  • src/handlers/: Contém classes de manipuladores para diferentes endpoints da API do Spotify
  • src/types/: Interfaces TypeScript para objetos de solicitação e resposta
  • src/utils/: Funções utilitárias e classes para comunicação com a API
  • src/__tests__/: Arquivos de teste Jest para todas as funcionalidades

Testes

O projeto usa Jest para testes. Para executar os testes:

npm test

Para executar os testes em modo de observação durante o desenvolvimento:

npm run test:watch

Contribuindo

Para contribuir:

  1. Faça um fork do repositório
  2. Crie sua branch de funcionalidade (git checkout -b feature/amazing-feature)
  3. Adicione testes para suas alterações
  4. Faça commit das suas alterações (git commit -m 'Add some amazing feature')
  5. Envie para a branch (git push origin feature/amazing-feature)
  6. Abra um Pull Request

Licença

Licença MIT

smithery badge