mcpField
F
Flytoday

Flytoday

本地服务
github.com地图与出行25 天前更新

关于 Flytoday

Flytoday 是面向 Agent 的非官方只读 MCP 服务,用于查询伊朗 Flytoday 旅行平台。它涵盖交通、住宿和旅行服务,并提供价格与票规信息;预订和付款仍需在网站完成。

主要功能

  1. 01搜索伊朗国内及国际航班
  2. 02比较价格最低的出行日期
  3. 03查看票规和行李信息
  4. 04搜索酒店、别墅和公寓
  5. 05查询火车与巴士班次
  6. 06查看 CIP、eSIM、签证和活动选项

适用场景

  1. 01比较机票价格和退改规则
  2. 02查找含取消条款的酒店
  3. 03比较火车和巴士路线及票价
  4. 04查询目的地 eSIM 套餐或签证要求

MCP 相关

向 MCP 客户端提供 22 个 Flytoday 只读工具,涵盖航班、酒店、住宿、火车、巴士和旅行服务。它不负责预订、占座或付款。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sepehr071-flytoday": {
"command": "uvx",
"args": [
"flytoday-mcp"
],
"env": {
"FLYTODAY_MCP_PROXY": "<FLYTODAY_MCP_PROXY>"
}
}
}
}
启动命令uvx flytoday-mcp
需要配置的环境变量
FLYTODAY_MCP_PROXYOptional HTTP proxy URL, or a comma-separated list used one at a time (next one after a block or connect error). Only needed if your network cannot reach flytoday.ir or is rate limited. System proxy settings are ignored.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiflytoday-mcp0.3.2

工具

22

收录的工具列表 · 更新于 5 天前

参数类型必填说明
limitinteger否城市数量上限。
queryany否城市名称,可使用波斯文或拉丁字母,例如 'اصفهان' 或 'shiraz'。

详细介绍

flytoday-mcp:面向 Claude、Cursor 和 Copilot 的非官方 Flytoday MCP 服务

flytoday-mcp:面向 AI Agent 的 Flytoday MCP 服务

让你的 AI Agent 在伊朗及海外通过 Flytoday(فلای‌تودی)规划行程。
一个面向 Flytoday(伊朗在线旅行社)的非官方只读 MCP 服务:
通过 Claude、Cursor 或 Copilot 查询最便宜的国内和国际机票、火车票和巴士票、票价规则和行李信息、价格准确的酒店和别墅,以及 CIP 贵宾休息室、eSIM 和签证。

PyPI Python CI MCP Registry License: MIT

Install in Cursor Install in VS Code

面向 AI Agent · 为什么选择它 · 功能 · 快速开始 · 工具 · 须知 · 常见问题 · 配置 · فارسی · 开发


面向 AI Agent

  • **内容:**面向 Flytoday(فلای‌تودی,flytoday.ir)这一伊朗旅游网站的非官方只读 MCP 服务(模型上下文协议):提供伊朗国内及国际航班、伊朗境内及海外酒店、别墅和公寓、火车、巴士、CIP 贵宾休息室、eSIM、签证和活动。支持使用波斯语和英语查询;价格以托曼计。
  • 安装:uvx flytoday-mcp 或 claude mcp add flytoday -- uvx flytoday-mcp。传输方式:stdio。需要 Python 3.10+ 和 uv。
  • **身份验证:**无需身份验证、API 密钥或账户。可选设置 FLYTODAY_MCP_PROXY(HTTP 代理,或以逗号分隔的代理列表),仅在你的网络无法访问 flytoday.ir 或你的 IP 被限制速率时使用。系统代理设置不会生效。
  • **访问权限:**只读。不提供登录、锁定座位、预订或付款,因此调用任何工具前都无需确认。所有工具均标注为 readOnlyHint: true。
  • **工具:**共 22 个,名称均以 ft_ 为前缀。先使用查找工具(ft_find_airport、ft_find_hotel_place、ft_find_station、ft_find_bus_city)获取 ID。航班:ft_flight_calendar → ft_search_flights → ft_flight_details。酒店:ft_search_hotels → ft_hotel。别墅:ft_search_stays → ft_stay。
  • **单位:**名称为 *_toman 的字段中,价格以托曼计(签证和部分活动的价格以外币计,参见 price_currency);日期采用公历格式 YYYY-MM-DD,不接受过去的日期。search_id 和 fare_source_code 约 15 分钟后过期。
  • **适用场景:**比较 Flytoday 上的航班、酒店、别墅、火车或巴士,或查询 CIP 贵宾休息室、eSIM、签证或活动的价格。
  • **不适用场景:**你需要预订或付款时(用户需在 flytoday.ir 上自行操作)。搜索会按 IP 限制速率,因此优先使用日历和分页,而不是反复搜索。
  • 机器可读信息:server.json;伊朗 MCP 服务目录:iran-mcp(TOOLS.md、servers.json、llms.txt)。

