Sponsored by Deepsite.site

Flight Search Mcp Server

Created By
fCTO Labs4 months ago
Real-Time Flight Data Access Connect to liveflight pricing and availability. Access comprehensive flight data from multiple sources with live pricing updates. Multiple Search Types Find the most affordable flights between any airports. View flight prices across entire months for flexible travel planning. Search for direct flights only, eliminating layovers. Discover trending flight routes from specific airports. Filter flights within specific budget ranges. Get detailed pricing for specific weeks. Compare costs across different months. Find flights to nearby destinations for better deals.
Content
<!-- Open Graph / Facebook -->
<meta property="og:type" content="website">
<meta property="og:url" content="https://flight.fctolabs.com/">
<meta property="og:title" content="Flight Search MCP Server - Real-time Flight Data & Booking URLs">
<meta property="og:description" content="AI-powered flight search MCP server with real-time data, calendar searches, booking URLs, and comprehensive travel database. No coding required.">
<meta property="og:image" content="https://flights.fctolabs.com/og-image.png">

<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:url" content="https://flights.fctolabs.com/">
<meta property="twitter:title" content="Flight Search MCP Server - Real-time Flight Data & Booking URLs">
<meta property="twitter:description" content="AI-powered flight search MCP server with real-time data, calendar searches, booking URLs, and comprehensive travel database. No coding required.">
<meta property="twitter:image" content="https://flights.fctolabs.com/og-image.png">

<!-- Canonical URL -->
<link rel="canonical" href="https://flights.fctolabs.com/">

<script src="https://cdn.tailwindcss.com"></script>
<script>
    tailwind.config = {
        theme: {
            extend: {
                colors: {
                    border: "hsl(var(--border))",
                    input: "hsl(var(--input))",
                    ring: "hsl(var(--ring))",
                    background: "hsl(var(--background))",
                    foreground: "hsl(var(--foreground))",
                    primary: {
                        DEFAULT: "hsl(var(--primary))",
                        foreground: "hsl(var(--primary-foreground))",
                    },
                    secondary: {
                        DEFAULT: "hsl(var(--secondary))",
                        foreground: "hsl(var(--secondary-foreground))",
                    },
                    destructive: {
                        DEFAULT: "hsl(var(--destructive))",
                        foreground: "hsl(var(--destructive-foreground))",
                    },
                    muted: {
                        DEFAULT: "hsl(var(--muted))",
                        foreground: "hsl(var(--muted-foreground))",
                    },
                    accent: {
                        DEFAULT: "hsl(var(--accent))",
                        foreground: "hsl(var(--accent-foreground))",
                    },
                    popover: {
                        DEFAULT: "hsl(var(--popover))",
                        foreground: "hsl(var(--popover-foreground))",
                    },
                    card: {
                        DEFAULT: "hsl(var(--card))",
                        foreground: "hsl(var(--card-foreground))",
                    },
                    atlantis: {
                        50: "#f7fbea",
                        100: "#edf6d1",
                        200: "#dbeda9",
                        300: "#c2e076",
                        400: "#a8cf4c",
                        500: "#8bb82a",
                        600: "#5a7a1a",
                        700: "#456015",
                        800: "#3a4f14",
                        900: "#324314",
                        950: "#1a240a",
                    },
                },
                borderRadius: {
                    lg: "var(--radius)",
                    md: "calc(var(--radius) - 2px)",
                    sm: "calc(var(--radius) - 4px)",
                },
            },
        },
    }
