MCP Pytest Server

  • src
  • meilisearch_mcp
from typing import Dict, Any, List, Optional from meilisearch import Client from dataclasses import dataclass @dataclass class SearchSettings: displayedAttributes: Optional[List[str]] = None searchableAttributes: Optional[List[str]] = None filterableAttributes: Optional[List[str]] = None sortableAttributes: Optional[List[str]] = None rankingRules: Optional[List[str]] = None stopWords: Optional[List[str]] = None synonyms: Optional[Dict[str, List[str]]] = None distinctAttribute: Optional[str] = None typoTolerance: Optional[Dict[str, Any]] = None faceting: Optional[Dict[str, Any]] = None pagination: Optional[Dict[str, Any]] = None class SettingsManager: """Manage Meilisearch index settings""" def __init__(self, client: Client): self.client = client async def get_settings(self, index_uid: str) -> Dict[str, Any]: """Get all settings for an index""" try: index = self.client.index(index_uid) return index.get_settings() except Exception as e: raise Exception(f"Failed to get settings: {str(e)}") async def update_settings( self, index_uid: str, settings: Dict[str, Any] ) -> Dict[str, Any]: """Update settings for an index""" try: index = self.client.index(index_uid) return index.update_settings(settings) except Exception as e: raise Exception(f"Failed to update settings: {str(e)}") async def reset_settings(self, index_uid: str) -> Dict[str, Any]: """Reset settings to default values""" try: index = self.client.index(index_uid) return index.reset_settings() except Exception as e: raise Exception(f"Failed to reset settings: {str(e)}")