为什么要用

Flytoday(flytoday.ir,فلای‌تودی)提供伊朗国内及国际航班、酒店、别墅、火车、巴士、CIP 贵宾休息室、eSIM 和签证。要比较“哪天出行、乘飞机还是火车或巴士、住哪家酒店”,仍然需要加载许多页面。 使用 flytoday-mcp 的 Agent 一次就能完成:

**你:**10 月 20 日左右从德黑兰到马什哈德,最便宜的出行方式是什么?

**Agent:**调用 ft_flight_calendar(origin="THR", destination="MHD", date="2026-10-21", window="week")、 ft_train_calendar(origin="1", destination="191")

交通方式最便宜的日期价格(托曼)
航班2026-10-20,航空公司 IRZ11,056,700
火车2026-10-20(以及当周大多数日期)760,000

火车便宜得多;要我用 ft_search_trains 列出当天的列车吗?

真实工具输出,日期为 2026-10-07;价格和座位情况随时可能变化。价格以托曼计。

功能

  • **航班:**国内和国际航班、单程或往返、团体价格、航空公司、直飞、包机/系统航班和时间筛选
  • **最低价日期:**航班(±15 天)、火车(约 16 天)和大巴(约 6 周)
  • **票价详情:**退改规则、行李额度、国际入境须知
  • **酒店:**伊朗境内及海外酒店的价格搜索、含取消条款的房型和餐食方案、住客评价
  • **别墅和公寓:**伊朗境内的别墅和公寓,显示每晚及总价、按日期显示的日历(含不可订日期)
  • **火车和大巴:**席别、剩余座位、停靠站、设施、VIP 和卧铺大巴
  • **其他:**IKA 和 MHD 的 CIP 贵宾休息室、各国 eSIM 流量套餐、签证价格和所需材料、旅游团和门票
  • **设计为只读:**无需登录,不保留座位、不预订、不付款

示例提示词:

  • “下个月德黑兰飞往伊斯坦布尔的最低价日期是哪天?该票价的退票规则是什么?”
  • “马什哈德从 21 日起住 2 晚的酒店,按价格从低到高排列,并提供免费取消。”
  • “下周末在拉姆萨尔找一栋适合 4 人入住、每晚低于 500 万托曼的别墅。”
  • “本周从德黑兰到马什哈德最便宜的火车是哪班?沿途停靠哪些站?”
  • “土耳其 eSIM 多少钱?申请签证需要哪些材料?”
  • ارزان‌ترین اتوبوس VIP تهران به اصفهان دوشنبه بعد؟
  • ارزان‌ترین روز برای پرواز تهران به مشهد در هفته آینده کدام است؟
  • قوانین استرداد و بار مجاز این بلیط خارجی چیست؟
  • یک ویلا در رامسر برای ۴ نفر آخر هفته زیر ۵ میلیون تومان پیدا کن.

快速开始

你需要安装 uv。无需 API 密钥或账户。

Claude Code
claude mcp add flytoday -- uvx flytoday-mcp

如果 Flytoday 无法通过你的网络响应,请添加代理:

claude mcp add flytoday -e FLYTODAY_MCP_PROXY=http://127.0.0.1:8080 -- uvx flytoday-mcp
Claude Desktop

进入 Settings → Developer → Edit Config,然后添加:

{
  "mcpServers": {
    "flytoday": { "command": "uvx", "args": ["flytoday-mcp"] }
  }
}

需要代理?在 args 旁边添加 "env": { "FLYTODAY_MCP_PROXY": "http://127.0.0.1:8080" }。

Cursor

点击上方的 Install in Cursor,或将 Claude Desktop 配置块添加到 ~/.cursor/mcp.json(或项目中的 .cursor/mcp.json)。

VS Code (Copilot agent mode)

点击上方的 Install in VS Code,或添加到 .vscode/mcp.json:

{
  "servers": {
    "flytoday": { "type": "stdio", "command": "uvx", "args": ["flytoday-mcp"] }
  }
}
Codex CLI
codex mcp add flytoday -- uvx flytoday-mcp

