validate_track_ids
Check the validity of a list of track IDs by identifying which are valid and invalid. Designed for use with the rekordbox DJ database for accurate track management.
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 for 'validate_track_ids', decorated with @mcp.tool(). Delegates validation to the RekordboxDatabase instance.@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)Helper method in RekordboxDatabase class that implements the core validation logic by loading active tracks and checking if each provided track_id exists.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) }