mcp-hf / tools /accuweather.py
elanuk
t
d2a1db5
raw
history blame
710 Bytes
import os
import httpx
from fastapi import HTTPException
API_KEY = os.getenv("ACCUWEATHER_API_KEY")
BASE_URL = "http://dataservice.accuweather.com/currentconditions/v1"
async def get_accuweather_current_conditions(location_key: str, api_key: str):
if not api_key:
raise HTTPException(status_code=500, detail="AccuWeather API key not configured")
params = {
"apikey": api_key,
}
async with httpx.AsyncClient() as client:
response = await client.get(f"{BASE_URL}/{location_key}", params=params)
if response.status_code != 200:
raise HTTPException(status_code=response.status_code, detail="Error fetching data from AccuWeather")
return response.json()