也可以添加到 ~/.codex/config.toml:

[mcp_servers.flytoday]
command = "uvx"
args = ["flytoday-mcp"]
Gemini CLI

添加到 ~/.gemini/settings.json:

{
  "mcpServers": {
    "flytoday": { "command": "uvx", "args": ["flytoday-mcp"] }
  }
}
Windsurf

将 Claude Desktop 配置块添加到 ~/.codeium/windsurf/mcp_config.json。

其他客户端

这是标准的 stdio MCP 服务:运行 uvx flytoday-mcp,或运行 pip install flytoday-mcp 后执行 flytoday-mcp。

## 工具

每个类别都有自己的 ID,取自对应的查询工具:航班使用 IATA 代码(THR、MHD、IST),酒店使用 city_id / region_code,住宿使用 region_code,火车站使用车站代码(德黑兰为 1,马什哈德为 191),巴士城市使用 4 位数 ID(德黑兰为 0001,伊斯法罕为 0002)。

航班(4)
工具功能
ft_find_airport查询伊朗及国际城市和机场的 IATA 代码,或列出热门城市和机场
ft_search_flights搜索单程或往返航班,支持筛选、排序和分页,以托曼显示价格,并提供 fare_source_code 和 search_id
ft_flight_calendar显示某个日期前后各出发日的最低票价,并标出最低价日期
ft_flight_details提供某张机票的退款和改签规则、行李规定及国际入境须知
酒店和住宿(6)
工具功能
ft_find_hotel_place查询酒店的城市、地区和酒店 ID,以及别墅住宿的地区代码;留空时返回热门地点
ft_search_hotels查询指定日期和城市或地区内有价格的酒店:显示整个住宿期间和每晚的托曼价格、星级、评分、可退款情况及餐食
ft_hotel查询单家酒店:房间和餐食报价、价格、剩余房间数、取消条款、房间详情及基本信息
ft_hotel_reviews查询酒店住客评价,包括评分、文字评价、优点和缺点
ft_search_stays搜索伊朗的别墅和公寓,按指定日期和价格从低到高排列,显示托曼每晚价格和总价
ft_stay查询单栋别墅或单套公寓:详情、含不可订日期的价格日历及评价
火车(4)
工具功能
ft_find_station按城市名称查询火车站代码,或列出热门车站
ft_search_trains查询指定日期往返两个车站的火车:公司、等级、时间、剩余座位数及成人票价
ft_train_calendar显示未来约 16 天每天的最低火车票价,并标出售罄日期
ft_train_stops查询某趟列车的停靠站和时间,以及等级对应的设施和餐食
巴士(3)
工具功能
ft_find_bus_city按名称查询巴士城市 ID,或列出热门城市
ft_bus_calendar显示未来数周每天的最低巴士座位票价(网站上的价格条)
ft_search_buses查询指定日期往返两个城市的巴士:公司、客运站、车型、剩余座位数及每座票价
CIP、eSIM、签证、活动(5)
工具功能
ft_cip按护照国籍查询指定日期和旅客人数在 IKA 和 MHD 的 CIP / VIP 机场休息室价格及附加服务
ft_esim_plans查询某个国家的 eSIM 流量套餐(GB、天数、托曼价格),按价格从低到高排列
ft_visa查询签证国家列表及起始价格,或查询某个国家的价格、所需文件和办理时间
ft_activities查询目的地在指定日期范围内的游览、门票和活动及起始价格
ft_activity查询单项活动:描述、选项、价格和最低价日期

所有 22 个工具均标注为 readOnlyHint: true,并返回紧凑的结构化 JSON,不会让 Agent 的上下文塞满内容。

工作原理

  AI agent  (Claude, Cursor, Copilot, ...)
      │
      │  MCP over stdio
      ▼
  flytoday-mcp  (runs on your machine)
      │
      │  HTTPS (optional proxy)
      ▼
  www.flytoday.ir/api/gateway  ──▶  api.flytoday.ir, placesearch.flytoday.ir

flytoday-mcp 在本地运行,并调用 flytoday.ir 网站使用的同一个公共网关。中间没有托管服务,也不需要 API 密钥,你的信息也不会发送到其他地方。请求通过模拟 Chrome 的 HTTP 客户端发出,同时最多处理两个请求,并在请求之间短暂随机暂停;失败的调用(超时、5xx、429)最多重试两次。静态查询列表(CIP 机场、eSIM 国家、签证国家)会缓存 6 小时。

