Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MRBILIT_MCP_PROXYNoHTTP proxy for every request, e.g. http://user:pass@host:port. Usually not needed in Iran.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
mb_search_busesA

Intercity buses on a date: company, terminal, times, price per seat, free seats, bus type, stops, refund penalties.

A city id covers all its terminals; a terminal id only that terminal. price_toman is per seat (a party pays it once per seat). refund_penalties apply to every bus unless a bus lists its own: until_hours_before = the step applies until that many hours before departure (null = up to departure); free_cancel_minutes = free cancellation within that many minutes after purchase. Next: mb_bus_seats with a bus_id for seat numbers and women/men seats; other days: mb_bus_price_calendar.

mb_bus_price_calendarA

Cheapest bus seat per day for a route; days without buses (or not on sale yet) are left out.

Use to find the cheapest day, then mb_search_buses for that day. Bus sales usually open about a month ahead.

mb_bus_seatsA

Seat map of one bus: free seat numbers, seats sold to women and to men, and a row-by-row layout.

layout: one line per row from the front; each seat is its number plus a mark: none = free, w = sold to a woman, m = sold to a man, x = not sold online; '|' = the aisle (seats on the same side of it are neighbours), '--' = no seat, 'DR' = driver. Rule text (who may sit where) is in seat_rules. price_toman is null for most buses: use the search price. bus_id expires: take it from a fresh search.

mb_search_taxisA

Private door-to-door intercity taxis (whole car, up to 3 passengers) for a date, one offer per pick-up slot.

price_toman is for the whole car, not per person. classes summarises each car class (cars, cheapest price, slots). Many city pairs have no taxis (Tehran-Mashhad, Tehran-Qom): the empty result then says so. Taxi cities: mb_find_place(mode='taxi').

mb_find_placeA

Turn a city, airport, station or hotel name into the code a search takes.

flight: airports (Iranian airports, IATA code for domestic flights; Tehran domestic is THR, not IKA; prefer these to XXXALL codes for domestic routes) and cities (any country, XXXALL city code = all its airports, plus each airport). train: station ids (Tehran 1, Mashhad 191). bus / taxi: 8-digit city ids (Tehran 11320000 = all terminals; terminal ids such as 11321006 Tehran South). hotel: city slugs for mb_search_hotels / mb_city_hotels and hotel slugs for mb_hotel / mb_hotel_rooms. Next: mb_search_flights, mb_search_trains, mb_search_buses, mb_search_taxis or mb_search_hotels.

mb_companiesA

List airlines (IATA code), rail operators or bus companies (id) with Persian and English names.

Use to name a code seen in results (airline 'W5', bus company 4) or to find an airline code for the airlines filter of mb_search_flights. Rail operators repeat under several ids; each row lists all of them. Bus ids 276/278/280 are the taxi classes VIP/Economy/Formal.

mb_noticesA

Notices MrBilit currently shows on its pages (disruptions, rule changes, payment options), for a service or route.

Route codes build the site path the notice rules match against: /flights/THR-MHD, /trains/tehran-mashhad, /hotel/mashhad. search_mode limits a flight notice to domestic or international searches; site_wide_active counts every active notice, not only these. Use before recommending a trip, alongside the search tools.

mb_helpA

Search MrBilit's official rules, FAQ and help-center guides; returns the best matching passages.

Use for refund and cancellation rules, ID and baggage rules, how auto-reserve works, how to request a change, etc. Passages are plain text with the section they come from. Rules of one fare are in mb_flight_fare_details / mb_search_trains / mb_search_buses instead.

mb_travel_guideA

MrBilit's guide for a route or city (summary, FAQ, article) and matching travel-magazine posts.

Route guide: service + origin + destination (flight IATA codes, train/bus English slugs such as 'tehran'; hotel: destination city slug only). Magazine: query. Editorial text: prices or rules quoted in it can be out of date; use the search tools for live prices.

mb_search_flightsA

Search flights for a date: every bookable flight with price, seats left, baggage and times.

price_toman is one adult's fare (taxes included); total_toman is the whole party (adult, child and infant fares). Fares without enough seats for the party are dropped by the site. Domestic round trips come back as two lists (outbound, return, each its own ticket); international round trips as packages whose price covers both ways (flight_id names both legs). Times are local to each airport, even though they all carry the API's +03:30 suffix; international flights from Tehran can leave from IKA when THR is asked (segments show the real airports). Flights not on sale (sold out or auto-reserve only) are counted in not_on_sale. For refund penalties, exact baggage and fare rules call mb_flight_fare_details with the flight_id; for the cheapest day use mb_flight_price_calendar first.

mb_flight_price_calendarA

Cheapest one-adult fare per day for a route over a date range, in one call.

Use to find the cheapest day to fly, then call mb_search_flights for that day. The values are the site's cached minimums and can differ from a live search; days with no known fare are left out (no flights, sold out or not cached).

mb_flight_fare_detailsA

Every fare of one flight with refund penalties, confirmed baggage, fare rules, notes and per-passenger prices.

