"""Base service class for MCP services."""
import logging
from abc import ABC, abstractmethod
from mcp.server import FastMCP
class BaseService(ABC):
"""Base service class for all MCP services."""
def __init__(self):
"""Initialize base service."""
self.logger = logging.getLogger(self.__class__.__name__)
@abstractmethod
async def register(self, mcp_server: FastMCP) -> None:
"""Register service with MCP server.
Args:
mcp_server: The FastMCP server instance to register with
"""
pass
def log_registration(self, service_name: str) -> None:
"""Log service registration."""
self.logger.info(f"Registering {service_name} service")
def log_registration_complete(self, service_name: str) -> None:
"""Log service registration completion."""
self.logger.info(f"{service_name} service registered successfully")