</script>
<style>
    :root {
        --background: 0 0% 100%;
        --foreground: 222.2 84% 4.9%;
        --card: 0 0% 100%;
        --card-foreground: 222.2 84% 4.9%;
        --popover: 0 0% 100%;
        --popover-foreground: 222.2 84% 4.9%;
        --primary: 108 47% 25%;
        --primary-foreground: 0 0% 100%;
        --secondary: 210 40% 96%;
        --secondary-foreground: 222.2 84% 4.9%;
        --muted: 210 40% 96%;
        --muted-foreground: 215.4 16.3% 46.9%;
        --accent: 210 40% 96%;
        --accent-foreground: 222.2 84% 4.9%;
        --destructive: 0 84.2% 60.2%;
        --destructive-foreground: 0 0% 100%;
        --border: 214.3 31.8% 91.4%;
        --input: 214.3 31.8% 91.4%;
        --ring: 108 47% 25%;
        --radius: 0.5rem;
    }

    .dark {
        --background: 222.2 84% 4.9%;
        --foreground: 210 40% 98%;
        --card: 222.2 84% 4.9%;
        --card-foreground: 210 40% 98%;
        --popover: 222.2 84% 4.9%;
        --popover-foreground: 210 40% 98%;
        --primary: 217.2 91.2% 59.8%;
        --primary-foreground: 222.2 84% 4.9%;
        --secondary: 217.2 32.6% 17.5%;
        --secondary-foreground: 210 40% 98%;
        --muted: 217.2 32.6% 17.5%;
        --muted-foreground: 215 20.2% 65.1%;
        --accent: 217.2 32.6% 17.5%;
        --accent-foreground: 210 40% 98%;
        --destructive: 0 62.8% 30.6%;
        --destructive-foreground: 210 40% 98%;
        --border: 217.2 32.6% 17.5%;
        --input: 217.2 32.6% 17.5%;
        --ring: 224.3 76.3% 94.1%;
    }

    * {
        border-color: hsl(var(--border));
    }

    body {
        background-color: hsl(var(--background));
        color: hsl(var(--foreground));
    }

    .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: var(--radius);
        font-weight: 500;
        transition: all 0.2s;
        cursor: pointer;
        border: 1px solid transparent;
    }

    .btn-primary {
        background-color: hsl(var(--primary));
        color: hsl(var(--primary-foreground));
    }

    .btn-primary:hover {
        background-color: hsl(var(--primary) / 0.9);
    }

    .btn-secondary {
        background-color: hsl(var(--secondary));
        color: hsl(var(--secondary-foreground));
        border-color: hsl(var(--border));
    }

    .btn-secondary:hover {
        background-color: hsl(var(--secondary) / 0.8);
    }

    .card {
        background-color: hsl(var(--card));
        border: 1px solid hsl(var(--border));
        border-radius: var(--radius);
        padding: 1.5rem;
    }

    .code-block {
        background-color: hsl(var(--muted));
        border: 1px solid hsl(var(--border));
        border-radius: var(--radius);
        padding: 1rem;
        font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
        font-size: 0.875rem;
        line-height: 1.5;
        overflow-x: auto;
    }

    .badge {
        display: inline-flex;
        align-items: center;
        border-radius: 9999px;
        border: 1px solid hsl(var(--border));
        background-color: hsl(var(--secondary));
        padding: 0.25rem 0.75rem;
        font-size: 0.75rem;
        font-weight: 500;
        line-height: 1;
    }

    .badge-primary {
        background-color: hsl(var(--primary));
        color: hsl(var(--primary-foreground));
    }

    .badge-secondary {
        background-color: hsl(var(--secondary));
        color: hsl(var(--secondary-foreground));
    }
</style>

