rekordbox-mcp
Rekordbox MCP-Server
Ein umfassender Model Context Protocol (MCP)-Server für die rekordbox-Datenbankverwaltung mit Echtzeit-Datenbankzugriff.
Erstellt mit pyrekordbox – Dieses Projekt steht in keiner Verbindung zum pyrekordbox-Projekt oder dessen Betreuern.
Funktionen
🗄️ Datenbankzugriff
Direkte SQLite-Datenbankverbindung: Zugriff auf die verschlüsselte rekordbox-Datenbank direkt über pyrekordbox
Echtzeit-Abfragen: Suchen und Filtern von Titeln mit umfassenden Kriterien
Sichere Mutationsvorgänge: Wiedergabelistenverwaltung mit automatischen Backups und Sicherheitsanmerkungen
🔍 Suche & Entdeckung
Erweiterte Suche: Suche über mehrere Felder hinweg, einschließlich Interpret, Titel, Genre, Tonart, BPM und mehr
Filterung nach musikalischer Tonart: Finden Sie Titel in kompatiblen Tonarten für harmonisches Mixing
BPM-Bereichsabfragen: Suche nach Tempo-Bereichen für Beatmatching
Bewertungs- und Wiedergabefilter: Entdecken Sie Ihre beliebtesten und am häufigsten gespielten Titel
📊 Analysen & Einblicke
Bibliotheksstatistiken: Umfassende Statistiken, einschließlich Genre-Verteilung, durchschnittlicher BPM und Gesamtabspielzeit
Wiedergabe-Analysen: Nachverfolgung von Hörgewohnheiten und Mustern
Sammlungseinblicke: Verstehen Sie die Zusammensetzung Ihrer Musikbibliothek
Zugriff auf DJ-Verlauf: Voller Zugriff auf Ihren DJ-Sitzungsverlauf und Leistungsdaten
⚙️ Datenbankoperationen
Wiedergabelistenverwaltung: Erstellen, Ändern und Löschen von Wiedergabelisten mit Sicherheitsschutz
Stapelverarbeitung: Effizientes Hinzufügen mehrerer Titel zu Wiedergabelisten
Verlaufsanalyse: Zugriff auf den vollständigen DJ-Sitzungsverlauf und Leistungsdaten
Bibliotheksstatistiken: Umfassende Analysen und Einblicke
Related MCP server: MySQL Database Access
Architektur
FastMCP-Framework: Moderner Python-MCP-Server unter Verwendung von FastMCP 2.0
pyrekordbox-Integration: Ausgereifte Bibliothek für den Zugriff auf verschlüsselte Datenbanken
Echtzeit-Datenbankabfragen: Direkte SQLite-Operationen mit SQLCipher-Unterstützung
Produktionsbereit: Integrierte Protokollierung, Fehlerbehandlung und Sicherheitsfunktionen
⚠️ Wichtiger Sicherheitshinweis
ERSTELLEN SIE VOR DER VERWENDUNG EIN BACKUP IHRER REKORDBOX-BIBLIOTHEK
Diese Software greift direkt auf Ihre rekordbox-Datenbank zu. Erstellen Sie als Vorsichtsmaßnahme immer ein Backup Ihrer gesamten rekordbox-Bibliothek, bevor Sie dieses Tool verwenden.
Backup-Anforderungen
Sie sollten ein vollständiges Backup Ihrer rekordbox-Bibliothek erstellen, bevor Sie diese Software verwenden. Konsultieren Sie die rekordbox-Dokumentation oder Support-Ressourcen für die korrekten Backup-Verfahren für Ihr spezifisches Setup und Ihre rekordbox-Version.
Anerkennung der Risiken
⚠️ Dieses Projekt greift direkt auf Ihre rekordbox-Datenbank zu
⚠️ Verwendung auf eigene Gefahr – keine Gewährleistung
⚠️ Vor der Verwendung mit Ihrer Hauptbibliothek gründlich mit Backups testen
⚠️ Die Entwickler sind nicht für Datenverlust oder Schäden verantwortlich
Wenn Sie sich mit diesen Risiken nicht wohl fühlen, verwenden Sie stattdessen die schreibgeschützte XML-Exportfunktion.
Schnellstart
Voraussetzungen
Python 3.12+
rekordbox 6 oder 7 installiert mit einer bestehenden Bibliothek
VOLLSTÄNDIGES BACKUP Ihrer rekordbox-Bibliothek (siehe Sicherheitshinweis oben)
Schreibgeschützte Tools (Suche, Statistiken, Verlauf) funktionieren, während rekordbox geöffnet ist
Schreib-Tools (Wiedergabeliste erstellen, Titel hinzufügen, Bereinigung) erfordern, dass rekordbox geschlossen ist – pyrekordbox blockiert Commits, wenn rekordbox läuft
Zugriff auf Ihre rekordbox-Datenbank (automatische Erkennung wird unterstützt)
Installation
# Install dependencies with uv
uv sync
# Run the server
uv run rekordbox-mcpKonfiguration
Der Server unterstützt sowohl die automatische Datenbankerkennung als auch die manuelle Konfiguration:
# Auto-detect rekordbox database (recommended)
uv run rekordbox-mcp
# Specify custom database path
uv run rekordbox-mcp --database-path /path/to/rekordbox/PioneerMCP-Client-Einrichtung
Fügen Sie dies zu Ihrer Claude Desktop-Konfiguration hinzu:
{
"mcpServers": {
"rekordbox-database": {
"command": "uv",
"args": ["run", "rekordbox-mcp"],
"cwd": "/path/to/rekordbox-mcp"
}
}
}Verfügbare Tools (29 Tools + 1 Ressource)
Suche & Entdeckung
search_tracks- Erweiterte Suche über mehrere Felder mit Filterung (Genre, Tonart, BPM, Interpret, Titel, Bewertung usw.)get_track_details- Abrufen vollständiger Metadaten für einen bestimmten Titel per IDget_tracks_by_key- Finden von Titeln in einer bestimmten musikalischen Tonart (z. B. "5A", "12B")get_tracks_by_bpm_range- Finden von Titeln innerhalb eines BPM-Bereichsget_genre_filepaths- Abrufen von Dateipfaden für Titel, die einem Genre entsprechen (token-effizient, gibt nur Pfade zurück)get_most_played_tracks- Abrufen von Titeln, sortiert nach Wiedergabeanzahlget_top_rated_tracks- Abrufen von Titeln, sortiert nach Bewertungget_unplayed_tracks- Abrufen von Titeln mit null Wiedergabenget_track_file_path- Abrufen des Dateisystempfads für einen bestimmten Titelsearch_tracks_by_filename- Suchen von Titeln nach teilweiser Übereinstimmung des Dateinamens
Bibliotheksanalysen
get_library_stats- Umfassende Bibliotheksstatistiken (Titelanzahl, Abspielzeit, BPM, Genres)analyze_library- Benutzerdefinierte Gruppierung und Aggregation (nach Genre, Tonart, Jahr, Interpret oder Bewertung)validate_track_ids- Überprüfen einer Liste von Titel-IDs und Berichten, welche gültig/ungültig sind
Wiedergabelisten-Operationen
get_playlists- Auflisten aller Wiedergabelisten, einschließlich intelligenter Wiedergabelistenget_playlist_tracks- Abrufen aller Titel in einer bestimmten Wiedergabelistecreate_playlist- Erstellen einer neuen Wiedergabeliste oder eines Ordners ⚠️ (Mutation)add_track_to_playlist- Hinzufügen eines einzelnen Titels zur Wiedergabeliste ⚠️ (Mutation)add_tracks_to_playlist- Hinzufügen mehrerer Titel zur Wiedergabeliste in einem Vorgang ⚠️ (Mutation)remove_track_from_playlist- Entfernen eines Titels aus der Wiedergabeliste ⚠️ (Mutation)delete_playlist- Dauerhaftes Löschen einer Wiedergabeliste ⚠️ (Destruktiv)
DJ-Verlauf & Analysen
get_history_sessions- Abrufen aller DJ-Verlaufssitzungen mit Metadatenget_session_tracks- Abrufen aller in einer bestimmten Sitzung gespielten Titelget_recent_sessions- Abrufen von Sitzungen innerhalb einer bestimmten Anzahl von Tagensearch_history_sessions- Suchen von Sitzungen nach Name, Jahr, Monat oder Mindestanzahl an Titelnget_history_stats- Umfassende Statistiken und Einblicke zur DJ-Performance
Bibliotheksbereinigung
find_broken_tracks- Scannen nach fehlenden Dateien, Apple Music-Streams, leeren Pfaden und verwaisten Wiedergabelisten-Referenzencleanup_orphaned_playlist_entries- Entfernen veralteter Wiedergabelisteneinträge, die auf gelöschte Titel verweisen ⚠️ (Mutation)remove_broken_tracks- Soft-Löschen von Titeln nach ID und Entfernen aus allen Wiedergabelisten ⚠️ (Destruktiv)
Datenbankverwaltung
connect_database- Explizites Verbinden mit optionalem benutzerdefiniertem Datenbankpfad
Ressourcen
database-status- Aktueller Verbindungsstatus und grundlegende Statistiken
⚠️ Mutationsvorgänge ändern Ihre rekordbox-Datenbank und erstellen automatische Backups ⚠️ Destruktive Vorgänge löschen Daten dauerhaft und erfordern eine zusätzliche Bestätigung
Beispiele
Suche nach Titeln nach Tonart und BPM
# Find tracks in 5A key with BPM between 120-130
search_tracks(key="5A", bpm_min=120, bpm_max=130, limit=20)Zugriff auf den DJ-Verlauf
# Get recent DJ sessions
get_recent_sessions(days=30)
# Get tracks from a specific session
get_session_tracks(session_id="12345")Einblicke in die Bibliothek erhalten
# Comprehensive library statistics
get_library_stats()
# DJ performance statistics
get_history_stats()Wiedergabelistenverwaltung
# 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")Sicherheitsfunktionen
Automatische Backups: Alle Mutationsvorgänge erstellen vor Änderungen automatische Datenbank-Backups
FastMCP-Sicherheitsanmerkungen: Korrekte Sicherheitshinweise für Mutations- und destruktive Vorgänge
Schutz intelligenter Wiedergabelisten: Verhindert das Löschen intelligenter Wiedergabelisten
Verbindungsvalidierung: Validiert Datenbankverbindungen und Zugriff
Fehlerbehandlung: Umfassende Fehlerbehandlung mit detaillierter Protokollierung und Rollback
Eingabevalidierung: Eingabevalidierung für alle Datenbankoperationen
Sicherheit bei Stapelverarbeitung: Detaillierte Berichterstattung über Erfolg/Misserfolg von Stapelvorgängen
⚠️ Wichtig: Diese Sicherheitsfunktionen sind ergänzende Schutzmaßnahmen. Führen Sie immer Ihre eigenen Backups durch und verwenden Sie diese Software auf eigene Gefahr.
Entwicklung
Projektstruktur
rekordbox_mcp/
__init__.py # Package initialization
server.py # FastMCP server and tool definitions
database.py # Database connection and operations
models.py # Pydantic data modelsTests ausführen
uv run pytestCode-Qualität
# Format code
uv run black rekordbox_mcp/
# Lint code
uv run ruff rekordbox_mcp/
# Type checking
uv run mypy rekordbox_mcp/Lizenz
MIT-Lizenz
Haftungsausschluss
⚠️ VERWENDUNG AUF EIGENE GEFAHR ⚠️
Dieses Projekt ist nicht mit AlphaTheta (Pioneer DJ) oder dem pyrekordbox-Projekt verbunden
Diese Software greift direkt auf Ihre rekordbox-Datenbank zu
Es wird keine Gewährleistung oder Garantie übernommen
Die Entwickler sind nicht verantwortlich für Schäden an Ihrer rekordbox-Bibliothek
Sie tragen das volle Risiko, wenn Sie diese Software verwenden
Erstellen Sie IMMER ein Backup Ihrer rekordbox-Bibliothek vor der Verwendung. Testen Sie gründlich mit Backup-Kopien, bevor Sie sie auf Ihrer Hauptbibliothek verwenden.
Durch die Nutzung dieser Software bestätigen Sie, dass Sie diese Risiken verstehen und zustimmen, sie auf eigene Verantwortung zu nutzen.
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