AirTrail 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., "@AirTrail MCP ServerShow my recent flights and total miles."
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.
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
Clone this project
Create a .env file
AIRTRAIL_API_KEY=
AIRTRAIL_BASE_URL=http://localhost:5173/api
AIRTRAIL_USER_ID=Edit your client config file
{
"mcpServers": {
"airtrail": {
"command": "uv",
"args": ["run" , "/the-project-path/AirTrail_MCP_server/src/server.py"],
}
}
}Available Tools
3 toolsadd_flightD
| Name | Required | Description | Default |
|---|---|---|---|
| departure_airport_icao_code | Yes | ||
| arrival_airport_icao_code | Yes | ||
| departure | Yes | ||
| departureTime | No | ||
| seats | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| flight_number | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
The three tools have distinct purposes (add, retrieve specific, list all), but add_flight lacks a description which slightly increases ambiguity.
All tool names follow a consistent snake_case verb_noun pattern, making them predictable.
Three tools is slightly sparse but appropriate for a basic flight tracking server covering add, get, and list operations.
The set covers adding, retrieving, and listing flights, but lacks update and delete operations, which are notable gaps for a complete lifecycle.
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
Search award flights and cash fares, optimize points, and predict fares inside ChatGPT and Claude.
Read and update your Everway trips and itineraries from any MCP-compatible AI assistant.
Personal AI travel agent. Points optimization, live flight/hotel/award search, trip planning.
Give AI assistants access to real-time data. Search the web, compare flights, find hotels, and more.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides AI assistants with real-time aircraft tracking, FAA registration, and OpenSky flight data through the Model Context Protocol.1MIT
- AlicenseAqualityBmaintenanceConnects AI assistants to the Flighty flight tracking app for querying flight status, delay forecasts, stats, and adding/removing flights via natural language.1427MIT
- AlicenseNot gradedqualityCmaintenanceEnables 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.15MIT
- AlicenseAqualityFmaintenanceEnables AI assistants to manage 3D printing inventory, filament spools, printers, projects, and print trackers through a self-hosted Print Vault instance.40AGPL 3.0
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/maboukerfa/AirTrail_MCP_server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server