from __future__ import annotations
from typing import Any, Dict, List, Optional
from mcp.server.fastmcp import FastMCP
from .core import run_semantic_search
mcp = FastMCP(
name="Qure Semantic Search MCP",
json_response=True,
)
@mcp.tool()
def semantic_search(
query: str,
path: Optional[str] = None,
) -> Dict[str, List[Dict[str, str]]]:
"""
MCP wrapper around core function.
"""
return run_semantic_search(query=query, path=path)
def main() -> None:
"""
MCP server entry point.
By default FastMCP.run() starts server in STDIO transport mode,
which is ideal for local integration with IDE/agents.
"""
mcp.run() # stdio transport by default
if __name__ == "__main__":
main()