Provides aviation weather information through a Model Context Protocol server, enabling access to METARs, TAFs, PIREPs, and route weather data for informational purposes only.
This is a Model Context Protocol (MCP) server that provides aviation weather information for flight planning. It connects to the Aviation Weather API to fetch METARs, TAFs, PIREPs, and other data.
DO NOT USE THIS TOOL FOR FLIGHT PLANNING OR IN-FLIGHT DECISION MAKING.
IMPORTANT DISCLAIMER: This Aviation Weather MCP server provides weather data sourced from aviationweather.gov for informational purposes only. The information provided by this tool should NEVER be used as the sole source for flight planning or in-flight decision making.
Weather data may be incomplete, delayed, or inaccurate. Additionally, the large language model interpreting this data may misunderstand or incorrectly represent critical information. Always consult official aviation weather sources and obtain a proper weather briefing from authorized providers before any flight.
This tool is not FAA-approved, is not a replacement for certified weather services, and should be used only as a supplementary reference. The developers assume no liability for decisions made based on information provided by this tool.
ALWAYS verify critical weather information through official channels.
get-metar
: Get current weather observationsget-taf
: Get terminal aerodrome forecastsget-pireps
: Get pilot reports near an airportget-route-weather
: Get comprehensive weather for a route between two airportsClone this repository:
git clone https://github.com/yourusername/aviation-weather-mcp-server.git cd aviation-weather-mcp-server
Install dependencies:
npm install
Build the server (this will fetch the latest Swagger definition, generate the API client, and compile the TypeScript):
npm run build
Start the server:
npm start
To use this server with Claude for Desktop:
Edit your Claude for Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
Add the server to the configuration:
{ "mcpServers": { "aviation-weather": { "command": "node", "args": [ "/absolute/path/to/aviation-weather-mcp-server/build/index.js" ] } } }
Restart Claude for Desktop
Once connected to Claude, you can ask questions like:
src/index.ts
: Main server codepackages/aviation-weath-api
: Autogenerate API client for Aviation Weather .govThe build process follows these steps:
npm run aviation-weather-api:clean
: delete the existing clientnpm run aviation-weather-api:fetch
: Fetches the latest Swagger definition from aviationweather.govnpm run aviation-weather-api:generate
: Generates a typed TypeScript client from the Swagger definitionnpm run build
: Build the javascript clientnpm run start
: Run the MCP serverTo add new tools to the server, follow this pattern:
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 }; } } );
MIT
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!