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에서 최근 재생된 트랙 목록을 검색합니다.
- 매개변수 :
limit
(숫자, 선택 사항): 반환할 트랙의 최대 수를 지정하는 숫자입니다.
- 반환 : 트랙이 발견되면 최근 재생한 트랙의 포맷된 목록을 반환하고, 그렇지 않으면 "Spotify에 최근 재생한 트랙이 없습니다"라는 메시지를 반환합니다.
- 예 :
getRecentlyPlayed({ limit: 10 })
- 최근 재생됨
- 설명 : Spotify에서 최근 재생된 트랙 목록을 검색합니다.
- 매개변수 :
limit
(숫자, 선택 사항): 반환할 트랙의 최대 수를 지정하는 숫자입니다.
- 반환 : 트랙이 발견되면 최근 재생한 트랙의 포맷된 목록을 반환하고, 그렇지 않으면 "Spotify에 최근 재생한 트랙이 없습니다"라는 메시지를 반환합니다.
- 예 :
getRecentlyPlayed({ limit: 10 })
플레이/작성 작업
- 음악 재생
- 설명 : 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
파일에 저장되며 이제 다음과 같은 모습이 됩니다.
- 서버는 필요할 때 새로 고침 토큰을 사용하여 액세스 토큰을 자동으로 새로 고칩니다.
Cline 모델 확장을 통해 Claude Desktop, Cursor 및 VsCode와 통합
Claude Desktop과 함께 MCP 서버를 사용하려면 Claude 구성에 추가하세요.
커서의 경우, Cursor Settings
(Command + Shift + J)의 MCP 탭으로 이동하세요. 다음 명령어를 사용하여 서버를 추가하세요.
Cline으로 MCP를 올바르게 설정하려면 다음 파일 구성 세트 cline_mcp_settings.json
이 있는지 확인하세요.
자동 승인 배열에 추가 도구를 추가하여 사용자의 개입 없이 도구를 실행할 수 있습니다.
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Cursor 및 Claude와 같은 AI 어시스턴트가 Spotify 재생을 제어하고 재생 목록을 관리할 수 있도록 하는 가벼운 모델 컨텍스트 프로토콜 서버입니다.
Related MCP Servers
- -security-license-qualityA Model Context Protocol server that enables controlling Spotify playback through natural language commands in MCP clients like Cursor or Claude for Desktop.Last updated -1TypeScript
- -securityAlicense-qualityA Model Context Protocol server that allows AI assistants like Claude and Cursor to create music and control Sonic Pi programmatically through OSC messages.Last updated -JavaScriptMIT License
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants like Claude to interact with Spotify, allowing them to search for tracks, control playback, and manage playlists.Last updated -1TypeScript
- AsecurityAlicenseAqualityA Model Context Protocol server that enables real-time interaction with Ableton Live, allowing AI assistants to control song creation, track management, clip operations, and audio recording workflows.Last updated -232019TypeScriptMIT License