mcp-hf / a2a_agents /location_agent.py
elanuk
t
d2a1db5
raw
history blame
1.43 kB
import asyncio
from src.mcp_weather_server.tools import geographic_tools
class LocationAgent:
async def get_locations(self, state, district):
print(f"Fetching villages for {district}, {state}...")
villages_response = await geographic_tools.list_villages(state=state, district=district)
if "error" in villages_response:
print(f"Error: {villages_response['error']}")
return None
locations = []
for village in villages_response["villages"]:
print(f"Getting coordinates for {village}...")
coordinates_response = await geographic_tools.reverse_geocode(location_name=village)
if "error" in coordinates_response:
print(f"Error: {coordinates_response['error']}")
continue
locations.append({
"village": village,
"latitude": coordinates_response["latitude"],
"longitude": coordinates_response["longitude"]
})
return locations
async def main():
agent = LocationAgent()
locations = await agent.get_locations(state="bihar", district="patna")
if locations:
print("\n--- Locations ---")
for loc in locations:
print(f"Village: {loc['village']}, Lat: {loc['latitude']}, Lon: {loc['longitude']}")
print("-----------------")
if __name__ == "__main__":
asyncio.run(main())