Skip to main content
Glama
maboukerfa

AirTrail MCP Server

by maboukerfa

AirTrail MCP Server

An MCP (Model Context Protocol) server for managing your AirTrail flight tracking instance through AI assistants.

Overview

This server enables LLMs to interact with your self-hosted AirTrail application, providing natural language access to your flight data. Manage your travel history, search flights, and analyze statistics through conversational interfaces.

Example:

When was my last trip to france?

Get my flights tickets from the download foolder and add the trips information to airtrail

Related MCP server: Flighty MCP Server

Prerequisites

  • A running AirTrail instance

  • MCP-compatible client (Claude Code/Desktop, OpenCode)

  • AirTrail API credentials

Usage

  1. Clone this project

  2. Create a .env file

AIRTRAIL_API_KEY=
AIRTRAIL_BASE_URL=http://localhost:5173/api
AIRTRAIL_USER_ID=
  1. Edit your client config file

{
  "mcpServers": {
    "airtrail": {
      "command": "uv",
      "args": ["run" , "/the-project-path/AirTrail_MCP_server/src/server.py"],
    }
  }
}

Available Tools

3 tools
add_flightD
ParametersJSON Schema
NameRequiredDescriptionDefault
departure_airport_icao_codeYes
arrival_airport_icao_codeYes
departureYes
departureTimeNo
seatsNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_flight_itineraryC

Retrieve flight itinerary information including departure and arrival ICAO airport codes for a specific flight number. Returns airport codes in ICAO format.

ParametersJSON Schema
NameRequiredDescriptionDefault
flight_numberYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only mentions that the tool returns ICAO codes, but it does not state whether the operation is read-only, idempotent, or what happens on invalid flight numbers (e.g., error handling, null results). This is insufficient for safe usage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise and front-loaded. The first sentence delivers the core purpose, and the second clarifies the return format (ICAO codes). No superfluous words, though the second sentence partially repeats the first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 explains return values (ICAO airport codes) but fails to specify if other itinerary details are included, how errors are conveyed, or any pagination/limitation. For a simple retrieval with one parameter, it is minimally adequate but lacking completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add meaning to the single parameter 'flight_number'. It merely says 'for a specific flight number' without specifying format, constraints, or examples. This adds little value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves flight itinerary information for a specific flight number, including departure and arrival ICAO airport codes. The verb 'Retrieve' and resource 'flight itinerary information' are specific, and the scope is well-defined. However, it does not explicitly differentiate from sibling tools 'add_flight' and 'list_flights', so it lacks full comparative clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'add_flight' or 'list_flights'. There is no mention of prerequisites, context, or exclusions, leaving the agent without decision-making support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_flightsB

List all flights from Airtrail

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must convey behavioral traits. It implies a read-only operation but does not explicitly state that it is nondestructive or safe. No mention of performance, limits, or side effects is included.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that conveys the core purpose without unnecessary words. It could be slightly expanded to include usage context but remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks completeness for a list tool. It does not mention output format, pagination, ordering, or any constraints. Given no output schema, the agent learns nothing about the return structure, which is critical for invoking the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and the schema coverage is 100% (trivially). Per baseline rule, 0 parameters earns a 4. The description does not need to add meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all flights from Airtrail, using a specific verb and resource. However, it does not differentiate from siblings beyond the name; the sibling tools add_flight and get_flight_itinerary suggest different purposes but are not explicitly contrasted.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention that this tool is for obtaining a broad list, while get_flight_itinerary is for details on a specific flight, or add_flight for creating new entries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

C2.5/5.0
Disambiguation4/5

The three tools have distinct purposes (add, retrieve specific, list all), but add_flight lacks a description which slightly increases ambiguity.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern, making them predictable.

Tool Count4/5

Three tools is slightly sparse but appropriate for a basic flight tracking server covering add, get, and list operations.

Completeness3/5

The set covers adding, retrieving, and listing flights, but lacks update and delete operations, which are notable gaps for a complete lifecycle.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Connects AI assistants to the Flighty flight tracking app for querying flight status, delay forecasts, stats, and adding/removing flights via natural language.
    14
    27
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to access and manage your Flighty flight data directly from the local macOS app database, supporting flight lists, status, searches, additions, and more.
    15
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    Enables AI assistants to manage 3D printing inventory, filament spools, printers, projects, and print trackers through a self-hosted Print Vault instance.
    40
    AGPL 3.0

Latest Blog Posts

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/maboukerfa/AirTrail_MCP_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server