IACR MCP Server

from fastapi import FastAPI, HTTPException from functools import wraps import asyncio import httpx app = FastAPI() @app.get("/status") async def get_status(): async with httpx.AsyncClient() as client: response = await client.get("http://localhost:8086/status") if response.status_code == 200: return {"status": "Server is running"} else: raise HTTPException( status_code=response.status_code, detail="Failed to reach the server at localhost:8086" ) def timeout(duration: float): def decorator(func): @wraps(func) async def wrapper(*args, **kwargs): try: return await asyncio.wait_for(func(*args, **kwargs), timeout=duration) except asyncio.TimeoutError: raise HTTPException( status_code=408, detail=f"Operation timed out after {duration} seconds", ) except Exception as e: raise e return wrapper return decorator