Aviation MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Aviation MCP ServerShow me live flights over Germany"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Aviation MCP Server
MCP server giving AI agents access to real-time aviation data — live flight tracking, airport weather, airline and airport information.
Features
Tool | Description | Source |
| Current flights worldwide or in a specific area | OpenSky Network |
| Track a specific flight by callsign or ICAO24 | OpenSky Network |
| Historical flight path/trajectory | OpenSky Network |
| Recent arrivals at an airport | OpenSky Network |
| Recent departures from an airport | OpenSky Network |
| Current METAR weather at an airport | AviationWeather.gov |
| TAF weather forecast for an airport | AviationWeather.gov |
| Active SIGMETs and aviation warnings | AviationWeather.gov |
| Airport details (location, timezone, etc.) | AirLabs |
| Airline details (fleet, hub, status) | AirLabs |
Related MCP server: Frostbyte MCP
Data Sources
OpenSky Network — Live flight tracking, arrivals/departures, flight paths (no API key needed, 100 calls/day)
AviationWeather.gov — METAR, TAF, SIGMETs (no API key needed, 100 req/min)
AirLabs — Airport and airline database (free tier: 1,000 calls/month, API key required)
Installation
With pip
pip install aviation-mcp-serverFrom source
git clone https://github.com/AiAgentKarl/aviation-mcp-server.git
cd aviation-mcp-server
pip install -e .Configuration
API Keys
Copy .env.example to .env and add your keys:
cp .env.example .env# AirLabs — Optional (https://airlabs.co)
AIRLABS_API_KEY=your-key-hereNote: OpenSky Network and AviationWeather.gov require no API key. The AirLabs key is only needed for
get_airport_infoandget_airline_info.
Claude Desktop / Claude Code
Add to your MCP configuration:
{
"mcpServers": {
"aviation": {
"type": "stdio",
"command": "python",
"args": ["-m", "src.server"],
"env": {
"AIRLABS_API_KEY": "your-key-here"
}
}
}
}Using uvx (no install needed)
{
"mcpServers": {
"aviation": {
"type": "stdio",
"command": "uvx",
"args": ["aviation-mcp-server"],
"env": {
"AIRLABS_API_KEY": "your-key-here"
}
}
}
}Usage Examples
Track flights over Germany:
"Show me all flights currently over Germany"
Check airport weather:
"What's the current weather at Frankfurt Airport?"
Track a specific flight:
"Track Lufthansa flight DLH400"
Get airport arrivals:
"Show me recent arrivals at JFK"
Aviation warnings:
"Are there any active SIGMETs?"
Airport Codes
This server uses ICAO airport codes (4 letters) for weather and flight data:
Airport | IATA | ICAO |
Frankfurt | FRA | EDDF |
Munich | MUC | EDDM |
Berlin | BER | EDDB |
New York JFK | JFK | KJFK |
London Heathrow | LHR | EGLL |
Paris CDG | CDG | LFPG |
Tokyo Narita | NRT | RJAA |
Rate Limits
API | Limit | Auth |
OpenSky Network | 100 calls/day (anonymous) | None |
AviationWeather.gov | 100 requests/minute | None |
AirLabs | 1,000 calls/month (free tier) | API Key |
Tech Stack
Python 3.11+
MCP SDK (FastMCP)
httpx (async HTTP)
OpenSky Network, AviationWeather.gov, AirLabs APIs
More MCP Servers by AiAgentKarl
Category | Servers |
🔗 Blockchain | |
🌍 Data | Weather · Germany · Agriculture · Space · Aviation · EU Companies |
🔒 Security | |
🤖 Agent Infra | Memory · Directory · Hub · Reputation |
🔬 Research |
License
MIT
Available Tools
10 toolsget_airline_infoA
Airline-Details abrufen (AirLabs).
Suche nach IATA-Code, ICAO-Code oder Name. Gibt Name, Herkunftsland, IATA/ICAO-Codes und Status zurück.
Benötigt einen AirLabs API-Key (kostenlos, 1.000 Calls/Monat).
Args: iata_code: IATA-Code der Airline (z.B. "LH" für Lufthansa, "UA" für United) icao_code: ICAO-Code der Airline (z.B. "DLH" für Lufthansa, "UAL" für United) name: Name der Airline (z.B. "Lufthansa", "Ryanair")
| Name | Required | Description | Default |
|---|---|---|---|
| iata_code | No | ||
| icao_code | No | ||
| name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the need for an AirLabs API key, rate limit of 1000 calls/month, and the return fields (name, country, codes, status). Missing error handling details but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with a header, short intro, and bullet-pointed Args. No unnecessary information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the return fields. Parameter descriptions are clear. For a simple lookup tool, it is complete enough, though simultaneous parameter usage could be clarified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% coverage, but description provides detailed examples for each parameter (e.g., 'LH' for Lufthansa) and explains that they are search criteria. It adds meaning beyond the schema's basic type definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Airline-Details abrufen (AirLabs)' and explains it searches by IATA code, ICAO code, or name. This distinguishes it from sibling tools like get_airport_info or track_flight.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says to search by code or name and mentions needing an API key with rate limits. It does not explicitly exclude other uses but is clear enough for an agent to decide when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_airport_arrivalsA
Letzte Ankünfte an einem Flughafen abrufen (OpenSky).
Args: airport_icao: ICAO-Code des Flughafens (z.B. "EDDF" für Frankfurt, "KJFK" für New York JFK, "EDDM" für München) hours: Zeitraum in Stunden zurück (Standard: 2, Maximum: 24)
| Name | Required | Description | Default |
|---|---|---|---|
| airport_icao | Yes | ||
| hours | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description does not disclose behavioral traits such as rate limits, authentication requirements, or data freshness. It only states the basic purpose, leaving agents unaware of important operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the tool's purpose. Parameter explanations are clear and contained within a structured docstring format. No superfluous information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool without output schema, the description adequately covers parameter semantics. However, it omits details about the return format, pagination, or error handling, which could be useful for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description provides concrete examples for airport_icao (e.g., EDDF, KJFK, EDDM) and explains the hours parameter with default and maximum values. This adds significant clarity beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Letzte Ankünfte an einem Flughafen abrufen (OpenSky)' meaning 'Retrieve latest arrivals at an airport'. It specifies the resource (arrivals) and action (retrieve), and it effectively distinguishes from siblings like get_airport_departures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for airport arrivals, but lacks explicit guidance on when to use this tool versus alternatives like get_airport_departures. No exclusions or context are provided, relying on sibling names for differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_airport_departuresA
Letzte Abflüge von einem Flughafen abrufen (OpenSky).
Args: airport_icao: ICAO-Code des Flughafens (z.B. "EDDF" für Frankfurt, "KJFK" für New York JFK, "EDDM" für München) hours: Zeitraum in Stunden zurück (Standard: 2, Maximum: 24)
| Name | Required | Description | Default |
|---|---|---|---|
| airport_icao | Yes | ||
| hours | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'OpenSky' as the data source and includes a time range parameter, but it fails to disclose critical behavioral traits such as authentication requirements, rate limits, pagination behavior, error handling, or whether incomplete data may be returned. The lack of annotations increases the burden on the description, which is not met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct (two sentences plus argument list) and front-loaded with the purpose. Every sentence adds value: the first line states the function, the 'Args' section documents parameters. No redundant or extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with two parameters and no output schema, the description covers the core functionality and parameter details. However, it omits information about the return format, result count, or potential errors, which would enhance completeness for an agent. Still, it is mostly adequate given the tool's low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing clear explanations for both parameters: 'airport_icao' includes concrete ICAO code examples (EDDF, KJFK, EDDM), and 'hours' specifies default (2) and maximum (24) values, adding significant meaning beyond the schema's minimal titles and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Letzte Abflüge von einem Flughafen abrufen' (retrieve last departures from an airport), using a specific verb and resource. It distinguishes from sibling tools like 'get_airport_arrivals' and 'get_airport_info' by specifying 'departures'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving last departures from an airport but does not provide explicit guidance on when to use this tool versus alternatives like 'get_airport_arrivals' or 'track_live_flights'. No when-not-to-use or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_airport_infoA
Flughafen-Details abrufen (AirLabs).
Suche nach IATA-Code, ICAO-Code oder Land. Gibt Name, Standort, Zeitzone und weitere Details zurück.
Benötigt einen AirLabs API-Key (kostenlos, 1.000 Calls/Monat).
Args: iata_code: IATA-Code des Flughafens (z.B. "JFK", "FRA", "MUC") icao_code: ICAO-Code des Flughafens (z.B. "KJFK", "EDDF", "EDDM") country_code: ISO-Ländercode für alle Flughäfen eines Landes (z.B. "DE", "US")
| Name | Required | Description | Default |
|---|---|---|---|
| iata_code | No | ||
| icao_code | No | ||
| country_code | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It reveals it's read-only (implicitly), requires an API key, and has a 1,000 calls/month limit. However, it does not discuss error handling, idempotency, or exact return format beyond listing fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct: two sentences plus a bulleted argument list. Every sentence provides value, and the purpose is front-loaded. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description partially covers return values but lacks details on structure or error behavior. It also omits usage constraints (e.g., providing at least one param) and does not differentiate from siblings despite sibling list existing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must add meaning. It lists params with examples (e.g., IATA 'JFK') and indicates they are search filters. However, it does not explain mutual exclusivity or whether multiple can be combined, leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves airport details (Flughafen-Details) and specifies search by IATA, ICAO, or country code. It lists return data (name, location, timezone) and distinguishes from siblings like arrivals/departures/weather.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It mentions API key requirement and call limit, but does not explicitly state when to use this tool versus siblings or how to combine parameters. It implies one search criterion but does not clarify if multiple are allowed or if at least one is required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_airport_weatherA
Aktuelles Flugwetter (METAR) an einem Flughafen abrufen.
METAR enthält: Wind, Sichtweite, Wolken, Temperatur, Luftdruck.
Args: airport_icao: ICAO-Code des Flughafens (z.B. "KJFK" für New York JFK, "EDDF" für Frankfurt, "EDDM" für München)
| Name | Required | Description | Default |
|---|---|---|---|
| airport_icao | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description adds context on data content (wind, visibility, etc.) but omits details like data freshness, rate limits, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is succinct with a clear structure: purpose, data summary, parameter documentation. No unnecessary content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter and no output schema, the description adequately explains the tool's function and returned data (METAR elements). Could specify return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% but description gives concrete ICAO code examples (e.g., 'KJFK', 'EDDF'), adding meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves current flight weather (METAR) at an airport, with a list of data included. The tool name and context signal 'get_weather_forecast' as a sibling distinguish it as real-time vs. forecast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for current weather but does not explicitly state when to use this tool vs. siblings like 'get_weather_forecast' or any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_aviation_warningsA
Aktive SIGMETs und Flugwetter-Warnungen weltweit abrufen.
SIGMETs warnen vor gefährlichem Wetter für den Flugverkehr: Gewitter, Vereisung, Turbulenz, Vulkanasche, Sandstürme.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear full responsibility for behavioral disclosure. It only states what the tool does (retrieve warnings) without mentioning any traits such as data freshness, update frequency, output format, or potential rate limits. This leaves agents under-informed about what to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: the first sentence states the main action, and the second adds explanatory detail about SIGMETs. Every sentence is informative, and there is no redundant information. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description should inform the agent about the return value. It does not mention the response structure (e.g., list of warnings, format), which is a gap. However, for a simple retrieval tool with no complexity, the description is minimally adequate but could be improved by specifying output type.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema coverage (since the schema is empty). According to guidelines, a baseline of 4 applies when there are no parameters; the description does not need to add parameter-specific details. The description appropriately focuses on the tool's purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves active SIGMETs and aviation weather warnings worldwide, and explains what SIGMETs warn about (thunderstorms, icing, turbulence, etc.). It uses a specific verb ('abrufen' meaning 'retrieve') and identifies the resource, distinguishing it from sibling tools like get_airport_weather or get_weather_forecast which focus on general weather or specific locations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use the tool—to access active global aviation warnings—and explains the types of hazards covered. However, it does not explicitly state when not to use it or mention alternative tools for related tasks such as airport-specific weather or flight tracking, though the sibling names imply different scopes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_flight_pathB
Historischen Flugpfad (Trajektorie) eines Flugzeugs abrufen.
Gibt den aktuellsten Track mit Wegpunkten zurück.
Args: icao24: ICAO24-Transponder-Adresse des Flugzeugs (z.B. "3c6752")
| Name | Required | Description | Default |
|---|---|---|---|
| icao24 | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as error handling (e.g., if no track exists), data freshness, or whether the tool is read-only. For a retrieval tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and to the point, consisting of two sentences and a parameter explanation. No redundant information, though the format mixes German and English.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema), the description covers basic functionality. However, it does not describe the return format (e.g., structure of waypoints) or behavior when no data exists, leaving gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for the 'icao24' parameter, but the description adds a clear explanation: 'ICAO24-Transponder-Adresse des Flugzeugs (z.B. "3c6752")'. This compensates for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the tool's purpose: retrieving the historical flight path (trajectory) of an aircraft, returning the latest track with waypoints. The use of 'historischen' (historical) distinguishes it from sibling live tracking tools, though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like track_flight or track_live_flights. It does not mention prerequisites or context for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_weather_forecastB
Flugwetter-Vorhersage (TAF) für einen Flughafen abrufen.
TAF deckt typischerweise 24-30 Stunden ab und enthält erwartete Wetteränderungen in Zeitgruppen.
Args: airport_icao: ICAO-Code des Flughafens (z.B. "KJFK" für New York JFK, "EDDF" für Frankfurt, "EDDM" für München)
| Name | Required | Description | Default |
|---|---|---|---|
| airport_icao | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only mentions TAF coverage and time groups. It omits behavioral details like data source, update frequency, error handling, or safety (read-only). Minimal disclosure beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences and an Args section. It is front-loaded with the purpose and parameter explanation. Could be slightly more structured but is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Missing output format description (TAF text or structured data) and lacks usage differentiation from siblings. With only one parameter and no output schema, the description should cover return value and intended use cases more thoroughly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% so description must compensate. It explains the parameter airport_icao as an ICAO code with concrete examples (KJFK, EDDF, EDDM), adding significant meaning beyond the schema's title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves aviation weather forecast (TAF) for an airport. It differentiates from siblings like get_airport_weather by specifying TAF and its 24-30 hour coverage, but does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs siblings like get_airport_weather or get_aviation_warnings. The description explains what TAF is but lacks context for appropriate use or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_flightA
Einen bestimmten Flug per Callsign oder ICAO24-Adresse verfolgen.
Mindestens einer der beiden Parameter muss angegeben werden.
Args: callsign: Callsign des Flugs (z.B. "DLH400", "UAL123") icao24: ICAO24-Transponder-Adresse (z.B. "3c6752")
| Name | Required | Description | Default |
|---|---|---|---|
| callsign | No | ||
| icao24 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states it 'tracks a flight' without detailing behavior such as output format, real-time updates, or limitations. The burden of disclosure is not met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the main purpose. Every sentence is necessary and adds value, with no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no sibling differentiation, the description lacks completeness. It explains inputs but not outputs or how the result should be interpreted, which is insufficient for a tracking tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description adds value by explaining each parameter's purpose and providing example values (e.g., 'DLH400', '3c6752'), helping the agent understand expected input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool tracks a specific flight by callsign or ICAO24 address, using a specific verb and resource. It distinguishes from siblings like 'track_live_flights' which implies tracking multiple flights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies that at least one of two parameters must be provided, but it does not provide guidance on when to use this tool versus alternatives like 'track_live_flights' or other flight tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_live_flightsA
Aktuelle Flüge weltweit oder in einem bestimmten Gebiet verfolgen.
Ohne Koordinaten werden weltweite Flüge zurückgegeben (begrenzt auf limit). Mit Koordinaten wird ein bestimmtes Gebiet abgefragt (Bounding Box).
Args: lamin: Minimaler Breitengrad — südliche Grenze (z.B. 47.0 für Süddeutschland) lomin: Minimaler Längengrad — westliche Grenze (z.B. 5.0 für Westdeutschland) lamax: Maximaler Breitengrad — nördliche Grenze (z.B. 55.0 für Norddeutschland) lomax: Maximaler Längengrad — östliche Grenze (z.B. 15.0 für Ostdeutschland) limit: Maximale Anzahl zurückgegebener Flüge (Standard: 50, Maximum: 200)
| Name | Required | Description | Default |
|---|---|---|---|
| lamin | No | ||
| lomin | No | ||
| lamax | No | ||
| lomax | No | ||
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behaviors. It describes the two modes (global vs bounding box) and the limit, but omits details on data freshness, rate limits, or delays.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with a summary, mode explanation, and a clear args list. Every sentence adds value, with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no required ones, no output schema, and no annotations, the description covers usage and parameter semantics well. Missing output format details, but the tool name implies live flight data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description explains all 5 parameters: lamin, lomin, lamax, lomax with geographic meaning and an example, plus limit with default and maximum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool tracks live flights globally or in a bounding box. It uses specific verbs ('verfolgen') and a resource ('Aktuelle Flüge'), and distinguishes from siblings like 'track_flight' for single flights.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use coordinates vs. none, and mentions the limit parameter's default and maximum. Although it does not explicitly exclude alternatives, the context implies when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool targets a distinct aspect of aviation data: airlines, airports, arrivals, departures, weather, warnings, flight paths, and tracking. No overlap or ambiguity.
All tools use a consistent 'verb_noun' pattern in snake_case, with 'get_' for data retrieval and 'track_' for flight tracking. No mixing of conventions.
10 tools is well within the ideal 3-15 range. The number is sufficient to cover the domain without being overwhelming or too sparse.
The set covers airline info, airport details, arrivals/departures, weather (current, forecast, warnings), flight paths, and live tracking. Minor gaps like airport delays or schedule data, but overall comprehensive for an aviation MCP.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server giving AI agents one-connection access to supply-chain & logistics data: AIS vessel track
Hosted MCP server for live public-data APIs and Skills for AI agents.
Search and compare flight offers through a cache-aware Streamable HTTP MCP server for AI agents.
Flight search MCP server providing search, pagination, and itinerary details for AI assistants.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA proof-of-concept MCP server that allows LLM agents to query live flight booking information via Amadeus, including cheapest tickets, destinations, and airline routes.1
- AlicenseNot gradedqualityCmaintenanceA unified MCP server providing AI agents with 40+ developer APIs including geolocation, crypto prices, DNS lookup, and web scraping. Enables natural language access to various tools through a single gateway.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to query flight routes, real-time flight tracking, weather, and transfer flights via standardized MCP tools.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server providing real-time aviation weather data (METAR, TAF, PIREPs, AIRMETs) from aviationweather.gov for flight planning and analysis.12MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/AiAgentKarl/aviation-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server