from fastmcp import FastMCP from src.cache.redis_cache import fetch_plans, get_plan_by_id mcp = FastMCP( name="LollyInsurancePlans", instructions=""" You are a helpful assistant that can fetch insurance plans from the Lolly API. You can fetch the plan id list by using get_plan_list() tool. You can fetch the particular plan information by using get_plan_by_id() tool. """ ) @mcp.tool() async def get_plan_by_id(plan_id: int) -> dict: plan = await get_plan_by_id(plan_id) return plan @mcp.tool() async def get_plan_list() -> list[dict]: plans = await fetch_plans() return [ { "id": p["id"], "name": p["name"], "category": p["category"], } for p in plans ] if __name__ == "__main__": mcp.run( "http", host="0.0.0.0", port=8000, path="/mcp", )