biletall.com Bus & Flight Tickets

io.github.mohammad-abbasi-sh由 GitHub 账号 mohammad-abbasi-sh 发布v0.1.1更新于 Nov 11, 2026

Unofficial read-only MCP server for biletall.com bus & flight tickets: routes, prices.

已验证STDIO仅桌面位置与生活

概览

biletall.com Bus & Flight Tickets 的本地 MCP 服务;无需登录;STDIO。

暂无 AI 概览:以下信息来自注册中心条目和服务本身。

安装

在 SourceWeft 中

  1. 打开 控制台中的 biletall.com Bus & Flight Tickets,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

biletall-mcp 🇹🇷

mcp-name: io.github.mohammad-abbasi-sh/biletall-mcp

Unofficial read-only MCP server for biletall.com, Türkiye's bus & flight ticket search — cheapest bus journeys for any route (today's departures, company, seat layout, stations, times, prices), cheapest flights (airline, airports + IATA codes, dates, times, prices), price statistics per route, most-travelled routes, and location search over 1,726 Turkish and international locations.

Built by Mohammad Abbasi as part of the "Turkey MCP factory" (Sepehr-style pipeline). Not affiliated with biletall.com.

For AI agents

Add to your MCP client config (stdio):

json
{  "mcpServers": {    "biletall": {      "command": "uvx",      "args": ["biletall-mcp==0.1.1"]    }  }}

Or run locally: python -m biletall_mcp.server (needs mcp<2, curl-cffi).

Tools

ToolDescription
biletall_search_locationsSearch locations by name — query ("Ankara", "İstanbul", "Bodrum"); returns slug, Turkish name and biletall.com URL per match (offline search over the 1,726-location platform inventory)
biletall_bus_routeCheapest bus journeys for one route, today — from_city, to_city (Turkish names or slugs, e.g. "İstanbul" → "Ankara"), limit 1..30; returns summary (cheapest price, journey count, cheapest/most-active company, duration, route rating) + journeys (company, bus type, origin city + station, destination city + station, price in TRY, departure/arrival times)
biletall_flight_routeCheapest flights for one route — from_city, to_city, limit 1..10; returns summary (cheapest price, cheapest/most-active airline, flight count, duration, distance) + flights, each with its own date (ISO + Turkish), airline, origin/destination airports with IATA codes, times, price in TRY
biletall_price_statsPrice statistics for a bus route (today): count, min / median / mean / max ticket price in TRY across the 30 cheapest journeys, company count, cheapest price per company
biletall_popular_routesMost-travelled bus routes with prices: route name, from/to slugs, cheapest price in TRY, route URL; limit 1..30

Example output (biletall_bus_route / İstanbul → Ankara):

json
{"from_city": "İstanbul", "to_city": "Ankara", "summary": {"cheapest_price_try": 539.0, "journey_count": 719,  "cheapest_company": "Yeşil Malatya Turizm",  "most_active_company": "Metro Turizm", "duration": "6s 35dk",  "route_rating_10": 3.9}, "count": 2, "journeys": [  {"company": "Niğde Aydoğanlar", "bus_type": "2+1",   "origin_city": "İstanbul Avrupa", "origin_station": "Alibeyköy Otogarı",   "destination_city": "Ankara", "destination_station": "Ankara (Aşti) Otogarı",   "price_try": 598.0, "departure": "00:19", "arrival": "06:34"}, …]}

Example output (biletall_flight_route / İstanbul → Ankara):

json
{"summary": {"cheapest_price_try": 1464.0, "cheapest_airline": "Pegasus",  "most_active_airline": "THY", "flight_count": 14,  "duration": "1Saat", "distance": "349 KM"}, "flights": [{"airline": "Pegasus", "date": "2026-11-10",  "date_tr": "10 Kasım 2026 - Salı", "price_try": 1459.99,  "origin_code": "SAW", "destination_code": "ESB",  "origin_airport": "İstanbul Anadolu — Sabiha Gökçen Havalimanı",  "departure": "18:15",  "destination_airport": "Ankara — Ankara Esenboğa Havalimanı",  "arrival": "19:15"}, …]}

How it works

biletall.com (an Obilet white-label) serves its SEO route pages fully server-rendered — no login, no API key, no session cookies. Bus route pages carry a summary table (cheapest ticket, journey count, cheapest company, duration, most active company, route rating) with a schema.org AggregateOffer meta block, plus 30 <li itemtype="…/BusTrip"> journeys. Flight route pages carry the same summary shape plus 10 cheapest-flight blocks (airline, Turkish date, price data-price, airports + IATA codes, times). The homepage carries the 15 most-travelled routes with prices. City names are slugified (İstanbul → istanbul, Eskişehir → eskisehir; "İstanbul Avrupa" → istanbul since route pages use the base city; multi-word locations use underscores, e.g. Antakya Hatay → antakya_hatay). Unknown routes return HTTP 404 ("Sayfa bulunamadı"), surfaced as a clear error. Transport uses Chrome TLS impersonation (curl-cffi, chrome120); requests are spaced ~0.8s apart; everything is read-only.

Note: the two sibling lanes (teknosa.com, hepsiemlak.com) went behind a Cloudflare JS challenge on the same day this server was built (2026-11-07) and were skipped per factory rules — biletall.com answers cleanly, which is why it is the build.

Install

bash
uvx biletall-mcp==0.1.1        # run directly (needs uv)# orpip install biletall-mcp==0.1.1biletall-mcp    # starts the MCP server on stdio

Tests

bash
python -m venv .venv && .venv/bin/pip install -e ..venv/bin/python -m unittest discover -s tests -v

Offline tests run on recorded fixtures (real pages fetched 2026-11-07); live tests hit biletall.com. 34/34 green at build time (26 offline + 8 live) plus an MCP stdio smoke test.

Roadmap

  • Date-specific bus search (the SEO pages show today's departures; a dated search needs the session-gated JSON API)
  • Bus company pages (/otobus-firmalari/<slug>: company routes + ratings)
  • Hotel search (the site has an Otel section)

License

MIT — see LICENSE.


Built by Mohammad Abbasi — Almanibama · mabbasi.ir

来源:README.md,提交 3cf6efd

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Nov 11, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分