mcp-openweathermap
Version:
MCP server for OpenWeatherMap API integration
526 lines • 14 kB
TypeScript
import { z } from "zod";
/**
* Common Schemas
*/
export declare const unitsSchema: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
/**
* Weather Operation Schemas
*/
export declare const getCurrentWeatherSchema: z.ZodObject<{
location: z.ZodString;
units: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
}, "strip", z.ZodTypeAny, {
location: string;
units?: "metric" | "imperial" | "standard" | undefined;
}, {
location: string;
units?: "metric" | "imperial" | "standard" | undefined;
}>;
export declare const getWeatherForecastSchema: z.ZodObject<{
location: z.ZodString;
units: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
days: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
location: string;
units?: "metric" | "imperial" | "standard" | undefined;
days?: number | undefined;
}, {
location: string;
units?: "metric" | "imperial" | "standard" | undefined;
days?: number | undefined;
}>;
export declare const getHourlyForecastSchema: z.ZodObject<{
location: z.ZodString;
units: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
hours: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
location: string;
units?: "metric" | "imperial" | "standard" | undefined;
hours?: number | undefined;
}, {
location: string;
units?: "metric" | "imperial" | "standard" | undefined;
hours?: number | undefined;
}>;
export declare const getDailyForecastSchema: z.ZodObject<{
location: z.ZodString;
units: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
days: z.ZodOptional<z.ZodNumber>;
include_today: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
location: string;
units?: "metric" | "imperial" | "standard" | undefined;
days?: number | undefined;
include_today?: boolean | undefined;
}, {
location: string;
units?: "metric" | "imperial" | "standard" | undefined;
days?: number | undefined;
include_today?: boolean | undefined;
}>;
export declare const getMinutelyForecastSchema: z.ZodObject<{
location: z.ZodString;
limit: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
location: string;
limit?: number | undefined;
}, {
location: string;
limit?: number | undefined;
}>;
export declare const getWeatherAlertsSchema: z.ZodObject<{
location: z.ZodString;
}, "strip", z.ZodTypeAny, {
location: string;
}, {
location: string;
}>;
export declare const getCurrentAirPollutionSchema: z.ZodObject<{
location: z.ZodString;
}, "strip", z.ZodTypeAny, {
location: string;
}, {
location: string;
}>;
export declare const getLocationInfoSchema: z.ZodObject<{
latitude: z.ZodNumber;
longitude: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
latitude: number;
longitude: number;
}, {
latitude: number;
longitude: number;
}>;
export declare const oneCallExcludeSchema: z.ZodOptional<z.ZodArray<z.ZodEnum<["current", "minutely", "hourly", "daily", "alerts"]>, "many">>;
export declare const getOneCallWeatherSchema: z.ZodObject<{
latitude: z.ZodNumber;
longitude: z.ZodNumber;
units: z.ZodOptional<z.ZodEnum<["metric", "imperial", "standard"]>>;
exclude: z.ZodOptional<z.ZodArray<z.ZodEnum<["current", "minutely", "hourly", "daily", "alerts"]>, "many">>;
}, "strip", z.ZodTypeAny, {
latitude: number;
longitude: number;
units?: "metric" | "imperial" | "standard" | undefined;
exclude?: ("current" | "minutely" | "hourly" | "daily" | "alerts")[] | undefined;
}, {
latitude: number;
longitude: number;
units?: "metric" | "imperial" | "standard" | undefined;
exclude?: ("current" | "minutely" | "hourly" | "daily" | "alerts")[] | undefined;
}>;
/**
* Air Quality Operation Schemas
*/
export declare const getAirPollutionSchema: z.ZodObject<{
latitude: z.ZodNumber;
longitude: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
latitude: number;
longitude: number;
}, {
latitude: number;
longitude: number;
}>;
/**
* Geocoding Operation Schemas
*/
export declare const geocodeLocationSchema: z.ZodObject<{
query: z.ZodString;
limit: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
query: string;
limit?: number | undefined;
}, {
query: string;
limit?: number | undefined;
}>;
/**
* Response Type Schemas (for validation and documentation)
*/
export declare const weatherConditionSchema: z.ZodObject<{
id: z.ZodNumber;
main: z.ZodString;
description: z.ZodString;
icon: z.ZodString;
}, "strip", z.ZodTypeAny, {
id: number;
main: string;
description: string;
icon: string;
}, {
id: number;
main: string;
description: string;
icon: string;
}>;
export declare const temperatureSchema: z.ZodObject<{
temp: z.ZodNumber;
feels_like: z.ZodNumber;
temp_min: z.ZodNumber;
temp_max: z.ZodNumber;
pressure: z.ZodNumber;
humidity: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
temp: number;
feels_like: number;
temp_min: number;
temp_max: number;
pressure: number;
humidity: number;
}, {
temp: number;
feels_like: number;
temp_min: number;
temp_max: number;
pressure: number;
humidity: number;
}>;
export declare const windSchema: z.ZodObject<{
speed: z.ZodNumber;
deg: z.ZodNumber;
gust: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
speed: number;
deg: number;
gust?: number | undefined;
}, {
speed: number;
deg: number;
gust?: number | undefined;
}>;
export declare const currentWeatherResponseSchema: z.ZodObject<{
coord: z.ZodObject<{
lon: z.ZodNumber;
lat: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
lon: number;
lat: number;
}, {
lon: number;
lat: number;
}>;
weather: z.ZodArray<z.ZodObject<{
id: z.ZodNumber;
main: z.ZodString;
description: z.ZodString;
icon: z.ZodString;
}, "strip", z.ZodTypeAny, {
id: number;
main: string;
description: string;
icon: string;
}, {
id: number;
main: string;
description: string;
icon: string;
}>, "many">;
main: z.ZodObject<{
temp: z.ZodNumber;
feels_like: z.ZodNumber;
temp_min: z.ZodNumber;
temp_max: z.ZodNumber;
pressure: z.ZodNumber;
humidity: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
temp: number;
feels_like: number;
temp_min: number;
temp_max: number;
pressure: number;
humidity: number;
}, {
temp: number;
feels_like: number;
temp_min: number;
temp_max: number;
pressure: number;
humidity: number;
}>;
wind: z.ZodObject<{
speed: z.ZodNumber;
deg: z.ZodNumber;
gust: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
speed: number;
deg: number;
gust?: number | undefined;
}, {
speed: number;
deg: number;
gust?: number | undefined;
}>;
visibility: z.ZodNumber;
dt: z.ZodNumber;
timezone: z.ZodNumber;
name: z.ZodString;
cod: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
main: {
temp: number;
feels_like: number;
temp_min: number;
temp_max: number;
pressure: number;
humidity: number;
};
coord: {
lon: number;
lat: number;
};
weather: {
id: number;
main: string;
description: string;
icon: string;
}[];
wind: {
speed: number;
deg: number;
gust?: number | undefined;
};
visibility: number;
dt: number;
timezone: number;
name: string;
cod: number;
}, {
main: {
temp: number;
feels_like: number;
temp_min: number;
temp_max: number;
pressure: number;
humidity: number;
};
coord: {
lon: number;
lat: number;
};
weather: {
id: number;
main: string;
description: string;
icon: string;
}[];
wind: {
speed: number;
deg: number;
gust?: number | undefined;
};
visibility: number;
dt: number;
timezone: number;
name: string;
cod: number;
}>;
export declare const airQualityComponentSchema: z.ZodObject<{
co: z.ZodNumber;
no: z.ZodNumber;
no2: z.ZodNumber;
o3: z.ZodNumber;
so2: z.ZodNumber;
pm2_5: z.ZodNumber;
pm10: z.ZodNumber;
nh3: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
co: number;
no: number;
no2: number;
o3: number;
so2: number;
pm2_5: number;
pm10: number;
nh3: number;
}, {
co: number;
no: number;
no2: number;
o3: number;
so2: number;
pm2_5: number;
pm10: number;
nh3: number;
}>;
export declare const airPollutionResponseSchema: z.ZodObject<{
coord: z.ZodObject<{
lon: z.ZodNumber;
lat: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
lon: number;
lat: number;
}, {
lon: number;
lat: number;
}>;
list: z.ZodArray<z.ZodObject<{
main: z.ZodObject<{
aqi: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
aqi: number;
}, {
aqi: number;
}>;
components: z.ZodObject<{
co: z.ZodNumber;
no: z.ZodNumber;
no2: z.ZodNumber;
o3: z.ZodNumber;
so2: z.ZodNumber;
pm2_5: z.ZodNumber;
pm10: z.ZodNumber;
nh3: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
co: number;
no: number;
no2: number;
o3: number;
so2: number;
pm2_5: number;
pm10: number;
nh3: number;
}, {
co: number;
no: number;
no2: number;
o3: number;
so2: number;
pm2_5: number;
pm10: number;
nh3: number;
}>;
dt: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
main: {
aqi: number;
};
dt: number;
components: {
co: number;
no: number;
no2: number;
o3: number;
so2: number;
pm2_5: number;
pm10: number;
nh3: number;
};
}, {
main: {
aqi: number;
};
dt: number;
components: {
co: number;
no: number;
no2: number;
o3: number;
so2: number;
pm2_5: number;
pm10: number;
nh3: number;
};
}>, "many">;
}, "strip", z.ZodTypeAny, {
coord: {
lon: number;
lat: number;
};
list: {
main: {
aqi: number;
};
dt: number;
components: {
co: number;
no: number;
no2: number;
o3: number;
so2: number;
pm2_5: number;
pm10: number;
nh3: number;
};
}[];
}, {
coord: {
lon: number;
lat: number;
};
list: {
main: {
aqi: number;
};
dt: number;
components: {
co: number;
no: number;
no2: number;
o3: number;
so2: number;
pm2_5: number;
pm10: number;
nh3: number;
};
}[];
}>;
export declare const geocodingResultSchema: z.ZodObject<{
name: z.ZodString;
local_names: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
lat: z.ZodNumber;
lon: z.ZodNumber;
country: z.ZodString;
state: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
lon: number;
lat: number;
name: string;
country: string;
local_names?: Record<string, string> | undefined;
state?: string | undefined;
}, {
lon: number;
lat: number;
name: string;
country: string;
local_names?: Record<string, string> | undefined;
state?: string | undefined;
}>;
/**
* Error Response Schema
*/
export declare const errorResponseSchema: z.ZodObject<{
error: z.ZodString;
message: z.ZodString;
code: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
message: string;
error: string;
code?: string | undefined;
}, {
message: string;
error: string;
code?: string | undefined;
}>;
/**
* Type Exports (for use in tools)
*/
export type Units = z.infer<typeof unitsSchema>;
export type OneCallExclude = z.infer<typeof oneCallExcludeSchema>;
export type GetCurrentWeatherInput = z.infer<typeof getCurrentWeatherSchema>;
export type GetWeatherForecastInput = z.infer<typeof getWeatherForecastSchema>;
export type GetHourlyForecastInput = z.infer<typeof getHourlyForecastSchema>;
export type GetDailyForecastInput = z.infer<typeof getDailyForecastSchema>;
export type GetMinutelyForecastInput = z.infer<typeof getMinutelyForecastSchema>;
export type GetWeatherAlertsInput = z.infer<typeof getWeatherAlertsSchema>;
export type GetCurrentAirPollutionInput = z.infer<typeof getCurrentAirPollutionSchema>;
export type GetLocationInfoInput = z.infer<typeof getLocationInfoSchema>;
export type GetOneCallWeatherInput = z.infer<typeof getOneCallWeatherSchema>;
export type GetAirPollutionInput = z.infer<typeof getAirPollutionSchema>;
export type GeocodeLocationInput = z.infer<typeof geocodeLocationSchema>;
export type CurrentWeatherResponse = z.infer<typeof currentWeatherResponseSchema>;
export type AirPollutionResponse = z.infer<typeof airPollutionResponseSchema>;
export type GeocodingResult = z.infer<typeof geocodingResultSchema>;
export type ErrorResponse = z.infer<typeof errorResponseSchema>;
//# sourceMappingURL=schemas.d.ts.map