Flight Search MCP

            <!-- Navigation -->
            <nav class="hidden md:flex items-center space-x-6">
                <a href="#features" class="text-sm font-medium hover:text-primary transition-colors relative group">
                    Features
                    <span class="absolute -bottom-1 left-0 w-0 h-0.5 bg-primary transition-all group-hover:w-full"></span>
                </a>
                <a href="#installation" class="text-sm font-medium hover:text-primary transition-colors relative group">
                    Install
                    <span class="absolute -bottom-1 left-0 w-0 h-0.5 bg-primary transition-all group-hover:w-full"></span>
                </a>
                <a href="#examples" class="text-sm font-medium hover:text-primary transition-colors relative group">
                    Examples
                    <span class="absolute -bottom-1 left-0 w-0 h-0.5 bg-primary transition-all group-hover:w-full"></span>
                </a>
                <div class="flex items-center space-x-2">
                    <span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-emerald-100 text-emerald-900 border border-emerald-200">
                        <span class="w-1.5 h-1.5 bg-emerald-600 rounded-full mr-1.5 animate-pulse"></span>
                        Live
                    </span>
                </div>
            </nav>

            <!-- Mobile Menu Button -->
            <button 
                class="md:hidden p-2 rounded-lg hover:bg-muted transition-colors focus:outline-none focus:ring-2 focus:ring-atlantis-500 focus:ring-offset-2" 
                onclick="toggleMobileMenu()"
                aria-label="Toggle mobile menu"
                aria-expanded="false"
                aria-controls="mobileMenu"
            >
                <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path>
                </svg>
            </button>
        </div>

        <!-- Mobile Menu -->
        <div id="mobileMenu" class="md:hidden hidden mt-4 pb-4 border-t pt-4">
            <div class="flex flex-col space-y-3">
                <a href="#features" class="text-sm font-medium hover:text-primary transition-colors py-2">Features</a>
                <a href="#installation" class="text-sm font-medium hover:text-primary transition-colors py-2">Install</a>
                <a href="#examples" class="text-sm font-medium hover:text-primary transition-colors py-2">Examples</a>
                <div class="flex items-center justify-between pt-2">
                    <span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-emerald-100 text-emerald-900 border border-emerald-200">
                        <span class="w-1.5 h-1.5 bg-emerald-600 rounded-full mr-1.5 animate-pulse"></span>
                        Live
                    </span>
                </div>
            </div>
        </div>
    </div>
</header>

<!-- Hero Section -->
<section class="py-32 bg-white dark:bg-gray-900">
    <div class="container mx-auto px-4 text-center">
        <div class="max-w-5xl mx-auto">
            <h1 class="text-6xl md:text-7xl font-bold tracking-tight mb-8 leading-tight text-gray-900 dark:text-white font-sans">
                Flight Search
                <span class="block text-atlantis-600 dark:text-atlantis-400">MCP Server</span>
            </h1>
            <p class="text-xl md:text-2xl text-gray-700 dark:text-gray-300 mb-12 max-w-4xl mx-auto leading-relaxed font-sans">
                Create AI-powered flight search applications that connect to real-time data, automate travel planning, and scale as you grow. No coding required.
            </p>
            
            <!-- Email Input Section - Commented out as not functional -->
            <!--
            <div class="max-w-2xl mx-auto mb-12">
                <div class="bg-white/80 backdrop-blur-sm rounded-2xl p-8 shadow-xl border border-white/20">
                    <h3 class="text-xl font-semibold mb-6 text-gray-800">Get started with Flight Search MCP</h3>
                    <div class="flex flex-col sm:flex-row gap-4">
                        <div class="flex-1">
                            <input 
                                type="email" 
                                placeholder="Enter your email address" 
                                class="w-full px-6 py-4 text-lg border border-gray-200 rounded-xl focus:outline-none focus:ring-2 focus:ring-atlantis-500 focus:border-transparent transition-all"
                                aria-label="Email address"
                                required
                            >
                        </div>
                        <button class="btn btn-primary px-8 py-4 text-lg font-semibold whitespace-nowrap focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-atlantis-600">
                            Start for free
                        </button>
                    </div>
                    <p class="text-sm text-muted-foreground mt-4">
                        No credit card required • Free forever • Instant setup
                    </p>
                </div>
            </div>
            -->

            <!-- Quick Actions -->
            <div class="flex flex-col sm:flex-row gap-6 justify-center items-center">
                <a href="https://smithery.ai/server/@gvzq/flight-mcp" target="_blank" rel="noopener noreferrer" class="btn btn-primary px-10 py-4 text-xl font-bold focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-atlantis-600">
                    <svg class="w-6 h-6 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"></path>
                    </svg>
                    Install on Smithery
                </a>
                <a href="#examples" class="btn btn-secondary px-10 py-4 text-xl font-bold focus:outline-none focus:ring-2 focus:ring-atlantis-500 focus:ring-offset-2">
                    <svg class="w-6 h-6 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
                    </svg>
                    View Examples
                </a>
            </div>

            <!-- Trust Indicators -->
            <div class="mt-16 flex flex-wrap justify-center items-center gap-8 text-muted-foreground">
                <div class="flex items-center space-x-2">
                    <svg class="w-5 h-5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
                    </svg>
                    <span class="text-sm font-medium">Real-time flight data</span>
                </div>
                <div class="flex items-center space-x-2">
                    <svg class="w-5 h-5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
                    </svg>
                    <span class="text-sm font-medium">No coding required</span>
                </div>
                <div class="flex items-center space-x-2">
                    <svg class="w-5 h-5 text-green-500" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
                    </svg>
                    <span class="text-sm font-medium">Instant setup</span>
                </div>
            </div>
        </div>
    </div>
