Skip to main content
Glama

mcp-tool-builder

by hanweg
get_weather_forecast.py1.87 kB
import requests import json from geopy.geocoders import Nominatim def get_weather_forecast(zip_code): try: # Initialize geocoder geolocator = Nominatim(user_agent="weather_forecast_app") # Get location coordinates from ZIP code location = geolocator.geocode(zip_code) if not location: return {"error": "Unable to find coordinates for the given ZIP code"} # Get NWS grid point grid_url = f"https://api.weather.gov/points/{location.latitude},{location.longitude}" grid_response = requests.get(grid_url, headers={'User-Agent': 'WeatherApp/1.0'}) grid_data = grid_response.json() if grid_response.status_code != 200: return {"error": "Unable to retrieve grid information"} # Get forecast forecast_url = grid_data['properties']['forecast'] forecast_response = requests.get(forecast_url, headers={'User-Agent': 'WeatherApp/1.0'}) forecast_data = forecast_response.json() if forecast_response.status_code != 200: return {"error": "Unable to retrieve forecast"} # Extract key forecast information periods = forecast_data['properties']['periods'] forecast_summary = [] for period in periods[:4]: # First 4 periods forecast_summary.append({ "name": period['name'], "temperature": f"{period['temperature']}°{period['temperatureUnit']}", "short_forecast": period['shortForecast'], "detailed_forecast": period['detailedForecast'] }) return { "location": f"{location.address}", "forecast": forecast_summary } except Exception as e: return {"error": f"An error occurred: {str(e)}"}

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hanweg/mcp-tool-builder'

If you have feedback or need assistance with the MCP directory API, please join our Discord server