local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Enables control of Spotify playback and playlist management, including searching for tracks/albums/artists, playing music, creating playlists, adding tracks to playlists, and controlling playback (pause, skip, etc.).
Cursor 및 Claude와 같은 AI 어시스턴트가 Spotify 재생을 제어하고 재생 목록을 관리할 수 있도록 하는 가벼운 모델 컨텍스트 프로토콜(MCP) 서버입니다.
예시 상호작용
- "엘비스의 첫 번째 노래를 재생해줘"
- "테일러 스위프트/슬립낫 퓨전 플레이리스트 만들기"
- "운동 플레이리스트에 있는 모든 테크노 트랙을 직장 플레이리스트로 복사해줘"
도구
읽기 작업
- Spotify 검색
- 설명 : Spotify에서 트랙, 앨범, 아티스트 또는 재생 목록을 검색하세요
- 매개변수 :
query
(문자열): 검색어type
(문자열): 검색할 항목 유형(트랙, 앨범, 아티스트, 재생 목록)limit
(숫자, 선택 사항): 반환할 최대 결과 수(10-50)
- 반환 : ID, 이름 및 추가 세부 정보가 포함된 일치하는 항목 목록
- 예 :
searchSpotify("bohemian rhapsody", "track", 20)
- 지금 재생 중
- 설명 : Spotify에서 현재 재생 중인 트랙에 대한 정보를 가져옵니다.
- 매개변수 : 없음
- 반환 : 트랙 이름, 아티스트, 앨범, 재생 진행률, 지속 시간 및 재생 상태를 포함하는 객체
- 예 :
getNowPlaying()
- 내 재생목록 가져오기
- 설명 : Spotify에서 현재 사용자의 재생 목록 목록을 가져옵니다.
- 매개변수 :
limit
(숫자, 선택 사항): 반환할 최대 재생 목록 수(기본값: 20)offset
(숫자, 선택 사항): 반환할 첫 번째 재생 목록의 인덱스(기본값: 0)
- 반환 : ID, 이름, 트랙 수 및 공개 상태가 포함된 재생 목록 배열
- 예 :
getMyPlaylists(10, 0)
- getPlaylistTracks
- 설명 : 특정 Spotify 재생 목록의 트랙 목록을 가져옵니다.
- 매개변수 :
playlistId
(문자열): 재생 목록의 Spotify IDlimit
(숫자, 선택 사항): 반환할 최대 트랙 수(기본값: 100)offset
(숫자, 선택 사항): 반환할 첫 번째 트랙의 인덱스(기본값: 0)
- 반환 : ID, 이름, 아티스트, 앨범, 기간 및 추가 날짜가 포함된 트랙 배열
- 예 :
getPlaylistTracks("37i9dQZEVXcJZyENOWUFo7")
플레이/작성 작업
- 음악 재생
- 설명 : Spotify에서 트랙, 앨범, 아티스트 또는 재생 목록 재생을 시작합니다.
- 매개변수 :
uri
(문자열, 선택 사항): 재생할 항목의 Spotify URI(type 및 id를 재정의)type
(문자열, 선택 사항): 재생할 항목 유형(트랙, 앨범, 아티스트, 재생 목록)id
(문자열, 선택 사항): 재생할 항목의 Spotify IDdeviceId
(문자열, 선택 사항): 재생할 장치의 ID
- 반환 : 성공 상태
- 예 :
playMusic({ uri: "spotify:track:6rqhFgbbKwnb9MLmUQDhG6" })
- 대안 :
playMusic({ type: "track", id: "6rqhFgbbKwnb9MLmUQDhG6" })
- 일시 정지 재생
- 설명 : Spotify에서 현재 재생 중인 트랙을 일시 정지합니다.
- 매개변수 :
deviceId
(문자열, 선택 사항): 일시 중지할 장치의 ID
- 반환 : 성공 상태
- 예 :
pausePlayback()
- 다음으로 건너뛰기
- 설명 : 현재 재생 대기열에서 다음 트랙으로 건너뜁니다.
- 매개변수 :
deviceId
(문자열, 선택 사항): 장치의 ID
- 반환 : 성공 상태
- 예 :
skipToNext()
- 이전으로 건너뛰기
- 설명 : 현재 재생 대기열에서 이전 트랙으로 건너뜁니다.
- 매개변수 :
deviceId
(문자열, 선택 사항): 장치의 ID
- 반환 : 성공 상태
- 예 :
skipToPrevious()
- createPlaylist
- 설명 : Spotify에서 새 재생목록 만들기
- 매개변수 :
name
(문자열): 새 재생 목록의 이름description
(문자열, 선택 사항): 재생 목록에 대한 설명public
(부울, 선택 사항): 재생 목록을 공개할지 여부(기본값: false)
- 반환 : 새 재생 목록의 ID 및 URL이 있는 객체
- 예시 :
createPlaylist({ name: "Workout Mix", description: "Songs to get pumped up", public: false })
- 트랙 추가 재생목록
- 설명 : 기존 Spotify 재생 목록에 트랙 추가
- 매개변수 :
playlistId
(문자열): 재생 목록의 IDtrackUris
(배열): 추가할 트랙 URI 또는 ID 배열position
(숫자, 선택 사항): 트랙을 삽입할 위치
- 반환 : 성공 상태 및 스냅샷 ID
- 예 :
addTracksToPlaylist({ playlistId: "3cEYpjA9oz9GiPac4AsH4n", trackUris: ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh"] })
- addToQueue
- 설명 : 현재 재생 대기열에 트랙, 앨범, 아티스트 또는 재생 목록을 추가합니다.
- 매개변수 :
uri
(문자열, 선택 사항): 대기열에 추가할 항목의 Spotify URI(type 및 id보다 우선)type
(문자열, 선택 사항): 대기열에 추가할 항목 유형(트랙, 앨범, 아티스트, 재생 목록)id
(문자열, 선택 사항): 대기열에 추가할 항목의 Spotify IDdeviceId
(문자열, 선택 사항): 대기할 장치의 ID
- 반환 : 성공 상태
- 예 :
addToQueue({ uri: "spotify:track:6rqhFgbbKwnb9MLmUQDhG6" })
- 대안 :
addToQueue({ type: "track", id: "6rqhFgbbKwnb9MLmUQDhG6" })
설정
필수 조건
- Node.js v16+
- Spotify 프리미엄 계정
- 등록된 Spotify 개발자 애플리케이션
설치
지엑스피1
Spotify 개발자 애플리케이션 만들기
- Spotify 개발자 대시보드 로 이동
- Spotify 계정으로 로그인하세요
- "앱 만들기" 버튼을 클릭하세요
- 앱 이름과 설명을 입력하세요
- 서비스 약관에 동의하고 "만들기"를 클릭하세요.
- 새 앱의 대시보드에서 클라이언트 ID를 볼 수 있습니다.
- "클라이언트 비밀번호 표시"를 클릭하여 클라이언트 비밀번호를 표시합니다.
- "설정 편집"을 클릭하고 리디렉션 URI(예:
http://localhost:8888/callback
)를 추가합니다. - 변경 사항을 저장하세요
Spotify API 구성
프로젝트 루트에 spotify-config.json
파일을 만듭니다(제공된 예를 복사하여 수정할 수 있습니다).
그런 다음 자격 증명으로 파일을 편집합니다.
인증 프로세스
Spotify API는 인증에 OAuth 2.0을 사용합니다. 다음 단계에 따라 애플리케이션을 인증하세요.
- 인증 스크립트를 실행합니다.
- 스크립트가 권한 부여 URL을 생성합니다. 웹 브라우저에서 이 URL을 여세요.
- Spotify에 로그인하고 애플리케이션을 승인하라는 메시지가 표시됩니다.
- 승인 후 Spotify는 URL에 코드 매개변수가 포함된 지정된 리디렉션 URI로 리디렉션합니다.
- 인증 스크립트는 이 코드를 자동으로 액세스 토큰과 새로 고침 토큰으로 교환합니다.
- 이러한 토큰은
spotify-config.json
파일에 저장되며 이제 다음과 같은 모습이 됩니다.
- 서버는 필요할 때 새로 고침 토큰을 사용하여 액세스 토큰을 자동으로 새로 고칩니다.
Claude Desktop 및 Cursor와 통합
Claude Desktop과 함께 MCP 서버를 사용하려면 Claude 구성에 추가하세요.
커서의 경우, Cursor Settings
(Command + Shift + J)의 MCP 탭으로 이동하세요. 다음 명령어를 사용하여 서버를 추가하세요.
You must be authenticated.
Tools
Cursor 및 Claude와 같은 AI 어시스턴트가 Spotify 재생을 제어하고 재생 목록을 관리할 수 있도록 하는 가벼운 모델 컨텍스트 프로토콜 서버입니다.