validate_track_ids
Check track ID validity in rekordbox databases to identify which IDs work and which don't for reliable DJ data access.
Instructions
Validate a list of track IDs and show which are valid/invalid.
Args: track_ids: List of track IDs to validate
Returns: Validation results with valid and invalid IDs
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| track_ids | Yes |
Implementation Reference
- rekordbox_mcp/server.py:272-288 (handler)MCP tool handler and registration for validate_track_ids. Checks database connection and delegates to RekordboxDatabase.validate_track_ids method.@mcp.tool() async def validate_track_ids(track_ids: List[str]) -> Dict[str, Any]: """ Validate a list of track IDs and show which are valid/invalid. Args: track_ids: List of track IDs to validate Returns: Validation results with valid and invalid IDs """ if not db: raise RuntimeError("Database not initialized.") validation = await db.validate_track_ids(track_ids) return validation
- rekordbox_mcp/database.py:404-428 (helper)Core implementation of track ID validation in RekordboxDatabase class. Loads all active tracks, builds set of existing IDs, and categorizes input IDs as valid or invalid.async def validate_track_ids(self, track_ids: List[str]) -> Dict[str, Any]: """Validate track IDs.""" if not self.db: raise RuntimeError("Database not connected") all_content = list(self.db.get_content()) active_content = [c for c in all_content if getattr(c, 'rb_local_deleted', 0) == 0] existing_ids = {str(content.ID) for content in active_content} valid = [] invalid = [] for track_id in track_ids: if track_id in existing_ids: valid.append(track_id) else: invalid.append(track_id) return { "valid": valid, "invalid": invalid, "total_checked": len(track_ids), "valid_count": len(valid), "invalid_count": len(invalid) }