Aviation Weather
Proporciona información meteorológica de aviación para la planificación de vuelos desde aviationweather.gov.
Documentación
Servidor MCP de Aviation Weather
Este es un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona información meteorológica de aviación para la planificación de vuelos. Se conecta a la API de Aviation Weather para obtener METARs, TAFs, PIREPs y otros datos.
AVISO LEGAL
NO UTILICE ESTA HERRAMIENTA PARA LA PLANIFICACIÓN DE VUELOS O LA TOMA DE DECISIONES EN VUELO.
AVISO LEGAL IMPORTANTE: Este servidor MCP de Aviation Weather proporciona datos meteorológicos obtenidos de aviationweather.gov únicamente con fines informativos. La información proporcionada por esta herramienta NUNCA debe utilizarse como única fuente para la planificación de vuelos o la toma de decisiones en vuelo.
Los datos meteorológicos pueden estar incompletos, retrasados o ser inexactos. Además, el modelo de lenguaje grande que interpreta estos datos puede malinterpretar o representar incorrectamente información crítica. Consulte siempre las fuentes oficiales de meteorología de aviación y obtenga un informe meteorológico adecuado de proveedores autorizados antes de cualquier vuelo.
Esta herramienta no está aprobada por la FAA, no es un reemplazo para los servicios meteorológicos certificados y debe utilizarse únicamente como referencia complementaria. Los desarrolladores no asumen ninguna responsabilidad por las decisiones tomadas basadas en la información proporcionada por esta herramienta.
VERIFIQUE SIEMPRE la información meteorológica crítica a través de los canales oficiales.
Características
- Cliente API con seguridad de tipos generado automáticamente a partir de la definición oficial de Swagger de Aviation Weather API
- Herramientas MCP para datos meteorológicos:
get-metar: Obtener observaciones meteorológicas actualesget-taf: Obtener pronósticos de aeródromo terminalget-pireps: Obtener informes de pilotos cerca de un aeropuertoget-route-weather: Obtener información meteorológica completa para una ruta entre dos aeropuertos
Configuración
Requisitos previos
- Node.js 18 o superior
- npm o yarn
- curl (para obtener el YAML de Swagger)
Instalación
-
Clone este repositorio:
git clone https://github.com/yourusername/aviation-weather-mcp-server.git cd aviation-weather-mcp-server -
Instale las dependencias:
npm install -
Compile el servidor (esto obtendrá la definición más reciente de Swagger, generará el cliente API y compilará el TypeScript):
npm run build -
Inicie el servidor:
npm start
Uso con Claude para Desktop
Para usar este servidor con Claude para Desktop:
-
Edite su archivo de configuración de Claude para Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Agregue el servidor a la configuración:
{ "mcpServers": { "aviation-weather": { "command": "node", "args": [ "/absolute/path/to/aviation-weather-mcp-server/build/index.js" ] } } } -
Reinicie Claude para Desktop
Consultas de ejemplo
Una vez conectado a Claude, puede hacer preguntas como:
- "¿Cuál es el clima actual en KJFK?"
- "¿Hay un TAF disponible para KORD?"
- "Estoy planeando volar de KBOS a KPHL mañana. ¿Cómo se ve el clima?"
- "¿Hay algún PIREP cerca de KDEN?"
Desarrollo
Estructura del proyecto
src/index.ts: Código principal del servidorpackages/aviation-weath-api: Genera automáticamente el cliente API para Aviation Weather .gov
Compilación del cliente de aviation weather
El proceso de compilación sigue estos pasos:
npm run aviation-weather-api:clean: eliminar el cliente existentenpm run aviation-weather-api:fetch: Obtiene la definición más reciente de Swagger de aviationweather.govnpm run aviation-weather-api:generate: Genera un cliente TypeScript tipado a partir de la definición de Swagger
Compilación y ejecución de la aplicación
npm run build: Compilar el cliente de JavaScriptnpm run start: Ejecutar el servidor MCP
Agregar más herramientas
Para agregar nuevas herramientas al servidor, siga este patrón:
server.tool(
"tool-name",
{
// Zod schema for parameters
param1: z.string().describe("Parameter description"),
param2: z.number().optional().describe("Optional parameter")
},
async ({ param1, param2 }) => {
try {
// Implementation
return {
content: [{
type: "text",
text: "Response text"
}]
};
} catch (error) {
return {
content: [{
type: "text",
text: `Error: ${error.message}`
}],
isError: true
};
}
}
);
Cómo funciona
- El servidor obtiene la definición más reciente de Swagger de aviationweather.gov
- El OpenAPI Generator crea un cliente con seguridad de tipos a partir de esta definición
- El servidor utiliza este cliente para realizar llamadas a la API con el tipado adecuado
- El manejo de errores y el formato de respuestas garantizan una experiencia fluida
Licencia
MIT