</section>

<!-- Features Section -->
<section id="features" class="py-20">
    <div class="container mx-auto px-4">
        <div class="text-center mb-16">
            <h2 class="text-3xl font-bold mb-4">Features</h2>
            <p class="text-muted-foreground text-lg">Everything you need for comprehensive flight search functionality</p>
        </div>
        
        <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
            <div class="card">
                <div class="w-12 h-12 bg-primary/10 rounded-lg flex items-center justify-center mb-4">
                    <svg class="w-6 h-6 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
                    </svg>
                </div>
                <h3 class="text-xl font-semibold mb-2">Flight Search</h3>
                <p class="text-muted-foreground">Search cheapest flights, nonstop routes, and price ranges across multiple APIs with one powerful tool.</p>
            </div>

            <div class="card">
                <div class="w-12 h-12 bg-primary/10 rounded-lg flex items-center justify-center mb-4">
                    <svg class="w-6 h-6 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"></path>
                    </svg>
                </div>
                <h3 class="text-xl font-semibold mb-2">Smart Calendar Search</h3>
                <p class="text-muted-foreground">Find best prices across entire months or weeks with flexible dates and trip length options.</p>
            </div>

            <div class="card">
                <div class="w-12 h-12 bg-primary/10 rounded-lg flex items-center justify-center mb-4">
                    <svg class="w-6 h-6 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"></path>
                    </svg>
                </div>
                <h3 class="text-xl font-semibold mb-2">Complete Travel Database</h3>
                <p class="text-muted-foreground">Access comprehensive data on airports, cities, airlines, and countries with instant search capability.</p>
            </div>

            <div class="card">
                <div class="w-12 h-12 bg-primary/10 rounded-lg flex items-center justify-center mb-4">
                    <svg class="w-6 h-6 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"></path>
                    </svg>
                </div>
                <h3 class="text-xl font-semibold mb-2">Travel Discovery</h3>
                <p class="text-muted-foreground">Discover popular routes, alternative destinations, and special deals to inspire your next trip.</p>
            </div>

            <div class="card">
                <div class="w-12 h-12 bg-primary/10 rounded-lg flex items-center justify-center mb-4">
                    <svg class="w-6 h-6 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"></path>
                    </svg>
                </div>
                <h3 class="text-xl font-semibold mb-2">Direct Booking URLs</h3>
                <p class="text-muted-foreground">Get instant booking links with partner tracking for seamless travel purchases.</p>
            </div>

            <div class="card">
                <div class="w-12 h-12 bg-primary/10 rounded-lg flex items-center justify-center mb-4">
                    <svg class="w-6 h-6 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 100 4m0-4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 100 4m0-4v2m0-6V4"></path>
                    </svg>
                </div>
                <h3 class="text-xl font-semibold mb-2">Advanced Filtering</h3>
                <p class="text-muted-foreground">Filter by price ranges, flight classes, direct flights, and flexible date options.</p>
            </div>
        </div>
    </div>
