Command Palette

Search for a command to run...

UnylyUnyly
Browse all

SkyOdyssey

FreeNot checked

Enables AI clients to explore cheapest destinations, optimize multi-leg flight itineraries, and reference airport/region data via MCP tools and resources.

GitHubEmbed

About

Enables AI clients to explore cheapest destinations, optimize multi-leg flight itineraries, and reference airport/region data via MCP tools and resources.

README

SkyOdyssey MCP exposes the SkyOdyssey flight engine as a Model Context Protocol server.

It is designed for AI clients (Claude Desktop, MCP Inspector, custom MCP hosts) that need:

  • Cheapest destination exploration
  • Multi-leg itinerary optimization
  • Region/airport reference resources

Features

  • MCP tools for flight search and itinerary optimization
  • Shared core logic with SkyOdyssey-CLI (logic.py, airports.py)
  • Country/airport/airline filters
  • Budget-aware pruning (max_budget)
  • Direct-flight filtering
  • Multi-origin and flexible stay support for 3-leg itineraries
  • SQLite caching (flights_cache.db, TTL 6h)
  • Retry/backoff behavior for unstable provider responses
  • Pydantic validation on itinerary outputs

Tools Exposed

get_flights_on_date

Fetch one-way flights for a specific route/date.

Inputs:

  • origin (IATA)
  • destination (IATA)
  • date (YYYY-MM-DD)
  • adults (default 1)
  • seat_type (default economy)

get_cheapest_destinations

Explore a region from one origin/date and return cheapest options.

Inputs:

  • origin
  • date
  • region (default Europe)
  • limit (default 15)
  • adults
  • seat_type
  • excluded_countries
  • excluded_airports
  • direct_only
  • include_airlines, exclude_airlines
  • max_budget

find_cheapest_two_city_itinerary

Find cheapest 3-leg itinerary loops.

Inputs include:

  • origin (single airport or list)
  • start_date
  • stay_days_1 / stay_days_2 (fixed int or [min, max])
  • region
  • limit_per_leg
  • excluded_countries, excluded_airports
  • max_itineraries
  • force_different_countries
  • direct_only
  • return_origin (open-jaw)
  • include_airlines, exclude_airlines
  • max_budget

Guardrails:

  • origin list max: 5
  • limit_per_leg max: 30
  • max_itineraries max: 100
  • stay range window max width: 14 days (for each of stay_days_1 and stay_days_2)

Resources

  • airports://regions → available regions
  • airports://{region} → airport codes for a region

Requirements

  • Python 3.10+
  • Internet access (provider scraping via fast-flights)

Installation

From SkyOdyssey-MCP:

python -m pip install -r requirements.txt

Run the Server

python server.py

Server transport:

  • stdio (configured in server.py)

Claude Desktop Example

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "skyodyssey": {
      "command": "python",
      "args": ["C:/absolute/path/to/SkyOdyssey/SkyOdyssey-MCP/server.py"]
    }
  }
}

Project Structure

  • server.py — MCP server entrypoint and tool/resource registration
  • logic.py — flight search, filtering, optimization, cache
  • airports.py — regions, airport datasets, exclusion helpers
  • requirements.txt — runtime dependencies

Troubleshooting

Import error for fast_flights

  • Reinstall dependencies: python -m pip install -r requirements.txt
  • Ensure your Python environment is the same one used to run server.py

Empty or partial results

  • Provider instability/timeouts can happen; retry run
  • Reduce search width (limit_per_leg) and/or constraints
  • Relax filters (direct_only, exclusions, budget)

Cache issues

  • Delete cache if needed:
    • Windows PowerShell: Remove-Item flights_cache.db
    • Windows cmd: del flights_cache.db

License

MIT License.

from github.com/maru-775/SkyOdyssey-MCP

Installing SkyOdyssey

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/maru-775/SkyOdyssey-MCP

FAQ

Is SkyOdyssey MCP free?

Yes, SkyOdyssey MCP is free — one-click install via Unyly at no cost.

Does SkyOdyssey need an API key?

No, SkyOdyssey runs without API keys or environment variables.

Is SkyOdyssey hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install SkyOdyssey in Claude Desktop, Claude Code or Cursor?

Open SkyOdyssey on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare SkyOdyssey with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs