OctoTrip Flights
OfficialThe OctoTrip Flights server lets you search and compare real-time flight offers from multiple airlines and booking platforms worldwide — for free, with no login required.
Key capabilities:
Search one-way or round-trip flights by specifying origin, destination, departure date, and optionally a return date
Flexible location input — accepts city names, airport names, or IATA codes (e.g., "Frankfurt", "JFK", "London Heathrow")
Filter by passengers — specify adults, children (ages 2–11), and infants (under 2)
Filter by cabin class — Economy or Business
Set preferred currency and language for results
Receive price-ranked results grouped by number of stops, with details on airline, flight numbers, alliance, aircraft type, departure/arrival times, layovers, total duration, and baggage info
Access affiliate booking links for each result (valid ~15 minutes)
Structured error handling for ambiguous locations, unresolved airports, invalid dates, or no available flights
⚠️ The server does not book flights, modify reservations, charge users, or store user data. Book promptly, as results are only valid for approximately 15 minutes due to real-time airline pricing.
Enables searching and comparing Lufthansa flights with real-time pricing, including flight details, baggage info, and affiliate booking links.
OctoTrip Flights MCP Server
Free, no-login MCP server for searching and comparing flights with real-time pricing from multiple airlines and booking platforms worldwide.
MCP Streamable HTTP Endpoint:
https://mcp.octotrip.app/flights/mcp
Related
OctoTrip Rental Cars — rental car search MCP server
Related MCP server: flights-mcp
Affiliate Disclosure
OctoTrip is free to use. Booking links contain affiliate attribution -- OctoTrip may earn a commission at no extra cost to you. Search results are ranked by price within each stop-count group, not by affiliate payout.
Quick Start
Add to your MCP client configuration:
{
"mcpServers": {
"octotrip-flights": {
"url": "https://mcp.octotrip.app/flights/mcp"
}
}
}No API key or login required.
Use with...
Add to claude_desktop_config.json:
{
"mcpServers": {
"octotrip-flights": {
"url": "https://mcp.octotrip.app/flights/mcp"
}
}
}Add to your MCP settings:
{
"mcpServers": {
"octotrip-flights": {
"url": "https://mcp.octotrip.app/flights/mcp"
}
}
}Add to your Cline MCP settings:
{
"mcpServers": {
"octotrip-flights": {
"url": "https://mcp.octotrip.app/flights/mcp"
}
}
}openclaw plugins install clawhub:@xltnapps/octotrip-flightsInstall via Smithery:
npx -y @smithery/cli install xltnapps/octotrip-flights --client claudehermes mcp add octotrip-flights --url https://mcp.octotrip.app/flights/mcp
hermes mcp test octotrip-flightsOr add to ~/.hermes/config.yaml:
mcp_servers:
octotrip_flights:
url: "https://mcp.octotrip.app/flights/mcp"For MCP clients that only support stdio transport:
npx mcp-remote https://mcp.octotrip.app/flights/mcpA complete MCP session using curl (initialize, list tools, call search):
# 1. Initialize
curl -s -X POST https://mcp.octotrip.app/flights/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0", "id": 1, "method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {"name": "example", "version": "1.0"}
}
}'
# 2. List tools
curl -s -X POST https://mcp.octotrip.app/flights/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "id": 2, "method": "tools/list"}'
# 3. Search
curl -s -X POST https://mcp.octotrip.app/flights/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0", "id": 3, "method": "tools/call",
"params": {
"name": "search",
"arguments": {
"origin": "FRA",
"destination": "BCN",
"departure_date": "2026-08-01"
}
}
}'Transport: stateless streamable HTTP. Responses use text/event-stream (SSE). No session persistence or resumability. Rate limit: 1 request/second with burst capacity of 5.
Tool: search
Searches live flight offers between an origin and destination for given travel dates. Supports one-way and round-trip searches with flexible passenger counts and cabin class. Returns price-ranked results grouped by number of stops, showing the cheapest options from multiple airlines and booking platforms. The tool queries external flight aggregator APIs in real time and includes affiliate booking links. It does not book flights, modify reservations, charge users, or store user data.
Parameters
Parameter | Type | Required | Default | Description |
| string | yes | -- | Departure city, airport name, or IATA code (e.g. "Frankfurt", "JFK") |
| string | yes | -- | Arrival city, airport name, or IATA code |
| string | yes | -- | Departure date (YYYY-MM-DD, DD.MM.YYYY, or natural-language) |
| string | no | -- | Return date for round-trip. Omit for one-way |
| integer | no |
| Number of adult passengers (1-9) |
| integer | no |
| Number of children aged 2-11 (0-9) |
| integer | no |
| Number of infants under 2 (0-9) |
| string | no |
| Cabin class: Y for economy, C for business |
| string | no |
| ISO 4217 currency code (EUR, USD, GBP, etc.) |
| string | no |
| Response language code (en, de, etc.) |
Response Format
Results are grouped by number of stops with the cheapest options per group:
{
"results": [
{
"airline": "Lufthansa",
"airline_code": "LH",
"alliance": "Star Alliance",
"flight_numbers": ["LH120", "LH121"],
"is_direct": true,
"stops": 0,
"total_duration_minutes": 110,
"outbound": {
"departure": "FRA",
"arrival": "MUC",
"departure_time": "18:15",
"arrival_time": "19:10",
"departure_date": "2026-07-15",
"arrival_date": "2026-07-15",
"duration_minutes": 55,
"stops": 0,
"legs": [
{
"flight_number": "LH120",
"carrier": "Lufthansa",
"aircraft": "Airbus A319",
"departure": "FRA",
"arrival": "MUC",
"departure_time": "18:15",
"arrival_time": "19:10",
"departure_date": "2026-07-15",
"arrival_date": "2026-07-15",
"duration_minutes": 55
}
]
},
"return": { ... },
"price": 292.39,
"currency": "EUR",
"baggage": "No checked bag, Cabin bag: 1 piece(s)",
"gate": "City.Travel",
"booking_url": "https://...",
"link_type": "affiliate",
"affiliate_disclosure": "This link contains affiliate attribution. OctoTrip may earn a commission at no extra cost to you.",
"tags": ["convenient_ticket", "direct"]
}
],
"total": 6,
"total_available": 876,
"origin_resolved": { "iata": "FRA", "name": "Frankfurt Airport", "city": "Frankfurt am Main", "country_code": "DE" },
"destination_resolved": { "iata": "MUC", "name": "Munich Airport", "city": "Munich", "country_code": "DE" },
"validity": "Results and booking links are valid for approximately 15 minutes.",
"query": { ... }
}Result Validity
Search results and booking links are valid for approximately 15 minutes. Flight prices are determined through a real-time bidding process and are not guaranteed beyond this window. If a user wants to book, they should do so promptly. For stale results, run a new search.
Error Responses
The server returns structured errors with suggestions:
airport_not_found-- airport could not be resolved. Try an IATA code, city name, or airport name.disambiguation_needed-- multiple airports found (e.g. "New York" returns JFK, LGA). Pick one and retry.invalid_date-- date format not recognized. Use YYYY-MM-DD, DD.MM.YYYY, or similar.no_results-- no flights available for the given criteria. Try different dates or a nearby airport.
Example Prompts
Find me the cheapest direct flight from New York to London in August
Compare flights from Frankfurt to Munich on July 15, round-trip returning July 22
I need a one-way flight from LAX to Tokyo next Friday, economy class
Search for 2 adults and 1 child flying from Barcelona to Paris on September 1
What's the cheapest business class flight from Dubai to Singapore this month?
Privacy
This server does not log IP addresses, search queries, or any user-identifiable data. See PRIVACY.md for full details including sample log entries.
Security
To report a vulnerability, see SECURITY.md.
License
MIT
Available Tools
1 toolsearchARead-onlyIdempotentInspect
Searches live flight offers between an origin and destination for given travel dates. Supports one-way (omit return_date) and round-trip searches with flexible passenger counts and cabin class. Use this when the user wants to compare available flights, airlines, prices, layovers, or booking links for a specific route. Do not use it for rental cars, hotels, trains, or general travel planning unless the user has flight-search intent. The tool queries external flight aggregator APIs in real time, returns price-ranked results grouped by number of stops, and includes affiliate booking links. Results and booking links are valid for approximately 15 minutes due to real-time airline pricing. It does not book flights, modify reservations, charge users, or store user data.
| Name | Required | Description | Default |
|---|---|---|---|
| adults | No | Number of adult passengers (1-9). Defaults to 1. | |
| locale | No | Preferred language code (e.g. en, de, fr). Defaults to en. | en |
| origin | Yes | Departure city, airport name, or IATA code (e.g. 'Frankfurt', 'JFK', 'London Heathrow'). | |
| infants | No | Number of infants under 2 (0-9). Defaults to 0. | |
| children | No | Number of children aged 2-11 (0-9). Defaults to 0. | |
| currency | No | Preferred ISO 4217 currency code for prices (e.g. EUR, USD, GBP). Defaults to EUR. | EUR |
| trip_class | No | Cabin class: Y for economy, C for business. Defaults to Y. | Y |
| destination | Yes | Arrival city, airport name, or IATA code. | |
| return_date | No | Return date for round-trip. Omit for one-way flights. | |
| departure_date | Yes | Departure date. Accepts common formats such as YYYY-MM-DD, DD.MM.YYYY, or natural-language dates. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds valuable behavioral context: queries external APIs in real time, results valid for ~15 minutes, returns price-ranked results grouped by stops, and includes affiliate links. No contradiction with annotations.
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 (about 100 words) and well-structured. It front-loads the core action, then provides usage guidelines, then behavioral details. Every sentence adds value without redundancy.
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 existence of an output schema, the description doesn't need to detail return values, but it still explains the return format (price-ranked, grouped by stops, affiliate links, validity period). It also covers what the tool does not do. Very complete for a search 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?
Schema description coverage is 100%, so baseline is 3. The description adds context about parameter interaction (e.g., omitting return_date for one-way) and clarifies cabin class values. This adds modest value beyond 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 searches live flight offers between origin and destination for given dates. It specifies one-way and round-trip support, passenger counts, and cabin class. The verb 'searches' and resource 'live flight offers' are specific, and the tool is well-defined despite no siblings.
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 explicitly tells when to use the tool (compare flights, prices, booking links) and when not to (rental cars, hotels, trains). It also clarifies that the tool does not book flights, modify reservations, or store data, providing clear boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v0.1.0- First observed
search
TDQS
With only one tool, there is no possibility of confusion between tools. The tool's purpose is clearly described and distinct.
A single tool cannot be inconsistent. The name 'search' is a simple verb, but consistency is perfect by default.
One tool feels thin for a server named 'OctoTrip Flights', which implies broader flight-related capabilities. The tool is well-defined, but the count is borderline for the apparent scope.
The server only provides flight search, lacking any booking, modification, or cancellation functionality. Agents cannot complete a flight-related task beyond searching, which is a significant gap for a flight server.
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 and compare flight offers through a cache-aware Streamable HTTP MCP server for AI agents.
Skiplagged MCP Server for flight search, hotel booking, and travel planning
Google Flights search data: fares, routes, stops, and price insights via a hosted MCP server.
Official airline award MCP. Search 12.3M+ award flights across 48 loyalty programs.
Related MCP Servers
- AlicenseAqualityFmaintenanceMCP server searching flights with granular filtering, sorting options, and purchase integration.415PythonGPL 3.0
- FlicenseAqualityDmaintenanceAn MCP server for holiday flight planning powered by Google Flights via SerpAPI, enabling real-time flight search, destination discovery, airport comparison, and multi-country trip planning.13-

OctoTrip Rental Carsofficial
AlicenseAqualityBmaintenanceFree, no-login MCP server for discovering and comparing rental cars with real-time pricing from multiple providers worldwide.1015MIT- AlicenseNot gradedqualityCmaintenanceA free, Cloudflare-hosted travel MCP server for flights, hotels, and Airbnb-style stays.MIT
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/OctoTrip/flights'
If you have feedback or need assistance with the MCP directory API, please join our Discord server