</section>

<!-- Installation Section -->
<section id="installation" class="py-20 bg-muted/50">
    <div class="container mx-auto px-4">
        <div class="text-center mb-16">
            <h2 class="text-3xl font-bold mb-4">Installation</h2>
            <p class="text-muted-foreground text-lg">Install Flight Search MCP server via Smithery or manual configuration</p>
        </div>

        <div class="max-w-6xl mx-auto">
            <div class="grid md:grid-cols-2 gap-8">
                <!-- Smithery Installation (Left) -->
                <div class="card">
                    <div class="w-20 h-20 bg-primary/10 rounded-lg flex items-center justify-center mb-6">
                        <svg class="w-10 h-10 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path>
                        </svg>
                    </div>
                    <h3 class="text-2xl font-semibold mb-4">Install via Smithery</h3>
                    <p class="text-muted-foreground mb-6">One-click installation with automatic configuration. Supports most MCP clients including Cursor, VS Code, Windsurf, and Cline.</p>
                    <a href="https://smithery.ai/server/@gvzq/flight-mcp" target="_blank" rel="noopener noreferrer" class="btn btn-primary px-8 py-4 text-lg font-semibold inline-flex items-center space-x-2 mb-6">
                        <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14"></path>
                        </svg>
                        <span>Install on Smithery</span>
                    </a>
                    
                    <!-- Config File Locations -->
                    <div>
                        <h4 class="text-lg font-semibold mb-3">Config File Locations</h4>
                        <div class="space-y-2">
                            <div class="flex items-center space-x-2">
                                <span class="badge badge-secondary">Cursor</span>
                                <code class="text-sm">~/.cursor/mcp.json</code>
                            </div>
                            <div class="flex items-center space-x-2">
                                <span class="badge badge-secondary">Windsurf</span>
                                <code class="text-sm">~/.codeium/windsurf/mcp_config.json</code>
                            </div>
                            <div class="flex items-center space-x-2">
                                <span class="badge badge-secondary">Cline</span>
                                <code class="text-sm">~/.cline/mcp_config.json</code>
                            </div>
                            <div class="flex items-center space-x-2">
                                <span class="badge badge-secondary">VS Code</span>
                                <code class="text-sm">~/.vscode/mcp.json</code>
                            </div>
                        </div>
                    </div>
                </div>

                <!-- Manual Installation (Right) -->
                <div class="card">
                    <h3 class="text-2xl font-semibold mb-4">Manual Installation</h3>
                    <p class="text-muted-foreground mb-6">Prefer manual setup? Follow these steps to install Flight Search MCP server manually.</p>
                    
                    <div class="space-y-6">
                        <!-- Manual Configuration -->
                        <div>
                            <h4 class="text-lg font-semibold mb-3">Manual Configuration</h4>
                            <p class="text-muted-foreground mb-3">Add this to your IDE's MCP config file:</p>
                            <div class="code-block text-sm">
                                <div class="text-gray-800">{</div>
                                <div class="text-gray-800 ml-4">"mcpServers": {</div>
                                <div class="text-gray-800 ml-8">"flight-search": {</div>
                                <div class="text-gray-800 ml-12">"command": "npx",</div>
                                <div class="text-gray-800 ml-12">"args": ["mcp-remote", "https://flights.fctolabs.com/mcp"]</div>
                                <div class="text-gray-800 ml-8">}</div>
                                <div class="text-gray-800 ml-4">}</div>
                                <div class="text-gray-800">}</div>
                            </div>
                        </div>

                        <!-- Config File Locations -->

                    </div>
                </div>
            </div>
        </div>
    </div>
</section>