重要须知

  • 所有工具中的价格均以 Toman 为单位,字段名为 *_toman(API 返回 Rial;数值会除以 10)。 航班的 price_toman 为每位成人的价格,total_toman 为全体同行者的总价;酒店的 price_toman 为整个住宿期间的价格(另有 per_night_toman);住宿的价格字段为 price_per_night_toman 和 total_toman;火车票按成人计价;巴士票按座位计价。 签证和部分活动的价格以外币表示(price_currency)。
  • 日期的输入和输出均采用公历 YYYY-MM-DD 格式;不接受过去的日期。时间均为当地时间。
  • 航班提供 airline(英文名称)和 airline_fa(波斯语名称,API 有提供时)。
  • 酒店和住宿(搜索结果行、ft_hotel、ft_stay)包含 image,即封面照片,其路径根据网站的格式构建为 <cdn>/<id>/main.jpg(API 没有图片字段)。
  • Flytoday 会按 IP 限制搜索频率:航班、火车和巴士搜索约 15 次;酒店搜索在 10 分钟内约 12 次后会要求输入验证码(封锁时间为一小时或更久)。请使用日历和分页(search_id),而不是重新搜索;工具不会循环执行搜索。
  • ID 会过期:search_id 和 fare_source_code 的有效期约为 15 分钟。
  • 售票时间窗口:火车票约提前 16 天开售。结果为空通常只是表示“尚未开售”。
  • 铁路公司的链接不可用时,Flytoday 会返回 HTTP 599;ft_search_trains 会重试三次,然后说明情况。
  • **不支持的功能:**预订、锁定座位、付款、退款或登录;不支持旅游团或套餐搜索,也不提供巴士座位图。
  • **安全性:**只读。唯一的 POST 请求用于搜索和查询价格,这些是网站在预订前自行发起的请求。 同时最多发起两个请求,且任何工具都不会循环重复搜索。
  • **代理:**如果你的网络无法访问 flytoday.ir,请设置 FLYTODAY_MCP_PROXY(参见配置)。

常见问题

有供 AI Agent 使用的 Flytoday API 或 MCP 服务吗?

flytoday-mcp 是 Flytoday 的非官方 MCP 服务:它将 flytoday.ir 网站的公共网关作为 22 个只读工具开放,让 Agent 可以比较航班、酒店、别墅、火车和巴士。

如何将 Flytoday 与 Claude、Cursor 或 Copilot 配合使用?

使用 uvx flytoday-mcp 安装(参见快速开始),然后用波斯语或英语提问,例如: “下个月从德黑兰飞往伊斯坦布尔,哪天最便宜?该票价的退款规则是什么?”

它是官方、安全且免费的吗?

它是非官方项目,采用 MIT 许可,因此可以免费使用。它是只读的:无需登录或 API 密钥,也不会预订或付款,并且在你的机器上运行。

我需要代理吗?

通常不需要:该网站的网关在伊朗境内外都可以访问。如果你的网络无法访问 www.flytoday.ir,或你的 IP 受到速率限制,可以将 FLYTODAY_MCP_PROXY 设置为 HTTP 代理(或逗号分隔的代理列表,依次使用)。系统代理变量 (HTTPS_PROXY 等)会被有意忽略。

它能帮我订票吗?

不能,这是有意为之。它无需登录,也绝不会占座、预留、下单或付款。Agent 会帮你找到最佳选项;你需要在 flytoday.ir 上完成预订。

我看到“需要验证码”或 HTTP 429 错误

Flytoday 会限制每个 IP 的搜索次数。请等待(酒店验证码拦截可能持续一小时或更久),或通过 FLYTODAY_MCP_PROXY 使用其他网络。日历、详情、评价和住宿搜索不受限制。 如果 Flytoday 返回的是机器人验证页面,请安装浏览器扩展(pip install flytoday-mcp[browser],或 uvx --with patchright==1.63.0 flytoday-mcp),然后运行 patchright install chromium;之后,服务会在无头浏览器中自动通过验证。

为什么没有巴士座位图?

网站的座位图来自结账流程的首次调用。在确认该调用不会占用任何座位之前,我们不会提供此功能。

价格单位是托曼还是里亚尔?

托曼。Flytoday 的 API 返回里亚尔,工具会将其除以 10;字段名为 *_toman。签证和部分活动的价格以外币计价,并在 price_currency 中显示。

