关于 MrBilit
MrBilit 是面向 AI Agent 的非官方只读 MCP 服务,用于比较伊朗境内的旅行选项。它覆盖航班、火车、巴士、出租车和酒店,可查询时刻、价格、余位及出行规则,但不支持预订。
主要功能
- 01搜索航班、火车、巴士和出租车
- 02比较不同日期的票价
- 03查询座位、行李和退改规则
- 04搜索酒店并比较房价
- 05查看旅行通知和指南
适用场景
- 01比较德黑兰至马什哈德的出行方式
- 02查找本月机票最低价日期
- 03查询火车席别和可用座位
- 04比较计划行程中的酒店房间
MCP 相关
通过只读 MCP 工具提供 MrBilit 的公开旅行数据,用于搜索和比较交通及住宿。服务在本地运行并通过 stdio 通信,不支持占座、预订或付款。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx mrbilit-mcpMRBILIT_MCP_PROXYOptional HTTP proxy URL, or a comma-separated list used one at a time and rotated on a block or connect error (only needed if your network cannot reach MrBilit's API servers). System proxy settings are ignored.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
22收录的工具列表 · 更新于 5 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| date | string | 是 | 出发日期 YYYY-MM-DD,例如 '2026-10-20'。 |
| sort | enum | 否 | 巴士排序方式。cheapest | earliest |
| limit | integer | 否 | 巴士数量上限。 |
| origin | integer | 是 | 来自 mb_find_place(mode='bus') 的巴士城市或车站 ID,例如 11320000(德黑兰,所有车站)或 31310000(马什哈德)。 |
| vip_only | boolean | 否 | 仅限 VIP 巴士。 |
| companies | any | 否 | 仅限这些公司 ID,取自结果中的 `companies` 或 mb_companies(mode='bus'),例如 [4, 16]。 |
| destination | integer | 是 | 来自 mb_find_place(mode='bus') 的巴士城市或车站 ID,例如 11320000(德黑兰,所有车站)或 31310000(马什哈德)。 |
| depart_after | any | 否 | 当地时间,格式为 HH:MM,例如 '18:00'。 |
| depart_before | any | 否 | 当地时间,格式为 HH:MM,例如 '18:00'。 |
| include_sold_out | boolean | 否 | 也列出没有空座的巴士。 |
详细介绍
mrbilit-mcp:面向 AI Agent 的 MrBilit MCP 服务
让你的 AI Agent 使用 MrBilit(مستربلیط)规划伊朗旅行。
这是一个非官方、只读的 MCP 服务,适用于 MrBilit——一家提供航班、火车、巴士、出租车和酒店预订服务的伊朗旅游网站:
通过 Claude、Cursor 或 Copilot,查找某个日期或整个月内价格最低的选项,查看座位、行李和退款规则,并比较酒店客房的准确价格。
面向 AI Agent · 为什么 · 功能介绍 · 快速开始 · 工具 · 工作原理 · 须知 · 常见问题 · 配置 · فارسی · 开发 · 相关服务 · 免责声明 · 许可证
适用于 AI Agent
- 内容: 非官方、只读的 MrBilit(مستربلیط)MCP 服务,适用于伊朗旅游网站,提供航班、火车、城际巴士、私人出租车和酒店查询。支持用波斯语和英语查询;价格以 Toman 计价。
- 安装:
claude mcp add mrbilit -- uvx mrbilit-mcp(stdio 传输;需要 Python 3.10+ 和 uv)。 - 身份验证: 无需身份验证、API 密钥或账户。
MRBILIT_MCP_PROXY(HTTP 代理)为可选项,仅当你的网络无法访问 MrBilit 的 API 服务器时才需要设置。 - 访问权限: 只读(全部 22 个工具均带有
readOnlyHint: true)。无需登录,也不支持锁定座位、预订或付款,因此调用工具前无需确认。 - 工具: 共 22 个,名称均以
mb_*为前缀。先调用mb_find_place获取每次搜索所需的代码,再查询价格日历(mb_flight_price_calendar、mb_train_price_calendar、mb_bus_price_calendar)→mb_search_flights/mb_search_trains/mb_search_buses→mb_flight_fare_details、mb_train_price或mb_bus_seats。酒店:mb_search_hotels→mb_hotel_rooms。 - 适用场景: 比较伊朗城市之间最便宜的飞机、火车、巴士或出租车,或比较酒店价格、座位和退款规则。
- 不适用场景: 需要预订、锁定座位或付款时(用户需在 mrbilit.com 上自行操作)。
- 输出: 精简的 JSON。价格位于
*_toman字段中,日期采用公历YYYY-MM-DD格式,评分范围为 0-5。flight_id、class_id和bus_id等 ID 来自最新搜索结果,且会过期。 - 机器可读信息:
server.json;所有伊朗 MCP 服务目录:iran-mcp(TOOLS.md、servers.json、llms.txt)。
背景
MrBilit(mrbilit.com,مستربلیط)在同一平台销售航班、火车、城际巴士、私人出租车和酒店,但每种服务都有各自的搜索、日历和规则。要比较“飞机、火车还是巴士,哪天出发、选哪个座位”,需要加载十几个页面。使用 mrbilit-mcp 的 Agent 一次就能完成:
你: 10 月 20 日从德黑兰到马什哈德,最便宜的出行方式是什么?
Agent: 调用
mb_search_flights(origin="THR", destination="MHD", date="2026-10-20")、mb_train_price_calendar(origin=1, destination=191)、mb_search_buses(origin=11320000, destination=31310000, date="2026-10-20", sort="cheapest")
方式 最便宜的选项 出发时间 价格(Toman) 巴士 Peyk Saba VIP,德黑兰南站,剩余 17 个座位 21:00 出发,09:00 抵达 1,313,000 火车 当日最便宜的座位(价格日历) 用 mb_search_trains列出760,000 航班 Mehr Air MEH 4200,梅赫拉巴德,剩余 2 个座位 08:30 出发,09:30 抵达 11,856,000 火车最便宜;要我用
mb_search_trains列出当天的列车和空余座位吗?
来自 2026-10-04 的真实工具输出;价格和座位随时可能变化。价格以 Toman 计价。
能做什么
- 航班:国内和国际航班、单程或往返、多人价格,以及舱位/航空公司/直飞/时间筛选
- 最低价日期:查看未来几周内航班、火车和巴士的最低价日期,以及酒店的最低价入住夜晚
- 火车:所有有空位的席别、儿童/婴儿或整间包厢的确切价格,以及所有停靠站
- 巴士和出租车:客运站、公司、VIP、标有女性/男性座位的座位图,以及提供门到门服务的专车
- 替代方案:火车票售罄时,可选择中途换乘、附近车站、巴士路线和机场
- 酒店:有房且标明价格的住宿、城市内所有酒店、住客评分和评论、房间及确切价格
- 背景信息:当前网站公告、官方退款和行李规定、帮助中心指南、路线指南
- 只读设计:无需登录、不保留座位、不预订、不付款
示例提示词:
- “未来一个月内,德黑兰飞基什哪天最便宜?那趟航班的行李规定是什么?”
- “下周五从德黑兰到马什哈德的火车,2 名成人和 1 名儿童乘坐:哪些席别有座位?总价是多少?”
- “设拉子有哪些 4 星级酒店?从 20 号起住 3 晚,每晚低于 300 万托曼,并附上评论。”
- “周四德黑兰到大不里士的火车票已售罄,还有什么方式能到那里?”
- ارزانترین اتوبوس VIP تهران به اصفهان فردا شب و صندلیهای خالی آن؟
- ارزانترین روز برای پرواز تهران به کیش در ماه آینده کدام است؟
- هتلهای ۴ ستاره مشهد برای سه شب با قیمت دقیق اتاقها را مقایسه کن.
快速开始
你需要安装 uv。无需 API 密钥或账号。
Claude Code
claude mcp add mrbilit -- uvx mrbilit-mcp
如果你在伊朗境外,MrBilit 的 API 没有响应,请添加代理:
claude mcp add mrbilit -e MRBILIT_MCP_PROXY=http://127.0.0.1:8080 -- uvx mrbilit-mcp
Claude Desktop
前往“设置”→“开发者”→“编辑配置”,然后添加:
{
"mcpServers": {
"mrbilit": { "command": "uvx", "args": ["mrbilit-mcp"] }
}
}
需要代理?在 args 旁边添加 "env": { "MRBILIT_MCP_PROXY": "http://127.0.0.1:8080" }。
Cursor
点击上方的 Install in Cursor,或将 Claude Desktop 配置块添加到 ~/.cursor/mcp.json。
VS Code (Copilot agent mode)
点击上方的 Install in VS Code,或添加到 .vscode/mcp.json:
{
"servers": {
"mrbilit": { "type": "stdio", "command": "uvx", "args": ["mrbilit-mcp"] }
}
}
Codex CLI
codex mcp add mrbilit -- uvx mrbilit-mcp
或者添加到 ~/.codex/config.toml:
[mcp_servers.mrbilit]
command = "uvx"
args = ["mrbilit-mcp"]
Gemini CLI
添加到 ~/.gemini/settings.json:
{
"mcpServers": {
"mrbilit": { "command": "uvx", "args": ["mrbilit-mcp"] }
}
}
Windsurf
将 Claude Desktop 配置块添加到 ~/.codeium/windsurf/mcp_config.json。
其他客户端
这是一个标准的 stdio MCP 服务:运行 uvx mrbilit-mcp,或运行 pip install mrbilit-mcp 后再运行 mrbilit-mcp。
然后用波斯语或英语提出上面的提示词。
工具
每次搜索都使用 mb_find_place 返回的代码:航班使用 IATA 代码(THR、MHD、ISTALL),
火车使用车站 ID(德黑兰 1、马什哈德 191),巴士和出租车使用 8 位城市 ID(德黑兰 11320000),酒店使用
别名(mashhad、mashhad/enghelab)。
地点和公司(2)
| 工具 | 功能 |
|---|---|
mb_find_place | 城市、机场、车站或酒店名称 → 各类搜索所需的代码(航班、火车、巴士、出租车、酒店) |
mb_companies | 航空公司、铁路运营商、巴士公司和出租车类别及其代码 |
航班(3)
| 工具 | 功能 |
|---|---|
mb_search_flights | 查询指定日期的单程或往返国内及国际航班:成人票价和同行总价、座位、行李;可筛选舱位、航空公司、直飞航班和时间 |
mb_flight_price_calendar | 最多 180 天内每天的最低票价 |
mb_flight_fare_details | 单程航班或往返套餐的票价详情:退票罚金、托运行李、票价规则、备注、成人/儿童/婴儿价格 |
火车(5)
| 工具 | 功能 |
|---|---|
mb_search_trains | 查询指定日期的火车,涵盖所有席别、成人票价和最新余票数量;可选男性/女性/普通/车厢配额 |
mb_train_price_calendar | 每天可预订的最低火车票价 |
mb_train_price | 查询成人、儿童、婴儿、外国人和空铺位的指定席别准确票价及总价 |
mb_train_stops | 查询列车的所有停靠站及日期和时间 |
mb_alternative_routes | 查询一次换乘的行程(可组合火车和巴士),以及附近的火车、巴士和航班路线 |
巴士和出租车(4)
| 工具 | 功能 |
|---|---|
mb_search_buses | 查询指定日期的巴士:公司、客运站、时间、每个座位的价格、余票、VIP、停靠站、退票罚金 |
mb_bus_price_calendar | 每天最低的巴士座位票价 |
mb_bus_seats | 座位图:空座、已售给女性和男性的座位、带过道的座位排列 |
mb_search_taxis | 城际私人门到门出租车,按车型和上车时段查询每辆车的价格 |
酒店(5)
| 工具 | 功能 |
|---|---|
mb_search_hotels | 查询指定城市和日期的可预订酒店,显示最低住宿价格和封面照片;可筛选星级、类型、价格、退款、设施(波斯语词语,例如 ['استخر'])和早餐 |
mb_hotel | 查询单家酒店:封面照片、评分、含各项评分的最新评论、位置、地标、规则、设施 |
mb_hotel_rooms | 查询所有房间在指定日期的准确价格、每晚价格、剩余房间数和餐食 |
mb_hotel_calendar | 查询每晚最低的一晚价格,最多可查未来约 48 晚 |
mb_city_hotels | 查询城市内的所有酒店,包括已售罄的酒店;可按星级、类型或名称筛选(不含价格) |
通知和帮助(3)
| 工具 | 功能 |
|---|---|
mb_notices | 查询 MrBilit 当前针对某项服务或路线显示的通知 |
mb_help | 搜索官方规则、常见问题和帮助中心指南(退款、行李、自动预订等) |
mb_travel_guide | 查询路线或城市指南(摘要、常见问题、文章)和旅游杂志文章 |
全部 22 个工具都标注了 readOnlyHint: true,并返回精简的结构化 JSON,不会让 Agent 的上下文过载。
工作原理
AI agent (Claude, Cursor, Copilot, ...)
│
│ MCP over stdio
▼
mrbilit-mcp (runs on your machine)
│
│ HTTPS (REST, optional proxy)
├──────▶ flight.atighgasht.com, train.mrbilit.com, masir.mrbilit.com, bus.mrbilit.ir, hotel.mrbilit.ir
└──────▶ content.mrbilit.ir, directus.mrbilit.ir, mrbilit.com (site lists, magazine)
mrbilit-mcp 在本地运行,并调用 mrbilit.com 网站使用的相同公共接口。中间没有托管服务,不需要 API 密钥,也不会将任何与你有关的信息发送到其他地方。
重要提示
- 所有工具中的价格均以托曼为单位(API 返回里亚尔;数值会除以 10),且始终位于名为
*_toman的字段中。 航班的price_toman为每位成人的价格,total_toman为全体乘客的总价;火车票按成人计价;巴士票按座位计价;出租车按车辆计价; 酒店价格为一间客房整个住宿期间的总价。 - 日期的输入和输出均采用公历
YYYY-MM-DD格式;不接受过去的日期。时间使用当地时间:外国机场的航班时间采用该机场的当地时间,不过 API 会为每个航班时间标注+03:30。 - 评分范围为 0–5;
null表示尚未评分。网站将酒店评分乘以 2,显示为 10 分制。 - ID 会过期:
flight_id、class_id和bus_id均来自最新的搜索结果。 - 售票时间范围:火车票约提前 18 天开售,巴士票约提前一个月开售。结果为空往往只是因为尚未开售。
- 往返行程:国内航班由两张独立机票组成(分列在两个列表中);国际往返行程则按一个套餐计价。
- 酒店价格不受入住人数影响:选择
sleeps容纳人数足够的客房,并为团体加订客房。 - 国内机场和火车站信息来自网站自带的列表,每次运行时获取一次;软件包中也附带了一份副本作为备用。
- 巴士和出租车城市信息来自 MrBilit 的实时城市列表,比软件包附带的副本更新。
- 不可信文本:评论(截取至 400 个字符)、规则、通知和指南均为网站内容;服务端会告知 Agent 将这些内容视为数据,而非指令。
- 不提供的功能:不支持登录或 OTP、座位预留、预订、支付、钱包、退款、优惠券、价格提醒或发布评论。请前往 mrbilit.com 预订。
- 回复大小:结果为精简的 JSON,默认限制在约 15 KB。
- 请求频率:由于 API 主机共用一台服务器,请求并发数最多为 2 次,并会加入短暂的随机延迟。
常见问题
有供 AI Agent 使用的 MrBilit API 或 MCP 服务吗?
mrbilit-mcp 是一个非官方的 MrBilit MCP 服务:它将 mrbilit.com 网站的公开端点封装为 22 个只读工具,让 Agent 可以比较航班、火车、巴士、出租车和酒店。
如何在 Claude、Cursor 或 Copilot 中使用 MrBilit?
使用 uvx mrbilit-mcp 安装(参见快速开始),然后用波斯语或英语提问,例如:
“10 月 20 日从德黑兰到马什哈德,乘飞机、火车还是巴士最便宜?”
这是官方服务吗?安全且免费吗?
这是非官方服务,采用 MIT 许可证,因此可以免费使用。它是只读的:无需登录或 API 密钥,也不能预订或付款,并且在你的机器上运行。
我需要代理吗?
通常不需要:从伊朗网络直接调用即可。如果你的网络无法连接 MrBilit 的 API 服务器(连接超时或被重置),请将 MRBILIT_MCP_PROXY 设置为能够连接这些服务器的 HTTP 代理。
系统代理变量(HTTPS_PROXY 等)会被有意忽略。
它能帮我预订票吗?
不能,而且这是有意为之。它无需登录,也绝不会占座、预留、下单或付款。Agent 会帮你找到最佳选项;你需要在 mrbilit.com 上预订。
我遇到“未能及时响应”或“无法连接”
对于超时、连接重置、5xx 和 429,服务会通过退避机制重试两次。如果仍然失败,请设置 MRBILIT_MCP_PROXY(见上文)。单次中转行程搜索(mb_alternative_routes)有时会卡住;服务会重试,并仍会返回其他部分的结果。
为什么售罄的火车席别在 mb_train_price 中仍有价格?
定价端点会为任何席别定价;余票情况由 mb_search_trains(seats_left、bookable)提供。
Claude Desktop 提示找不到 uvx
请将 uvx 的完整路径用作 command(Windows 上运行 where uvx,macOS/Linux 上运行 which uvx)。
如何调试 Agent 能看到的内容?
npx @modelcontextprotocol/inspector uvx mrbilit-mcp
配置
| 变量 | 默认值 | 含义 |
|---|---|---|
MRBILIT_MCP_PROXY | 未设置 | 所有请求使用的 HTTP 代理,例如 http://user:pass@host:port;如果提供以逗号分隔的列表,则会逐个使用,并在遇到阻止或连接错误时轮换。通常在伊朗不需要 |
安全与网络
- 只读:不登录、不使用 OTP,不占座、不预留、不下单、不付款、不使用钱包、不设置价格提醒,也不发布评论。 唯一的 POST 请求是网站在预订前自行发起的搜索和价格查询。
- 内容 CMS 的管理字段(
created_by、updated_by)绝不会透传。 - 通过 curl_cffi 发送真实的 Chrome TLS 指纹和请求头;由于 API 主机共用一台服务器,因此同时最多发送两个请求,并在请求间加入短暂的随机延迟。
- 如果 MrBilit 返回机器人检查页面,服务可以在无头浏览器中清除检查:
pip install mrbilit-mcp[browser],然后运行patchright install chromium。
波斯语:MrBilit MCP 服务
mrbilit-mcp 是一个非官方、只读的 MrBilit MCP 服务。MrBilit 是伊朗的机票、火车票、巴士票、城际出租车销售和酒店预订平台。此服务可让您的 AI 助手(Claude、Cursor、Copilot 等)查找某一天或一个月内最便宜的航班、火车、巴士或包车,查看空余座位、行李额度和退票规则,并根据准确的房间价格和旅客评价比较酒店。
功能
- 航班:国内和国际航班,单程或往返,可按航空公司、舱位和时间筛选。
- 最低价日期:查询未来数周内航班、火车和巴士的最低价日期,以及酒店最低价入住夜晚。
- 火车:涵盖所有等级,可查看空余座位、成人、儿童和婴儿的准确价格,以及沿途车站。
- 巴士和出租车:可查看客运站、运营公司、含女士和男士座位标识的座位图,以及包车信息。
- 替代路线:火车票售罄时,可查询一次换乘的行程、车站和附近路线。
- 酒店:可查询有空房的酒店、价格、评分和旅客评价,以及每间客房的准确价格。
- 公告和指南:网站公告、退票规则、行李额度和路线指南。
注意事项
- 仅供只读使用:不会登录账号、预订座位、出票或付款;请自行在 MrBilit 网站完成购买。
- 所有价格均为托曼,日期采用公历(
YYYY-MM-DD)。 - 无需 API 密钥;服务在您的本地系统上运行,不会向任何中间服务器发送数据。
- 在伊朗通常不需要代理;如果 MrBilit 服务器没有响应,请设置
MRBILIT_MCP_PROXY。 - 在 Google 或 MCP 注册表中搜索“MrBilit MCP 服务”“最低价机票”“火车票”“巴士票”“酒店预订”或“mrbilit mcp”,即可找到此服务。
在 Claude Code 中安装:
claude mcp add mrbilit -- uvx mrbilit-mcp
在 Claude Desktop、Cursor 和其他应用中,使用 Quick start 部分中的相同设置。然后提问:“10 月 20 日从德黑兰到马什哈德最便宜的出行方式是什么?”
开发
git clone https://github.com/sepehr071/mrbilit-mcp && cd mrbilit-mcp
uv sync
uv run ruff check . && uv run ruff format --check .
uv run python -m pytest -q # offline, against recorded responses
uv run python -m pytest -m live -q # real API (set MRBILIT_MCP_PROXY if needed)
uv build
工具位于 src/mrbilit_mcp/places.py、flights.py、trains.py、buses.py、hotels.py 和 content.py 中;每个工具都是带类型标注的异步函数,并附有说明何时使用该工具的文档字符串。欢迎提交问题和 PR,尤其欢迎新增工具和修复 API 变更导致的问题。
发布流程:在 pyproject.toml 和 server.json 中更新版本,然后推送 v* 标签。GitHub Actions 会运行测试、发布到 PyPI 和 MCP Registry,并创建 GitHub Release。
相关服务
- iran-mcp:伊朗服务 MCP 服务目录
- flytoday-mcp:用于查询 Flytoday 上的航班、酒店、火车和巴士
- jabama-mcp:用于查询 Jabama 上的别墅、旅游和活动
- otaghak-mcp:用于查询 Otaghak 上的别墅、小屋和公寓住宿
如果这个工具帮您减少了点击操作,请点个星,帮助更多人发现它。
免责声明
本项目为非官方项目,与 MrBilit 无关联,也未获其认可。此服务仅供只读使用,并调用 mrbilit.com 网站的公开接口,这些接口可能随时变更,恕不另行通知。请合理控制请求频率。
作者
由 Sepehr Radmard(سپهر رادمرد)开发并维护。欢迎在 LinkedIn 上联系,或在 GitHub 上关注 @sepehr071,了解更多面向伊朗网站的 MCP 服务;所有服务均列于 iran-mcp。如果这个项目为您节省了时间,请给仓库点个星,帮助更多人发现它。
License
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