<!-- Examples Section -->
<section id="examples" class="py-20">
    <div class="container mx-auto px-4">
        <div class="text-center mb-16">
            <h2 class="text-3xl font-bold mb-4">API Examples</h2>
            <p class="text-muted-foreground text-lg">Explore the available tools and their usage</p>
        </div>

        <div class="max-w-6xl mx-auto space-y-8">
            <!-- Flight Tools -->
            <div>
                <h3 class="text-2xl font-semibold mb-6">Flight Tools</h3>
                <div class="grid lg:grid-cols-2 gap-8">
                    <!-- Flight Search -->
                    <div class="card">
                        <div class="flex items-center justify-between mb-4">
                            <h4 class="text-xl font-semibold">Flight Search</h4>
                        </div>
                        <p class="text-muted-foreground mb-4">Search flights across multiple APIs with one tool - cheapest, nonstop, or price range.</p>
                        <div class="code-block text-sm">
                            <div class="text-gray-600">// Example: Cheapest flights LAX to Tokyo</div>
                            <div class="text-blue-600">search_flights</div>
                            <div class="text-gray-800">{</div>
                            <div class="text-gray-800 ml-4">"origin": "LAX",</div>
                            <div class="text-gray-800 ml-4">"destination": "NRT",</div>
                            <div class="text-gray-800 ml-4">"depart_date": "2025-04-15",</div>
                            <div class="text-gray-800 ml-4">"options": {</div>
                            <div class="text-gray-800 ml-8">"flight_type": "cheapest",</div>
                            <div class="text-gray-800 ml-8">"api_version": "v2"</div>
                            <div class="text-gray-800 ml-4">}</div>
                            <div class="text-gray-800">}</div>
                        </div>
                    </div>

                    <!-- Calendar Search -->
                    <div class="card">
                        <div class="flex items-center justify-between mb-4">
                            <h4 class="text-xl font-semibold">Smart Calendar Search</h4>
                        </div>
                        <p class="text-muted-foreground mb-4">Find best prices across months or weeks with flexible options.</p>
                        <div class="code-block text-sm">
                            <div class="text-gray-600">// Example: Monthly price calendar</div>
                            <div class="text-blue-600">search_calendar</div>
                            <div class="text-gray-800">{</div>
                            <div class="text-gray-800 ml-4">"origin": "AUS",</div>
                            <div class="text-gray-800 ml-4">"destination": "TYO",</div>
                            <div class="text-gray-800 ml-4">"date": "2025-04",</div>
                            <div class="text-gray-800 ml-4">"options": {</div>
                            <div class="text-gray-800 ml-8">"calendar_type": "month",</div>
                            <div class="text-gray-800 ml-8">"trip_length": 7</div>
                            <div class="text-gray-800 ml-4">}</div>
                            <div class="text-gray-800">}</div>
                        </div>
                    </div>

                    <!-- Reference Data -->
                    <div class="card">
                        <div class="flex items-center justify-between mb-4">
                            <h4 class="text-xl font-semibold">Travel Reference Data</h4>
                        </div>
                        <p class="text-muted-foreground mb-4">Access airports, cities, airlines, and countries data with search.</p>
                        <div class="code-block text-sm">
                            <div class="text-gray-600">// Example: Search airports</div>
                            <div class="text-blue-600">get_reference_data</div>
                            <div class="text-gray-800">{</div>
                            <div class="text-gray-800 ml-4">"type": "airports",</div>
                            <div class="text-gray-800 ml-4">"action": "search",</div>
                            <div class="text-gray-800 ml-4">"query": "Kennedy",</div>
                            <div class="text-gray-800 ml-4">"limit": 5</div>
                            <div class="text-gray-800">}</div>
                        </div>
                    </div>

                    <!-- Discovery Tool -->
                    <div class="card">
                        <div class="flex items-center justify-between mb-4">
                            <h4 class="text-xl font-semibold">Flight Discovery</h4>
                        </div>
                        <p class="text-muted-foreground mb-4">Find popular routes, alternatives, and special offers.</p>
                        <div class="code-block text-sm">
                            <div class="text-gray-600">// Example: Popular routes from NYC</div>
                            <div class="text-blue-600">discover_flights</div>
                            <div class="text-gray-800">{</div>
                            <div class="text-gray-800 ml-4">"type": "popular_routes",</div>
                            <div class="text-gray-800 ml-4">"origin": "NYC",</div>
                            <div class="text-gray-800 ml-4">"options": {</div>
                            <div class="text-gray-800 ml-8">"currency": "USD",</div>
                            <div class="text-gray-800 ml-8">"limit": 10</div>
                            <div class="text-gray-800 ml-4">}</div>
                            <div class="text-gray-800">}</div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</section>

