Aviation Weather
Provides aviation weather information for flight planning from aviationweather.gov.
Aviation Weather MCP Server
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.
DISCLAIMER
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.
Features
- Type-safe API client automatically generated from the official Aviation Weather API Swagger definition
- MCP tools for weather data:
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 airports
Setup
Prerequisites
- Node.js 18 or higher
- npm or yarn
- curl (for fetching the Swagger YAML)
Installation
-
Clone 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
Using with Claude for Desktop
To use this server with Claude for Desktop:
-
Edit your Claude for Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
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
Example Queries
Once connected to Claude, you can ask questions like:
- "What's the current weather at KJFK?"
- "Is there a TAF available for KORD?"
- "I'm planning to fly from KBOS to KPHL tomorrow. What's the weather looking like?"
- "Are there any PIREPs near KDEN?"
Development
Project Structure
src/index.ts
: Main server codepackages/aviation-weath-api
: Autogenerate API client for Aviation Weather .gov
Building the aviation weather client
The 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 definition
Building and running the app
npm run build
: Build the javascript clientnpm run start
: Run the MCP server
Adding More Tools
To 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
};
}
}
);
How It Works
- The server fetches the latest Swagger definition from aviationweather.gov
- The OpenAPI Generator creates a type-safe client from this definition
- The server uses this client to make API calls with proper typing
- Error handling and response formatting ensure a smooth experience
License
MIT
Related Servers
Cloud PC Management
Manage Azure Cloud PCs using the Microsoft Graph API.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication.
Remote MCP Server (Authless)
A remote MCP server deployable on Cloudflare Workers without authentication.
Kayzen Analytics
An MCP server for interacting with the Kayzen Analytics API, requiring credentials configured via environment variables.
Amazon VPC Lattice
Access and manage AWS VPC Lattice resources and related documentation.
Rewards Flights Public MCP
Deploy a remote, authentication-free MCP server on Cloudflare Workers to search for rewards flights.
Yandex Cloud
An unofficial server for interacting with the Yandex Cloud API.
Domino Data Lab
Interact with the Domino Data Lab platform to execute and check the status of Domino jobs.
iFlytek Spark Agent
Invoke task chains on the iFlytek SparkAgent Platform.
Remote MCP Server on Cloudflare
An MCP server designed to run on Cloudflare Workers, featuring OAuth login support.