Integrate FlightLabs with Claude Desktop, ChatGPT or any MCP-compatible assistant. Query live flights, schedules, delays, prices, airlines, routes, and airports in your AI conversations.
"Where is flight AA217 right now?"
The Model Context Protocol (MCP) lets AI assistants access external data in real time. Instead of outdated training data, your AI can fetch live flight data from FlightLabs — just by asking a question.
Example: Ask Claude "Where is flight AA217 right now?" and it will call our
flights.realtime tool automatically.
Live positions, status, airline and airport filters via /flights.
Ask questions like "Show American Airlines flights departing JFK" and get accurate answers.
MCP calls use your existing FlightLabs plan. Each AI request counts as one API call.
Ten tools mapped to core FlightLabs REST endpoints. Pass access_key on every call.
Get real-time flight positions and status. Filter by flight IATA/ICAO, airline, departure or arrival airport, registration, and more. Maps to GET /flights.
Useful params: flightIata, airlineIata, depIata, arrIata, limit, and more.
Historical departures or arrivals for an airport by date or date range. Maps to GET /historical.
Useful params: flightIata, airlineIata, depIata, arrIata, limit, and more.
Search flight prices between airports (oneway or roundtrip). Maps to GET /retrieveFlights.
Useful params: flightIata, airlineIata, depIata, arrIata, limit, and more.
Find delayed flights above a minimum delay threshold. Maps to GET /flight_delays.
Useful params: flightIata, airlineIata, depIata, arrIata, limit, and more.
Airport timetable of scheduled departures or arrivals. Maps to GET /advanced-flights-schedules.
Useful params: flightIata, airlineIata, depIata, arrIata, limit, and more.
Flight info by flight number (e.g. LH811), optionally for a date or range. Maps to GET /flight.
Useful params: flightIata, airlineIata, depIata, arrIata, limit, and more.
Live flights operated by a given airline ICAO code. Maps to GET /flights-by-airline.
Useful params: flightIata, airlineIata, depIata, arrIata, limit, and more.
Airline directory with optional IATA or country filter. Maps to GET /airlines.
Useful params: flightIata, airlineIata, depIata, arrIata, limit, and more.
Airline routes between airports, filterable by airline or flight. Maps to GET /routes.
Useful params: flightIata, airlineIata, depIata, arrIata, limit, and more.
Look up airports by IATA, ICAO, city, or country code. Maps to GET /airports-by-filter.
Useful params: flightIata, airlineIata, depIata, arrIata, limit, and more.
Connect in minutes using your API key in the endpoint URL. For direct programmatic calls, include access_key in the tool arguments.
Add this configuration to your Claude Desktop config file. On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"goflightlabs": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.goflightlabs.com/mcp?access_key=YOUR_ACCESS_KEY"
]
}
}
}
Start your free trial to get your API key and replace YOUR_ACCESS_KEY in the configuration above.
After setup, try asking Claude: "Where is flight AA217 right now?"
Our OpenAI-compatible proxy enriches ChatGPT responses with real-time flight data. Send your request to our endpoint instead of OpenAI's and we'll inject live data into the AI context.
curl -X POST "https://mcp.goflightlabs.com/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_OPENAI_API_KEY" \
-d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"Where is flight AA217 right now?"}],"force_mcp_tool":{"tool_name":"flights.realtime","params":{"access_key":"YOUR_ACCESS_KEY","flightIata":"AA217"}}}'
Authorization: Bearer … — your OpenAI API key (header only; never put it in the body)model — any OpenAI model (gpt-4o-mini, gpt-4o, etc.)force_mcp_tool.tool_name — use flights.realtimeforce_mcp_tool.params.access_key — your FlightLabs access keyforce_mcp_tool.params.flightIata — e.g. AA217 (or other filters like airlineIata, depIata)A complete Python example that fetches real-time data for flight AA217 using the MCP protocol.
import httpx
import json
import asyncio
MCP_SERVER_URL = "https://mcp.goflightlabs.com/mcp"
ACCESS_KEY = "YOUR_ACCESS_KEY"
async def call_mcp_tool(tool_name: str, arguments: dict):
async with httpx.AsyncClient(timeout=60) as client:
init_response = await client.post(
MCP_SERVER_URL,
json={
"jsonrpc": "2.0",
"id": "1",
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {"name": "PythonClient"}
}
}
)
session_id = init_response.headers.get("Mcp-Session-Id")
response = await client.post(
MCP_SERVER_URL,
headers={"Mcp-Session-Id": session_id},
json={
"jsonrpc": "2.0",
"id": "2",
"method": "tools/call",
"params": {
"name": tool_name,
"arguments": {"access_key": ACCESS_KEY, **arguments}
}
}
)
return response.json()
async def main():
result = await call_mcp_tool(
"flights.realtime",
{"flightIata": "AA217"}
)
print(json.dumps(result, indent=2))
asyncio.run(main())
Use FlightLabs MCP to give ChatGPT access to live flight positions and status.
Start your free trial and generate your FlightLabs access key.
Paste this MCP endpoint:
Ready to integrate? Get your API key in minutes.
Get startedaccess_key in the tool arguments (same as the REST API).