Skip to main content
Glama

Weather MCP Server

helper.ts1.57 kB
const NWS_API_BASE = "https://api.weather.gov"; const USER_AGENT = "weather-app/1.0"; // Helper function for making NWS API requests export const makeNWSRequest = async <T>(url: string): Promise<T | null> => { const headers = { "User-Agent": USER_AGENT, Accept: "application/geo+json", }; try { const response = await fetch(url, { headers }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return (await response.json()) as T; } catch (error) { console.error("Error making NWS request:", error); return null; } }; interface AlertFeature { properties: { event?: string; areaDesc?: string; severity?: string; status?: string; headline?: string; }; } // Format alert data export const formatAlert = (feature: AlertFeature): string => { const props = feature.properties; return [ `Event: ${props.event || "Unknown"}`, `Area: ${props.areaDesc || "Unknown"}`, `Severity: ${props.severity || "Unknown"}`, `Status: ${props.status || "Unknown"}`, `Headline: ${props.headline || "No headline"}`, "---", ].join("\n"); }; export interface ForecastPeriod { name?: string; temperature?: number; temperatureUnit?: string; windSpeed?: string; windDirection?: string; shortForecast?: string; } export interface AlertsResponse { features: AlertFeature[]; } export interface PointsResponse { properties: { forecast?: string; }; } export interface ForecastResponse { properties: { periods: ForecastPeriod[]; }; }

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/BhavinPatel04/weather-mcp-server'

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