import httpx from dataclasses import dataclass, field @dataclass class MCPClient: rag_url: str web_url: str admin_url: str client: httpx.AsyncClient = field(default_factory=lambda: httpx.AsyncClient(timeout=30)) async def call_rag(self, tenant_id: str, query: str): r = await self.client.post(f"{self.rag_url}/search", json={"tenant_id":tenant_id,"query":query}) return r.json() async def call_web(self, tenant_id: str, query: str): r = await self.client.post(f"{self.web_url}/search", json={"tenant_id":tenant_id,"query":query}) return r.json() async def call_admin(self, tenant_id: str, query: str): r = await self.client.post(f"{self.admin_url}/eval", json={"tenant_id":tenant_id,"query":query}) return r.json()