Re-runs the search of mb_search_flights (same route, date and party) and returns the chosen flight. baggage_checked_with_airline is true when the site re-checked the baggage with the airline (false = the search value, usually right). refund_penalties: penalty percent of the ticket price per time window before departure, refund = paid x (100 - penalty_pct) / 100; penalty_text when there is no percent (e.g. the supplier's terms).

mb_search_hotelsA

Hotels and stays with a free room in a city for the dates, with the cheapest room price for the whole stay.

price_toman is the cheapest room for all nights (one room, after discount); per_night_toman divides it by the nights; cheapest_room_sleeps is how many that room sleeps (often 1). Guest count does not change prices: pick a room that fits with mb_hotel_rooms(guests=...). Sold-out hotels are not listed (mb_city_hotels lists every hotel). Next: mb_hotel (reviews, location), mb_hotel_rooms (every room and exact price), mb_hotel_calendar (cheapest nights).

mb_hotelA

One hotel: stars, guest rating (0-5) and latest reviews, location, landmarks, check-in rules, amenities, FAQ.

The site shows ratings x2 out of 10. landmarks: distance in km (drive minutes). For room prices on dates call mb_hotel_rooms with hotel (null after a numeric id: get the 'city/hotel' ref from mb_find_place(mode='hotel') with the name); for the cheapest nights mb_hotel_calendar.

mb_hotel_roomsA

Every room of a hotel with its exact price for the dates: whole stay, per night, rooms left, meals.

price_toman is the whole stay for one room after discount (prices do not depend on the guest count; choose rooms whose sleeps fits, and add up several rooms for a group). rooms_left 0 = full. cancellation is the hotel's refund rule. Empty rooms list = nothing free for these dates (try mb_hotel_calendar).

mb_hotel_calendarA

Cheapest one-night room price per night from today, up to about 48 days (often fewer).

Use to find the cheapest or the next free nights, then mb_hotel_rooms for exact prices. Nights missing inside the range have no free room; nights after the last one listed are not loaded yet (not the same as sold out).

mb_city_hotelsA

Every listed hotel of a city, sold out ones included, with stars, rating and address; no prices.

Use to browse or find a hotel by stars or type regardless of dates; filters apply to one page of 90 hotels at a time, so check pages. Prices: mb_search_hotels (dates) or mb_hotel_calendar (one hotel).

mb_search_trainsA

Trains between two stations on a date with every class (wagon), its price per adult and free seats.

Seat counts are fresh (not cached). price_toman is per adult; for children, infants or a whole compartment call mb_train_price with the class_id. refund_penalties apply to every class unless a class lists its own. Stops and times: mb_train_stops. No seats left: try mb_train_price_calendar for other days or mb_alternative_routes. A round trip is two calls: the return leg with outbound_class_id.

mb_train_price_calendarA

Cheapest train ticket per day (one adult) for a route, only days with free seats.

Use to find the cheapest or the next bookable day, then mb_search_trains for that day. Train sales open only about 18 days ahead, so later days are missing.

mb_train_priceA

Exact price of one train class for a party: per adult, child, infant, foreigner and empty berth, and the total.

class_id comes from mb_search_trains (it expires with the search). A sold-out class still returns a price here, so check seats_left in the search first. breakdown is the adult fare's parts (they do not add up exactly to the price; the price is what is paid).

mb_train_stopsA

Every station a train stops at, in order, with the date and local time at each.

Pass a class_id from mb_search_trains (sold-out classes work too; never a train number). The first stop can be before your station (a Tehran-Mashhad train may start in Qom).

mb_alternative_routesA

Alternatives when direct trains are full or dear: trips with one change, and nearby train, bus and flight routes.

with_one_change: up to 7 journeys with one change, any mix of train and bus (bus+bus too; price per adult, total duration, wait at the change); a direct bus in nearby_bus_routes can be cheaper and faster. nearby_*: routes from or to stations, bus cities and airports near the two stations, with the cheapest price where known (classes_listed is the API's raw count, not the bookable classes); pass their ids to mb_search_trains, mb_search_buses or mb_search_flights. Seat counts here can be cached: confirm with a search.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 22 tools

Disambiguation4/5

Tools are mostly distinct by service and action (search, calendar, details, seats), and descriptions explicitly cross-reference next steps. However, some overlap exists among hotel price tools (mb_search_hotels vs mb_hotel_rooms vs mb_hotel_calendar) and between search and price-calendar tools, which could cause occasional misselection.

Naming Consistency3/5

All tools use a consistent mb_ prefix and snake_case, but the naming pattern mixes verb_noun (mb_search_flights, mb_find_place) with noun phrases (mb_bus_price_calendar, mb_train_stops, mb_hotel_rooms). The convention is readable but not a predictable verb_noun pattern throughout.

Tool Count3/5

22 tools cover five transport/accommodation services plus support utilities, so each service gets search, calendar, and detail tools. This is at the upper end of reasonable; some consolidation (e.g., fewer calendars) could reduce the surface without losing capability.

Completeness3/5

The search/planning surface is broad: flights, trains, buses, taxis, hotels, alternatives, places, companies, notices, help, and guides are covered. However, no tool performs booking, reservation, or order management, leaving a notable lifecycle gap for a travel-booking domain.

Maintenance

ActivityNo data
ResponsivenessNo issues