from typing import Any, Dict, List, Optional import gradio as gr from core import MCPyLate from huggingface_hub import snapshot_download """ MCPyLate Server A Model Context Protocol server that provides search functionality using PyLate. """ snapshot_download( repo_id="lightonai/leetcode_reasonmoderncolbert", local_dir="indexes/", repo_type="dataset", ) mcpylate = MCPyLate() def pylate_search_leetcode( query: str, k: int = 10, index_name: Optional[str] = None ) -> List[Dict[str, Any]]: """ Search the PyLate with multi-vector models in the leetcode collection containing code problems solutions and return top-k hits Args: query: Search query string k: Number of results to return (default: 10) index_name: Name of index to search (default: use default index) Returns: List of search results with docid, score, text snippet, and index name """ return mcpylate.search(query, k) demo = gr.Interface( fn=pylate_search_leetcode, inputs=["text"], outputs="text", title="LeetCode Search", description="Search in leetcode database index using PyLate", ) demo.launch(mcp_server=True, share=True)