<!-- Sample Results Section -->
<section class="py-20 bg-muted/50">
    <div class="container mx-auto px-4">
        <div class="text-center mb-16">
            <h2 class="text-3xl font-bold mb-4">Sample Results</h2>
            <p class="text-muted-foreground text-lg">See what the API returns with real flight data</p>
        </div>

        <div class="max-w-4xl mx-auto">
            <div class="card">
                <h3 class="text-xl font-semibold mb-4">Flight Search Results</h3>
                <div class="code-block text-sm">
                    <div class="text-gray-600">// Sample response from search_flights tool</div>
                    <div class="text-gray-800">{</div>
                    <div class="text-gray-800 ml-4">"success": true,</div>
                    <div class="text-gray-800 ml-4">"data": [</div>
                    <div class="text-gray-800 ml-8">{</div>
                    <div class="text-gray-800 ml-12">"price": 245,</div>
                    <div class="text-gray-800 ml-12">"airline": "B6",</div>
                    <div class="text-gray-800 ml-12">"flight_number": "B6-2301",</div>
                    <div class="text-gray-800 ml-12">"origin": "NYC",</div>
                    <div class="text-gray-800 ml-12">"destination": "LAX",</div>
                    <div class="text-gray-800 ml-12">"departure_at": "2025-12-01T08:00:00-05:00",</div>
                    <div class="text-gray-800 ml-12">"return_at": "2025-12-08T19:30:00-08:00",</div>
                    <div class="text-gray-800 ml-12">"booking_url": "https://www.aviasales.com/booking/...",</div>
                    <div class="text-gray-800 ml-12">"duration": "6h 30m"</div>
                    <div class="text-gray-800 ml-8">}</div>
                    <div class="text-gray-800 ml-4">],</div>
                    <div class="text-gray-800 ml-4">"currency": "USD"</div>
                    <div class="text-gray-800">}</div>
                </div>
            </div>
        </div>
    </div>
</section>

<!-- Footer -->
<footer class="border-t bg-background">
    <div class="container mx-auto px-4 py-12">
        <div class="grid md:grid-cols-3 gap-8">
            <div>
                <div class="flex items-center space-x-2 mb-4">
                    <div class="w-8 h-8 bg-primary rounded-lg flex items-center justify-center">
                        <svg class="w-5 h-5 text-primary-foreground" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2H5a2 2 0 00-2-2z"></path>
                            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 5a2 2 0 012-2h4a2 2 0 012 2v6H8V5z"></path>
                        </svg>
                    </div>
                    <h3 class="text-lg font-semibold">Flight Search MCP</h3>
                </div>
                <p class="text-muted-foreground">A powerful FastMCP server for real-time flight search operations using comprehensive flight data APIs.</p>
            </div>
            
            <div>
                <h4 class="font-semibold mb-4">Quick Links</h4>
                <ul class="space-y-2">
                    <li><a href="#features" class="text-muted-foreground hover:text-foreground transition-colors">Features</a></li>
                    <li><a href="#installation" class="text-muted-foreground hover:text-foreground transition-colors">Install</a></li>
                    <li><a href="#examples" class="text-muted-foreground hover:text-foreground transition-colors">Examples</a></li>

                </ul>
            </div>
            
            <div>
                <h4 class="font-semibold mb-4">Technologies</h4>
                <div class="flex flex-wrap gap-2">
                    <span class="badge badge-secondary">TypeScript</span>
                    <span class="badge badge-secondary">FastMCP</span>
                    <span class="badge badge-secondary">Zod</span>
                    <span class="badge badge-secondary">Flight APIs</span>
                </div>
            </div>
        </div>
        
        <div class="border-t mt-8 pt-8 text-center text-muted-foreground">
            <p>&copy; 2024 Flight Search MCP. Built with FastMCP and TypeScript.</p>
        </div>
    </div>
