rekordbox-mcp
Rekordbox MCP 서버
실시간 데이터베이스 액세스를 지원하는 rekordbox 데이터베이스 관리용 포괄적인 MCP(Model Context Protocol) 서버입니다.
pyrekordbox를 사용하여 구축됨 - 이 프로젝트는 pyrekordbox 프로젝트 또는 해당 관리자와 관련이 없습니다.
기능
🗄️ 데이터베이스 액세스
직접적인 SQLite 데이터베이스 연결: pyrekordbox를 사용하여 암호화된 rekordbox 데이터베이스에 직접 액세스
실시간 쿼리: 포괄적인 기준을 사용하여 트랙 검색 및 필터링
안전한 변경 작업: 자동 백업 및 안전 주석이 포함된 재생 목록 관리
🔍 검색 및 탐색
고급 검색: 아티스트, 제목, 장르, 키, BPM 등을 아우르는 다중 필드 검색
음악 키 필터링: 하모닉 믹싱을 위해 호환되는 키의 트랙 찾기
BPM 범위 쿼리: 비트매칭을 위한 템포 범위별 검색
평점 및 재생 횟수 필터: 가장 좋아하고 가장 많이 재생한 트랙 발견
📊 분석 및 통찰
라이브러리 통계: 장르 분포, 평균 BPM, 총 재생 시간을 포함한 포괄적인 통계
재생 횟수 분석: 트랙 청취 패턴 및 습관
컬렉션 통찰: 음악 라이브러리 구성 이해
DJ 기록 액세스: DJ 세션 기록 및 성능 데이터에 대한 전체 액세스
⚙️ 데이터베이스 작업
재생 목록 관리: 안전 보호 장치가 포함된 재생 목록 생성, 수정 및 삭제
일괄 작업: 여러 트랙을 재생 목록에 효율적으로 추가
기록 분석: 전체 DJ 세션 기록 및 성능 데이터 액세스
라이브러리 통계: 포괄적인 분석 및 통찰
Related MCP server: MySQL Database Access
아키텍처
FastMCP 프레임워크: FastMCP 2.0을 사용하는 최신 Python MCP 서버
pyrekordbox 통합: 암호화된 데이터베이스 액세스를 위한 성숙한 라이브러리
실시간 데이터베이스 쿼리: SQLCipher를 지원하는 직접적인 SQLite 작업
프로덕션 준비 완료: 내장 로깅, 오류 처리 및 안전 기능
⚠️ 중요 안전 공지
사용 전 REKORDBOX 라이브러리를 백업하십시오
이 소프트웨어는 rekordbox 데이터베이스에 직접 액세스합니다. 예방 조치로 이 도구를 사용하기 전에 전체 rekordbox 라이브러리의 백업을 항상 생성하십시오.
백업 요구 사항
이 소프트웨어를 사용하기 전에 rekordbox 라이브러리의 전체 백업을 생성해야 합니다. 특정 설정 및 rekordbox 버전에 대한 올바른 백업 절차는 rekordbox 설명서 또는 지원 리소스를 참조하십시오.
위험 고지
⚠️ 이 프로젝트는 rekordbox 데이터베이스에 직접 액세스합니다
⚠️ 사용자 책임 하에 사용하십시오 - 보증이 제공되지 않습니다
⚠️ 메인 라이브러리에서 사용하기 전에 백업으로 철저히 테스트하십시오
⚠️ 개발자는 데이터 손실이나 손상에 대해 책임을 지지 않습니다
이러한 위험이 불편하시다면 대신 읽기 전용 XML 내보내기 기능을 사용하십시오.
빠른 시작
사전 요구 사항
Python 3.12+
기존 라이브러리가 설치된 rekordbox 6 또는 7
rekordbox 라이브러리의 전체 백업 (위의 안전 공지 참조)
읽기 전용 도구(검색, 통계, 기록)는 rekordbox가 열려 있는 동안 작동합니다
쓰기 도구(재생 목록 생성, 트랙 추가, 정리)는 rekordbox가 닫혀 있어야 합니다 — rekordbox가 실행 중일 때 pyrekordbox는 커밋을 차단합니다
rekordbox 데이터베이스에 대한 액세스(자동 감지 지원)
설치
# Install dependencies with uv
uv sync
# Run the server
uv run rekordbox-mcp구성
이 서버는 자동 데이터베이스 감지 및 수동 구성을 모두 지원합니다:
# Auto-detect rekordbox database (recommended)
uv run rekordbox-mcp
# Specify custom database path
uv run rekordbox-mcp --database-path /path/to/rekordbox/PioneerMCP 클라이언트 설정
Claude Desktop 구성에 추가:
{
"mcpServers": {
"rekordbox-database": {
"command": "uv",
"args": ["run", "rekordbox-mcp"],
"cwd": "/path/to/rekordbox-mcp"
}
}
}사용 가능한 도구 (29개 도구 + 1개 리소스)
검색 및 탐색
search_tracks- 필터링(장르, 키, BPM, 아티스트, 제목, 평점 등)을 포함한 고급 다중 필드 트랙 검색get_track_details- ID별 특정 트랙의 전체 메타데이터 가져오기get_tracks_by_key- 특정 음악 키(예: "5A", "12B")의 트랙 찾기get_tracks_by_bpm_range- BPM 범위 내의 트랙 찾기get_genre_filepaths- 장르와 일치하는 트랙의 파일 경로 가져오기(토큰 효율적, 경로만 반환)get_most_played_tracks- 재생 횟수별로 순위가 매겨진 트랙 가져오기get_top_rated_tracks- 평점별로 순위가 매겨진 트랙 가져오기get_unplayed_tracks- 재생 횟수가 0인 트랙 가져오기get_track_file_path- 특정 트랙의 파일 시스템 경로 가져오기search_tracks_by_filename- 부분 파일 이름 일치로 트랙 검색
라이브러리 분석
get_library_stats- 포괄적인 라이브러리 통계(트랙 수, 재생 시간, BPM, 장르)analyze_library- 사용자 지정 그룹화 및 집계(장르, 키, 연도, 아티스트 또는 평점별)validate_track_ids- 트랙 ID 목록을 확인하고 유효/무효 여부 보고
재생 목록 작업
get_playlists- 스마트 재생 목록을 포함한 모든 재생 목록 나열get_playlist_tracks- 특정 재생 목록의 모든 트랙 가져오기create_playlist- 새 재생 목록 또는 폴더 생성 ⚠️ (변경)add_track_to_playlist- 재생 목록에 단일 트랙 추가 ⚠️ (변경)add_tracks_to_playlist- 한 번의 작업으로 여러 트랙을 재생 목록에 추가 ⚠️ (변경)remove_track_from_playlist- 재생 목록에서 트랙 제거 ⚠️ (변경)delete_playlist- 재생 목록 영구 삭제 ⚠️ (파괴적)
DJ 기록 및 분석
get_history_sessions- 메타데이터가 포함된 모든 DJ 기록 세션 가져오기get_session_tracks- 특정 세션에서 재생된 모든 트랙 가져오기get_recent_sessions- 지정된 일수 내의 세션 가져오기search_history_sessions- 이름, 연도, 월 또는 최소 트랙 수별로 세션 검색get_history_stats- 포괄적인 DJ 성능 통계 및 통찰
라이브러리 정리
find_broken_tracks- 누락된 파일, Apple Music 스트림, 빈 경로 및 고아 재생 목록 참조 스캔cleanup_orphaned_playlist_entries- 삭제된 트랙을 참조하는 오래된 재생 목록 항목 제거 ⚠️ (변경)remove_broken_tracks- ID별로 트랙을 소프트 삭제하고 모든 재생 목록에서 제거 ⚠️ (파괴적)
데이터베이스 관리
connect_database- 선택적 사용자 지정 데이터베이스 경로로 명시적 연결
리소스
database-status- 현재 연결 상태 및 기본 통계
⚠️ 변경 작업은 rekordbox 데이터베이스를 수정하며 자동 백업을 생성합니다 ⚠️ 파괴적 작업은 데이터를 영구적으로 삭제하며 추가 확인이 필요합니다
예시
키 및 BPM별 트랙 검색
# Find tracks in 5A key with BPM between 120-130
search_tracks(key="5A", bpm_min=120, bpm_max=130, limit=20)DJ 기록 액세스
# Get recent DJ sessions
get_recent_sessions(days=30)
# Get tracks from a specific session
get_session_tracks(session_id="12345")라이브러리 통찰 가져오기
# Comprehensive library statistics
get_library_stats()
# DJ performance statistics
get_history_stats()재생 목록 관리
# Create a new playlist
create_playlist(name="Hidden Bangers", parent_id="root")
# Add single track to playlist
add_track_to_playlist(playlist_id="136766232", track_id="218048716")
# Add multiple tracks efficiently (recommended for batch operations)
add_tracks_to_playlist(
playlist_id="136766232",
track_ids=["218048716", "253968855", "148359536", "76341043"]
)
# Remove track from playlist
remove_track_from_playlist(playlist_id="136766232", track_id="218048716")
# Delete playlist (with safety confirmation)
delete_playlist(playlist_id="136766232")안전 기능
자동 백업: 모든 변경 작업은 변경 전 자동 데이터베이스 백업을 생성합니다
FastMCP 안전 주석: 변경 및 파괴적 작업에 대한 적절한 안전 힌트
스마트 재생 목록 보호: 지능형 재생 목록 삭제 방지
연결 유효성 검사: 데이터베이스 연결 및 액세스 확인
오류 처리: 상세한 로깅 및 롤백을 포함한 포괄적인 오류 처리
입력 유효성 검사: 모든 데이터베이스 작업에 대한 입력 유효성 검사
일괄 작업 안전: 일괄 작업의 성공/실패에 대한 상세 보고
⚠️ 중요: 이러한 안전 기능은 보조적인 보호 장치입니다. 항상 자신의 백업을 유지하고 사용자 책임 하에 이 소프트웨어를 사용하십시오.
개발
프로젝트 구조
rekordbox_mcp/
__init__.py # Package initialization
server.py # FastMCP server and tool definitions
database.py # Database connection and operations
models.py # Pydantic data models테스트 실행
uv run pytest코드 품질
# Format code
uv run black rekordbox_mcp/
# Lint code
uv run ruff rekordbox_mcp/
# Type checking
uv run mypy rekordbox_mcp/라이선스
MIT 라이선스
면책 조항
⚠️ 사용자 책임 하에 사용하십시오 ⚠️
이 프로젝트는 AlphaTheta(Pioneer DJ) 또는 pyrekordbox 프로젝트와 관련이 없습니다
이 소프트웨어는 rekordbox 데이터베이스에 직접 액세스합니다
어떠한 보증이나 보장도 제공되지 않습니다
개발자는 rekordbox 라이브러리의 손상에 대해 책임을 지지 않습니다
이 소프트웨어를 사용할 때 모든 위험은 사용자가 감수합니다
사용 전 항상 rekordbox 라이브러리를 백업하십시오. 메인 라이브러리에서 사용하기 전에 백업 복사본으로 철저히 테스트하십시오.
이 소프트웨어를 사용함으로써 귀하는 이러한 위험을 이해하고 자신의 책임 하에 사용하기로 동의하는 것으로 간주됩니다.
Latest Blog Posts
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/davehenke/rekordbox-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server