from abc import ABC, abstractmethod
from typing import List, Dict, Any

class MCPBase(ABC):
    @abstractmethod
    def fetch_courses(self, user_skills: List[Dict], skill_gaps: List[Dict], max_results: int = 10) -> List[Dict[str, Any]]:
        """Fetch courses from the platform API with targeted search."""
        pass