</footer>

<script>
    // Smooth scrolling for anchor links
    document.querySelectorAll('a[href^="#"]').forEach(anchor => {
        anchor.addEventListener('click', function (e) {
            e.preventDefault();
            const target = document.querySelector(this.getAttribute('href'));
            if (target) {
                target.scrollIntoView({
                    behavior: 'smooth',
                    block: 'start'
                });
            }
        });
    });

    // Add some interactivity
    document.addEventListener('DOMContentLoaded', function() {
        // Add hover effects to cards
        const cards = document.querySelectorAll('.card');
        cards.forEach(card => {
            card.addEventListener('mouseenter', function() {
                this.style.transform = 'translateY(-2px)';
                this.style.boxShadow = '0 10px 25px rgba(0, 0, 0, 0.1)';
            });
            
            card.addEventListener('mouseleave', function() {
                this.style.transform = 'translateY(0)';
                this.style.boxShadow = '';
            });
        });
    });

    // Mobile menu toggle
    function toggleMobileMenu() {
        const mobileMenu = document.getElementById('mobileMenu');
        if (mobileMenu) {
            mobileMenu.classList.toggle('hidden');
        }
    }




</script>

<!-- JSON-LD Structured Data -->
<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "SoftwareApplication",
    "name": "Flight Search MCP Server",
    "applicationCategory": "DeveloperApplication",
    "operatingSystem": "Cross-platform",
    "description": "AI-powered flight search MCP server with real-time data, calendar searches, booking URLs, and comprehensive travel database for developers and AI applications.",
    "url": "https://flights.fctolabs.com/",
    "downloadUrl": "https://smithery.ai/server/@gvzq/flight-mcp",
    "author": {
        "@type": "Organization",
        "name": "Flight Search MCP",
        "url": "https://flights.fctolabs.com/"
    },
    "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
    },
    "softwareVersion": "1.0.0",
    "programmingLanguage": "TypeScript",
    "runtimePlatform": [
        "Node.js",
        "FastMCP"
    ],
    "keywords": [
        "flight search",
        "MCP server",
        "travel API",
        "flight booking",
        "AI tools",
        "real-time data",
        "TypeScript",
        "FastMCP"
    ],
    "featureList": [
        "Real-time flight search",
        "Calendar price searches",
        "Direct booking URLs",
        "Travel reference database",
        "Flight discovery tools",
        "Multiple API versions support",
        "One-click installation"
    ],
    "supportedDevice": [
        "Desktop",
        "Laptop"
    ],
    "requirements": "Node.js, MCP-compatible IDE (Cursor, VS Code, Windsurf, Cline)",
    "applicationSubCategory": "Travel API"
}
</script>

<!-- Additional structured data for Organization -->
<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "Flight Search MCP",
    "url": "https://flights.fctolabs.com/",
    "logo": {
        "@type": "ImageObject",
        "url": "https://flights.fctolabs.com/logo.png"
    },
    "sameAs": [
        "https://smithery.ai/server/@gvzq/flight-mcp"
    ],
    "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "Technical Support",
        "url": "https://flights.fctolabs.com/"
    }
}
</script>

Server Config

{
  "mcpServers": {
    "flight-search": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://flights.fctolabs.com/mcp"
      ]
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
WindsurfThe new purpose-built IDE to harness magic
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Playwright McpPlaywright MCP server
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
CursorThe AI Code Editor
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
DeepChatYour AI Partner on Desktop
ChatWiseThe second fastest AI chatbot™
Serper MCP ServerA Serper MCP Server
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Amap Maps高德地图官方 MCP Server
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Tavily Mcp
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.