rekordbox-mcp
Servidor MCP de Rekordbox
Un servidor completo de Protocolo de Contexto de Modelo (MCP) para la gestión de bases de datos de rekordbox con acceso a la base de datos en tiempo real.
Construido usando pyrekordbox - Este proyecto no está afiliado al proyecto pyrekordbox ni a sus mantenedores.
Características
🗄️ Acceso a la base de datos
Conexión directa a la base de datos SQLite: Acceda a la base de datos cifrada de rekordbox directamente usando pyrekordbox
Consultas en tiempo real: Busque y filtre pistas con criterios exhaustivos
Operaciones de mutación seguras: Gestión de listas de reproducción con copias de seguridad automáticas y anotaciones de seguridad
🔍 Búsqueda y descubrimiento
Búsqueda avanzada: Búsqueda en múltiples campos a través de artista, título, género, tonalidad, BPM y más
Filtrado por tonalidad musical: Encuentre pistas en tonalidades compatibles para mezclas armónicas
Consultas de rango de BPM: Busque por rangos de tempo para el beatmatching
Filtros de valoración y recuento de reproducciones: Descubra sus pistas más queridas y más reproducidas
📊 Analítica e información
Estadísticas de la biblioteca: Estadísticas completas que incluyen distribución de géneros, BPM promedio, tiempo total de reproducción
Analítica de recuento de reproducciones: Rastree patrones y hábitos de escucha
Información de la colección: Comprenda la composición de su biblioteca musical
Acceso al historial de DJ: Acceso completo a su historial de sesiones de DJ y datos de rendimiento
⚙️ Operaciones de base de datos
Gestión de listas de reproducción: Cree, modifique y elimine listas de reproducción con protecciones de seguridad
Operaciones por lotes: Añada múltiples pistas a listas de reproducción de manera eficiente
Análisis de historial: Acceda al historial completo de sesiones de DJ y datos de rendimiento
Estadísticas de la biblioteca: Analítica e información exhaustiva
Related MCP server: MySQL Database Access
Arquitectura
Framework FastMCP: Servidor MCP de Python moderno usando FastMCP 2.0
Integración con pyrekordbox: Biblioteca madura para acceso a bases de datos cifradas
Consultas de base de datos en tiempo real: Operaciones directas de SQLite con soporte para SQLCipher
Listo para producción: Registro, manejo de errores y características de seguridad integradas
⚠️ Aviso de seguridad importante
HAGA UNA COPIA DE SEGURIDAD DE SU BIBLIOTECA DE REKORDBOX ANTES DE USAR
Este software accede directamente a su base de datos de rekordbox. Cree siempre una copia de seguridad de toda su biblioteca de rekordbox antes de usar esta herramienta como medida de precaución.
Requisitos de copia de seguridad
Debe crear una copia de seguridad completa de su biblioteca de rekordbox antes de usar este software. Consulte la documentación de rekordbox o los recursos de soporte para conocer los procedimientos de copia de seguridad adecuados para su configuración específica y versión de rekordbox.
Reconocimiento de riesgos
⚠️ Este proyecto accede directamente a su base de datos de rekordbox
⚠️ Úselo bajo su propia responsabilidad - no se ofrece garantía
⚠️ Pruebe exhaustivamente con copias de seguridad antes de usarlo en su biblioteca principal
⚠️ Los desarrolladores no son responsables de ninguna pérdida de datos o daño
Si no se siente cómodo con estos riesgos, utilice la funcionalidad de exportación XML de solo lectura en su lugar.
Inicio rápido
Requisitos previos
Python 3.12+
rekordbox 6 o 7 instalado con una biblioteca existente
COPIA DE SEGURIDAD COMPLETA de su biblioteca de rekordbox (vea el aviso de seguridad arriba)
Herramientas de solo lectura (búsqueda, estadísticas, historial) funcionan mientras rekordbox está abierto
Herramientas de escritura (crear lista de reproducción, añadir pistas, limpieza) requieren que rekordbox esté cerrado — pyrekordbox bloquea las confirmaciones cuando rekordbox está ejecutándose
Acceso a su base de datos de rekordbox (se admite la detección automática)
Instalación
# Install dependencies with uv
uv sync
# Run the server
uv run rekordbox-mcpConfiguración
El servidor admite tanto la detección automática de la base de datos como la configuración manual:
# Auto-detect rekordbox database (recommended)
uv run rekordbox-mcp
# Specify custom database path
uv run rekordbox-mcp --database-path /path/to/rekordbox/PioneerConfiguración del cliente MCP
Añada a su configuración de Claude Desktop:
{
"mcpServers": {
"rekordbox-database": {
"command": "uv",
"args": ["run", "rekordbox-mcp"],
"cwd": "/path/to/rekordbox-mcp"
}
}
}Herramientas disponibles (29 herramientas + 1 recurso)
Búsqueda y descubrimiento
search_tracks- Búsqueda avanzada de pistas en múltiples campos con filtrado (género, tonalidad, BPM, artista, título, valoración, etc.)get_track_details- Obtenga metadatos completos para una pista específica por IDget_tracks_by_key- Encuentre pistas en una tonalidad musical específica (ej. "5A", "12B")get_tracks_by_bpm_range- Encuentre pistas dentro de un rango de BPMget_genre_filepaths- Obtenga rutas de archivo para pistas que coincidan con un género (eficiente en tokens, devuelve solo rutas)get_most_played_tracks- Obtenga pistas clasificadas por recuento de reproduccionesget_top_rated_tracks- Obtenga pistas clasificadas por valoraciónget_unplayed_tracks- Obtenga pistas con cero recuento de reproduccionesget_track_file_path- Obtenga la ruta del sistema de archivos para una pista específicasearch_tracks_by_filename- Busque pistas por coincidencia parcial de nombre de archivo
Analítica de la biblioteca
get_library_stats- Estadísticas completas de la biblioteca (recuento de pistas, tiempo de reproducción, BPM, géneros)analyze_library- Agrupación y agregación personalizada (por género, tonalidad, año, artista o valoración)validate_track_ids- Verifique una lista de IDs de pistas e informe cuáles son válidos/inválidos
Operaciones de listas de reproducción
get_playlists- Liste todas las listas de reproducción, incluidas las listas de reproducción inteligentesget_playlist_tracks- Obtenga todas las pistas en una lista de reproducción específicacreate_playlist- Cree una nueva lista de reproducción o carpeta ⚠️ (Mutación)add_track_to_playlist- Añada una sola pista a una lista de reproducción ⚠️ (Mutación)add_tracks_to_playlist- Añada múltiples pistas a una lista de reproducción en una sola operación ⚠️ (Mutación)remove_track_from_playlist- Elimine una pista de una lista de reproducción ⚠️ (Mutación)delete_playlist- Elimine una lista de reproducción permanentemente ⚠️ (Destructiva)
Historial y analítica de DJ
get_history_sessions- Obtenga todas las sesiones del historial de DJ con metadatosget_session_tracks- Obtenga todas las pistas reproducidas en una sesión específicaget_recent_sessions- Obtenga sesiones dentro de un número especificado de díassearch_history_sessions- Busque sesiones por nombre, año, mes o recuento mínimo de pistasget_history_stats- Estadísticas completas de rendimiento de DJ e información
Limpieza de la biblioteca
find_broken_tracks- Escanee en busca de archivos faltantes, transmisiones de Apple Music, rutas vacías y referencias de listas de reproducción huérfanascleanup_orphaned_playlist_entries- Elimine entradas de listas de reproducción obsoletas que hacen referencia a pistas eliminadas ⚠️ (Mutación)remove_broken_tracks- Elimine suavemente pistas por ID y elimínelas de todas las listas de reproducción ⚠️ (Destructiva)
Gestión de bases de datos
connect_database- Conéctese explícitamente con una ruta de base de datos personalizada opcional
Recursos
database-status- Estado actual de la conexión y estadísticas básicas
⚠️ Las operaciones de mutación modifican su base de datos de rekordbox y crean copias de seguridad automáticas ⚠️ Las operaciones destructivas eliminan datos permanentemente y requieren confirmación adicional
Ejemplos
Buscar pistas por tonalidad y BPM
# Find tracks in 5A key with BPM between 120-130
search_tracks(key="5A", bpm_min=120, bpm_max=130, limit=20)Acceder al historial de DJ
# Get recent DJ sessions
get_recent_sessions(days=30)
# Get tracks from a specific session
get_session_tracks(session_id="12345")Obtener información de la biblioteca
# Comprehensive library statistics
get_library_stats()
# DJ performance statistics
get_history_stats()Gestión de listas de reproducción
# 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")Características de seguridad
Copias de seguridad automáticas: Todas las operaciones de mutación crean copias de seguridad automáticas de la base de datos antes de realizar cambios
Anotaciones de seguridad de FastMCP: Sugerencias de seguridad adecuadas para operaciones de mutación y destructivas
Protección de listas de reproducción inteligentes: Evita la eliminación de listas de reproducción inteligentes
Validación de conexión: Valida las conexiones y el acceso a la base de datos
Manejo de errores: Manejo integral de errores con registro detallado y reversión
Validación de entrada: Validación de entrada para todas las operaciones de base de datos
Seguridad en operaciones por lotes: Informes detallados sobre el éxito/fracaso de las operaciones por lotes
⚠️ Importante: Estas características de seguridad son protecciones complementarias. Mantenga siempre sus propias copias de seguridad y utilice este software bajo su propia responsabilidad.
Desarrollo
Estructura del proyecto
rekordbox_mcp/
__init__.py # Package initialization
server.py # FastMCP server and tool definitions
database.py # Database connection and operations
models.py # Pydantic data modelsEjecución de pruebas
uv run pytestCalidad del código
# Format code
uv run black rekordbox_mcp/
# Lint code
uv run ruff rekordbox_mcp/
# Type checking
uv run mypy rekordbox_mcp/Licencia
Licencia MIT
Descargo de responsabilidad
⚠️ ÚSELO BAJO SU PROPIA RESPONSABILIDAD ⚠️
Este proyecto no está afiliado a AlphaTheta (Pioneer DJ) ni al proyecto pyrekordbox
Este software accede directamente a su base de datos de rekordbox
No se proporciona garantía ni aval
Los desarrolladores no son responsables de ningún daño a su biblioteca de rekordbox
Usted asume todo el riesgo al usar este software
SIEMPRE haga una copia de seguridad de su biblioteca de rekordbox antes de usarlo. Pruebe exhaustivamente con copias de seguridad antes de usarlo en su biblioteca principal.
Al usar este software, usted reconoce que comprende estos riesgos y acepta usarlo bajo su propia responsabilidad.
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