Spotify MCP Server
Spotify MCP 서버
Spotify 웹 API 및 모델 컨텍스트 프로토콜(MCP)과 통합되어 Spotify 콘텐츠 검색, 재생 제어 및 관리 도구를 제공하는 Node.js 기반 서버입니다. 사용자는 stdio 전송을 통해 표준화된 MCP 인터페이스를 통해 Spotify 계정과 프로그래밍 방식으로 상호작용할 수 있습니다.
🧠 프로젝트 개요
이름: Spotify MCP 서버
설명: Spotify 웹 API를 MCP 표준과 연결하는 프로그래밍 가능한 인터페이스로, stdio를 통한 JSON 기반 도구를 사용하여 검색, 재생 제어 및 재생 목록 관리를 가능하게 합니다.
주요 특징:
🔍 Spotify에서 트랙 검색
🎵 현재 재생 상태 확인
▶️ URI로 특정 트랙 재생
📋 사용자 플레이리스트 검색
⏸ 재생 중인 항목을 일시 정지합니다.
🔐 Spotify를 사용한 OAuth 인증
📉 Spotify API 요청에 대한 속도 제한 처리
Related MCP server: MCP Spotify Player
⚙️ 필수 조건
Node.js (v16 이상 권장)
앱 자격 증명이 있는 Spotify 개발자 계정
npm(노드 패키지 관리자)
📦 설치 단계
지엑스피1
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
SPOTIFY_REDIRECT_URI=http://localhost:8888/callback참고:
your_spotify_client_id와your_spotify_client_secretSpotify 개발자 앱 사용자 인증 정보로 바꾸세요. 리디렉션 URI는 Spotify 앱 설정에 설정된 URI와 일치해야 합니다.
# 4. Build
npm run build
# 5. Run the server
npm start이렇게 하면 Spotify 인증을 위한 브라우저가 열리고 stdio 전송을 사용하여 서버가 시작됩니다.
🔧 도구
1. search_tracks
설명: 쿼리 문자열을 기반으로 Spotify에서 트랙을 검색합니다.
입력 스키마:
query(문자열, 필수): 검색어(예: 아티스트 이름, 노래 제목).
출력:
name,artist,album,release_date,popularity,id,uri포함한 최대 5개의 트랙 객체로 구성된 JSON 배열입니다.예:
{
"name": "search_tracks",
"arguments": {"query": "The Beatles"}
}2. get_playback_state .
설명: 사용자 Spotify 계정의 현재 재생 상태를 검색합니다.
입력 스키마: 없음
출력: 현재 트랙 정보, 재생 상태, 장치 세부 정보가 담긴 JSON 객체. 아무것도 재생되지 않으면 "활성 재생 없음"을 표시합니다.
예:
{
"name": "get_playback_state",
"arguments": {}
}3. play_track
설명: Spotify URI를 사용하여 특정 트랙을 재생합니다.
입력 스키마:
uri(문자열, 필수): Spotify 트랙 URI(예:spotify:track:xxx).
출력:
status와uri포함된 JSON 확인.예:
{
"name": "play_track",
"arguments": {"uri": "spotify:track:7KXjTSCq5nL1LoYtL7XAwS"}
}4. get_user_playlists
설명: Spotify에서 사용자의 재생 목록을 가져옵니다.
입력 스키마:
limit(숫자, 선택 사항): 반환할 재생 목록의 최대 개수(기본값: 20).
출력:
name,id,track_count,uri및publicstatus를 포함한 재생 목록 객체의 JSON 배열입니다.예:
{
"name": "get_user_playlists",
"arguments": {"limit": 10}
}5. pause_playback
설명: 사용자의 활성 Spotify 기기에서 현재 재생을 일시 중지합니다.
입력 스키마: 없음
출력: "재생 일시 정지" 상태를 나타내는 JSON 확인입니다.
예:
{
"name": "pause_playback",
"arguments": {}
}🌐 사용 사례
음악 검색 봇:
search_tracks와play_track사용하여 기분 기반 음악 챗봇을 구현합니다.
재생목록 관리 도구:
get_user_playlists와search_tracks사용하여 재생 목록을 미리 보고 구성하세요.
재생 제어 자동화:
get_playback_state,play_track,pause_playback사용하여 재생 작업을 자동화합니다.
Spotify 대시보드:
get_playback_state,get_user_playlists,pause_playback,play_track사용하여 데스크톱 위젯을 빌드합니다.
Spotify API 배우기:
모든 도구를 실험해 보면서 Spotify Web API가 어떻게 작동하는지 알아보세요.
🔐 인증 세부 정보
처음 실행 시, 서버는 Spotify OAuth 인증을 위해 브라우저를 엽니다.
http://localhost:8888/callback통해 코드를 수신합니다.코드를 액세스 토큰과 새로 고침 토큰으로 교환합니다.
만료 후 5분 이내에 토큰을 자동으로 새로 고침합니다.
⏱ 속도 제한
재시도 전략을 사용하여 Spotify API 속도 제한을 처리합니다.
각 요청 후 10초의 쿨다운이 발생합니다.
429 요청이 너무 많습니다 오류가 발생하면 1분간 기다립니다.
📊 종속성
npm install dotenv spotify-web-api-node @modelcontextprotocol/sdk opendotenv:.env에서 환경 변수를 로드합니다.spotify-web-api-node: Spotify API 클라이언트.@modelcontextprotocol/sdk: MCP 서버를 구현합니다.http,url: OAuth 리다이렉션 서버용 Node.js 내장 기능입니다.open: 인증을 위해 기본 브라우저를 엽니다.
📁 개발 정보
진입점:
index.js언어: JavaScript(ES 모듈이 포함된 Node.js)
실행 명령:
node index.js디버깅: 콘솔 로그에서 MCP 또는 인증 오류를 확인하세요.
⚠️ 제한 사항
재생 제어를 위해서는 Spotify Premium이 필요합니다.
stdio 전송만 지원합니다(HTTP, WebSocket 등 불가).
search_tracks최대 5개의 결과를 반환합니다.재생을 위해 단일 활성 장치가 사용된다고 가정합니다.
🚀 기여하기
다음 주소로 이슈를 공개하거나 풀 리퀘스트를 제출하세요.
새로운 도구 추가
기존 기능 강화
문서 개선
✍️ 라이센스
MIT 라이선스 - 개인적 또는 상업적 용도로 사용, 수정, 배포가 자유롭습니다.
❤️ 푸터
2025년 3월 17일 Rakshitha C Devadiga가 ❤️로 제작했습니다.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables creating and searching Spotify playlists through natural language using the Model Context Protocol.21
- Alicense-qualityCmaintenanceControl Spotify directly from your AI assistant using the Model Context Protocol.19MIT
- Alicense-qualityDmaintenanceA Model Context Protocol server that enables searching and managing Spotify music, playlists, artists, albums, and audiobooks through natural language.65MIT
- AlicenseAqualityBmaintenanceEnables searching and managing Spotify playlists, tracks, and user information through the Spotify Web API.10MIT
Related MCP Connectors
Spotify MCP — Web API via client_credentials OAuth
Search, document and execute authenticated API calls across 500+ apps via one MCP server
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rakshitha2207/spotify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server