如何调试 Agent 看到的内容?
npx @modelcontextprotocol/inspector uvx flytoday-mcp

配置

变量默认值含义
FLYTODAY_MCP_PROXY未设置可选的 HTTP 代理,例如 http://user:pass@host:port;逗号分隔的列表会依次使用(遇到拦截或连接错误后使用下一个)。系统代理设置会被忽略

波斯语:Flytoday MCP 服务

flytoday-mcp 是一款非官方、只读的 MCP 服务,适用于伊朗在线旅行社 Flytoday(flytoday.ir)。它允许您的 AI 助手(Claude、Cursor、Copilot 等)在 Flytoday 查找某一天或一个月内最便宜的国内和国际 航班、火车或巴士,查看退改规则和行李额度,并按准确价格比较酒店和别墅;还可查询 CIP 价格、eSIM 卡和签证信息。

功能

  • 航班:国内和国际单程及往返航班,可按航空公司、直飞和时间筛选。
  • 最便宜日期:查询航班、火车和巴士的最便宜出行日期(价格日历)。
  • 机票规则:退改规则、行李额度和目的地入境须知。
  • 酒店:国内和国际酒店的准确价格、房型、取消条件和住客评价。
  • 别墅和住宿:伊朗境内住宿的每晚价格、总价和旺日日历。
  • 火车和巴士:等级、空座、车站、设施、VIP 巴士和卧铺巴士。
  • 其他服务:伊玛目霍梅尼机场和马什哈德机场的 CIP 贵宾厅、eSIM 上网套餐、签证价格和所需材料、旅游团及景点门票。

注意事项

  • 仅支持只读:不会登录账号,也不会预订或付款;请自行前往 flytoday.ir 购买。
  • 所有价格均以伊朗里亚尔计价(签证价格和部分活动价格以外币计价)。日期均为公历。
  • Flytoday 会限制每个 IP 的搜索次数(约 15 次航班、火车和巴士搜索);请使用价格日历,避免重复搜索。
  • 无需 API 密钥,可在您自己的设备上运行。如果您的网络无法连接 flytoday.ir,请将 FLYTODAY_MCP_PROXY 变量设置为 HTTP 代理。
  • 如需在 Google 或 MCP Registry 中查找,请搜索“Flytoday MCP 服务”“机票”“火车票”“巴士票”“酒店预订”或“flytoday mcp”。

安装(请先安装 uv)。在 Claude Code 中:

claude mcp add flytoday -- uvx flytoday-mcp

在 Claude Desktop、Cursor 和其他应用中,使用 Quick start 部分中的相同配置。

示例问题

  • “10 月 28 日前后,从德黑兰到马什哈德最便宜的出行方式是什么?”
  • “下周一,从德黑兰到伊斯法罕最便宜的 VIP 巴士是什么?”
  • “马什哈德有哪些可免费取消、入住两晚的酒店?请按价格从低到高排序。”

开发

git clone https://github.com/sepehr071/flytoday-mcp && cd flytoday-mcp
uv sync
uv run python -m pytest  # offline, against recorded responses
uv run python -m pytest -m live  # real API, one search per tool (set FLYTODAY_MCP_PROXY if needed)
uv run ruff check .

工具位于 src/flytoday_mcp/flights.py、hotels.py、trains.py、buses.py 和 extras.py 中;每个工具都是带类型注解的 异步函数,并附有说明其适用场景的文档字符串。欢迎提交问题和 PR。

发布版本:更新 pyproject.toml 和 server.json 中的版本,然后推送 v* 标签。GitHub Actions 会运行测试、 发布到 PyPI 和 MCP Registry,并创建 GitHub Release。

相关服务

如果它为您省去了几次点击,点个星标就能帮助其他人找到它。

免责声明

本项目为非官方项目,与 Flytoday 无关联,也未获其认可。它为只读服务,使用 flytoday.ir 网站的公开接口,这些接口可能随时变更,恕不另行通知。请保持合理的请求频率。

作者

Sepehr Radmard:面向伊朗网络的开源 MCP 服务。LinkedIn:linkedin.com/in/sepehr-radmard

由 Sepehr Radmard(سپهر رادمرد)开发并维护。欢迎在 LinkedIn 上联系,或关注 GitHub 上的 @sepehr071,获取更多面向伊朗网站的 MCP 服务,所有服务均列于 iran-mcp。如果这为你节省了时间,欢迎为仓库点星,让更多人发现它。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。