ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Flywizz

โดย victorlaneรุ่น 0.1.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.victorlane/flywizz-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Search Wizz Air flights from your AI agent. Unofficial.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: เที่ยว แผนที่ และอากาศ

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "flywizz": {
      "command": "uvx",
      "args": [
        "Flywizz"
      ]
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add flywizz -- uvx Flywizz

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "flywizz": {
      "command": "uvx",
      "args": [
        "Flywizz"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "flywizz": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "Flywizz"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub victorlane ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด เที่ยว แผนที่ และอากาศi

  • ดาวมากกว่า 0% ของอีก 1735 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 30% ของอีก 1735 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1735 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Flywizz ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0) เข้า registry 2 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี MapNetwork, Wikivoyage MCP, String Db MCP

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

MapNetwork

Generate styled PNG/SVG map images of places in Japan with 11 customizable color themes.

โดย toruprojectเริ่มต้น↓ 49/สัปดาห์อัปเดต วันนี้

บนเครื่องหรือคลาวด์

Wikivoyage MCP

Wikivoyage travel guides: search destinations MCP: real tools for real work.

โดย mrfentmenยังใหม่มาก↓ 110/สัปดาห์อัปเดต วันนี้

รันบนเครื่อง

String Db MCP

STRING protein networks: map identifiers and list interaction partners with confidence scores

โดย mrfentmenยังใหม่มาก↓ 151/สัปดาห์อัปเดต วันนี้

รันบนเครื่อง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

Flywizz SDK

An open-source unofficial API wrapper to get flight data from Wizz Air.

[!TIP]

MCP server for AI agents included. Plug Flywizz into Claude Desktop,

Claude Code, or Cursor and search Wizz Air flights in natural language.

Jump to the MCP Quickstart.

Contents

  • Installation
  • Quick Start
  • Three things to know first
  • API Reference
  • Data Models
  • Examples
  • Checking many routes at once
  • Flights that need a connection
  • Explore Mode
  • Use with Claude, Cursor, and other MCP clients
  • API characteristics
  • Caching
  • Rate Limiting
  • Contributing
  • Disclaimer

Installation

pip install Flywizz

Or using uv:

uv add Flywizz

Quick Start

from datetime import datetime, timedelta

from flywizz import WizzAir, TimetableSearch

Initialize the client

client = WizzAir()

Set up search parameters

search = TimetableSearch( origin="BUD", # Budapest destination="LTN", # London Luton date_from=datetime.now() + timedelta(days=30), date_to=datetime.now() + timedelta(days=60), )

One call gets the schedule and the prices

for day in client.get_timetable(search): if day.price is None: continue print(f"{day.departure_date.date()}: {day.price.amount} {day.price.currency}") print(f" departures: {', '.join(d.departure.strftime('%H:%M') for d in day.departures)}")

Each entry is one operating day: the cheapest fare that day, plus every departure time, so a single call answers both "when does it fly" and "what does it cost".

Three things to know first

Prices are in the departure station's currency

Wizz Air has no server-side currency override. BUD -> LTN quotes in HUF, LTN -> BUD quotes in GBP, WAW -> LTN in PLN. Body fields, query params, cookies and headers named currency are all ignored.

Read Station.currency_code from get_network() if you need to know which currency you'll get before you search, and convert client-side.

Not every operating day carries a price

timetableV2 and farechart attach a price object to every day, but on days they will not quote inline, the amount is 0 and price_type is either checkPrice (a fare exists, but only through search/search) or noData. Flywizz maps both to price=None, so an unpriced day is never mistaken for a free one. Timetable entries still expose the indicative fare through original_price:

for day in client.get_timetable(search):

if day.price is not None: print(day.departure_date.date(), day.price.amount, day.price.currency) elif day.original_price is not None: print(day.departure_date.date(), "~", day.original_price.amount, "(check price)")

Search windows are capped, and the caps differ

Priced and unpriced surfaces disagree about how far ahead you may look. Both reject a wider window with 400 InvalidTimeDateRange and no further explanation, so Flywizz enforces each limit itself, in a message that names it.

from flywizz.misc import (

MAX_TIMETABLE_WINDOW_DAYS, # 42, for timetableV2 and farechart MAX_FLIGHT_DATES_WINDOW_DAYS, # 62, for the schedule endpoints )

cheapest_weekend() splits the range internally, since its default of months_ahead=3 far exceeds either cap.

search/search is behind a bot gate

Four endpoints (search/search, booking/seatmap, booking/ancillaries, booking/passengers) sit behind Kasada and answer 429 with an empty body from any non-browser client. Flywizz raises BotGateError rather than trying to solve the challenge.

Everything else, including the priced timetableV2 and farechart surfaces, is open. That is enough for price tracking, route exploration and calendar search. If you need fare bundles and sell keys, drive a real browser session and pass its headers in:

from flywizz import WizzAir, WizzairTransport

client = WizzAir(WizzairTransport(kasada_headers={ "x-kpsdk-ct": "...", "x-kpsdk-v": "...", "x-kpsdk-h": "...", "x-kpsdk-cd": "...", }))

Full details of the gate, the session handshake, and the whole route table are in docs/internal-api-spec.md.

API Reference

WizzAir Class
Constructor
WizzAir(transport: Optional[Transport] = None)

Creates a new Wizz Air client instance.

Parameters:

  • transport (Transport, optional): Inject a custom transport, e.g. a CachingTransport wrapping the default, a WizzairTransport with kasada_headers, or a fixture transport for tests. Defaults to a fresh WizzairTransport.

Example:

# Defaults

client = WizzAir()

With caching for the 650 KB network metadata

from flywizz import CachingTransport, WizzairTransport client = WizzAir(CachingTransport(WizzairTransport(), ttl=3600))

Methods
MethodEndpointWhat it gives you
get_network(language="en-gb")asset/mapEvery station, its coordinates, currency, and connections
get_destinations(origin, direct_only=True)derivedStations reachable from origin
explore_by_country(origin)derivedDestinations grouped by country code
validate_route(origin, destination)derivedDoes Wizz Air fly this route direct
get_flight_dates(origin, destination, date_from, date_to)search/flightDatesOperating days, no prices, very cheap
get_flight_dates_multi(origin, destinations, date_from, date_to)search/FlightDatesMultiArrivalOperating days for up to 5 destinations per request, batched
get_connecting_flight_dates(origin, destination, date_from, date_to)search/dohopFlightDatesOperating days including one-stop connections
get_timetable(params)search/timetableV2Cheapest fare per day, plus every departure
get_return_timetable(params)search/timetableV2Outbound and inbound in one call
get_fare_chart(params)asset/farechartPrice strip around a target date
get_availability(params)search/searchFare bundles and sell keys. Bot-gated
cheapest_in_month(origin, destination, month)derivedCheapest day in a calendar month
cheapest_weekend(origin, destination, months_ahead=3)derivedCheapest Fri-Sun or Fri-Mon return
explore_with_fares(origin, date_from, date_to, limit=None)derivedEvery destination with its cheapest fare
get_flight_status(carrier_code, flight_number, date=None)asset/flightinformationLive status for one flight number
get_currencies()asset/currenciesSupported ISO 4217 codes
get_countries()asset/countryCountries with EU / Schengen flags
get_cultures()asset/culturesSite languages and their currencies
get_service_fees(currencies=None)asset/serviceFeesPublished baggage, seat and change fees
get_wdc_prices()asset/wdcPriceDiscount Club tiers and minimum discounts

Every method exists on AsyncWizzAir with the same signature.

TimetableSearch Class

Parameters for a timetable search.

TimetableSearch(

origin: str, destination: str, date_from: datetime, date_to: datetime, return_date_from: Optional[datetime] = None, return_date_to: Optional[datetime] = None, adults: int = 1, children: int = 0, infants: int = 0, price_type: str = "regular", )

Parameters:

  • origin (str): IATA code of the departure station (e.g. "BUD")
  • destination (str): IATA code of the arrival station (e.g. "LTN")
  • date_from (datetime): Start of the outbound departure window
  • date_to (datetime): End of the outbound departure window
  • return_date_from / return_date_to (datetime, optional): Inbound window. Both are required by get_return_timetable()
  • adults / children / infants (int): Passenger counts. At least one adult
  • price_type (str): "regular" or "wdc" for Wizz Discount Club pricing
FareChartSearch Class

Parameters for the price strip.

FareChartSearch(

origin: str, destination: str, date: datetime, day_interval: int = 3, adults: int = 1, children: int = 0, infants: int = 0, price_type: str = "regular", )

day_interval is the half-window around date and must be at least 3, so the default returns seven days. Smaller values are rejected upstream with DayIntervalMustBeGreaterOrEqualTo3.

AvailabilitySearch Class

Parameters for the bot-gated availability call.

AvailabilitySearch(

origin: str, destination: str, departure_date: datetime, return_date: Optional[datetime] = None, wdc: bool = True, is_flight_change: bool = False, adults: int = 1, children: int = 0, infants: int = 0, )

Data Models

Price

Represents a money amount as Wizz Air reports it.

Attributes:

  • amount (float): The amount
  • currency (str): ISO 4217 code, always the departure station's currency
  • exchanged_amount (Optional[float]): The SPA's client-side conversion hook. Stays None for anonymous sessions
  • exchanged_currency (Optional[str]): Currency of exchanged_amount
TimetableEntry

One operating day for a route, with its cheapest fare.

Attributes:

  • departure_station (str), arrival_station (str): IATA codes
  • departure_date (datetime): The operating day
  • price (Optional[Price]): Cheapest fare that day, None if sold out
  • original_price (Optional[Price]): Pre-discount price
  • departures (list[Departure]): Every departure that day
  • price_type (Optional[str]): "price" when there was inventory
  • has_mac_flight (bool): The route includes a metropolitan-area alternative
  • applied_coupon_code (Optional[str])
Departure

Attributes:

  • departure (datetime): Departure time
  • is_cheapest_of_the_day (bool): This is the departure price refers to
FlightDate

One operating day from get_connecting_flight_dates().

Attributes:

  • date (datetime): The operating day
  • stops (int): 0 for a direct flight, 1 or more for a connection
  • is_direct (bool): Property, true when stops is 0
FareChartEntry

One day of the price strip.

Attributes:

  • departure_station (str), arrival_station (str): IATA codes
  • day (datetime): The day
  • price (Optional[Price]): Cheapest price that day
  • class_of_service (Optional[str]): Booking class the quote came from
  • price_type (Optional[str]), has_mac_flight (bool)
Station

An airport in Wizz Air's live network. Returned by the explore methods.

Attributes:

  • iata (str): IATA station code
  • name (str): Station name
  • country_code (str): Uppercase ISO2 country code (e.g. "HU", "GB")
  • country_name (str): Country name
  • currency_code (str): Local cu

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx