Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOSTNoHTTP mode only: bind address. Default is 127.0.0.1 (0.0.0.0 in the Docker image).127.0.0.1
PORTNoHTTP mode only: port for the Streamable HTTP server. Default is 3000.3000
OSRM_URLNoSelf-hosted OSRM routing URL. Default uses the public FOSSGIS instance.
CACHE_DIRNoDirectory for caching geocoding and routing responses.
PHOTON_URLNoCustom Photon geocoding URL. Default uses the public instance.
SERPAPI_KEYNoOptional SerpApi Google Hotels API key. 250 free searches per month.
ALLOWED_HOSTSNoHTTP mode only: comma-separated hostnames accepted in the Host header, any port. Default is localhost, 127.0.0.1 and [::1].localhost,127.0.0.1,[::1]
NOMINATIM_URLNoCustom Nominatim geocoding URL. Default uses the public instance (1 req/s).
OSRM_FOOT_URLNoSelf-hosted OSRM foot-routing URL.
HTTP_USER_AGENTYesSet to your app name + contact, e.g. "india-hotels-mcp/0.1 (you@example.com)". Required by the Nominatim usage policy.
TRAIN_BUFFER_MINNoBuffer in minutes for train arrival/departure. Default is 30.30
FLIGHT_BUFFER_MINNoBuffer in minutes for flight arrival/departure. Default is 120.120
PROVIDERS_DISABLEDNoComma-separated list of providers to disable. A failing source never fails a search.
PROVIDER_DEADLINE_MSNoTime limit in milliseconds for each source per search. Default is 20000.20000
METRO_TRAFFIC_MULTIPLIERNoTraffic multiplier applied to drive times in the 8 largest metros. Default is 1.5.1.5
OTHER_TRAFFIC_MULTIPLIERNoTraffic multiplier applied to drive times outside the largest metros. Default is 1.2.1.2
ENABLE_UNOFFICIAL_SOURCESNoSet to true to enable unofficial sources (currently Xotelo). Default is false.false

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_data_sourcesA

Lists every data source this server uses: hotel price sources, hotel location data, geocoding, routing and bundled datasets. For each it gives whether it is enabled, whether it is official or an unofficial third-party endpoint, recent success/failure, remaining quota and known limitations. Bundled datasets include their build date and licence. Does not fetch any hotel data.

resolve_placeA

Turns a name or code into coordinates, or coordinates into nearby transport points. With query: matches railway station codes and names, airport IATA codes and names, bus stations, and landmarks or localities via OpenStreetMap geocoding, returning ranked matches with kind, code and lat/lng. With lat/lng: returns the nearest railway stations (within 10 km), airports with IATA codes (within 60 km) and bus stations (within 5 km), with straight-line distances. Does not search hotels.

search_hotelsA

Finds hotels around a place in India for given dates, with live prices from several meta-search sources merged per hotel. The place is one of: lat+lng, an Indian Railways station code, an airport IATA code, or a place name. Returns each hotel's id, coordinates, straight-line distance, stars, guest rating and cheapest current price in INR (with original currency, seller and source). With max_drive_minutes, keeps only hotels within that drive time (OpenStreetMap routing with a traffic allowance) and adds drive_minutes. Results are paginated. Per-seller prices are in get_hotel_rates; times to other places are in compare_hotels. Does not book.

get_hotel_ratesA

Fetches current prices for one hotel from every source for the given dates and lists them per booking site (e.g. Booking.com, Agoda, Trip.com, MakeMyTrip, the hotel's own site), cheapest first, in INR with the original currency, tax status, availability and links. The hotel is a hotel_id from search_hotels or plan_stays, or a name with lat/lng. Does not book.

travel_timesA

Computes road distance and travel time from each origin to each destination in India (a matrix), by car or on foot. Each place is lat+lng, a railway station code, an airport IATA code or a place name. Returns straight-line km, road km, free-flow minutes and traffic-adjusted minutes per pair, with a warning when a point is far from any road. Does not cover public transport or flights.

compare_hotelsA

Compares up to 10 hotels by travel time to a set of labelled places, such as tonight's arrival station, tomorrow's departure airport and attractions. Hotels are hotel_ids from search_hotels (which also supplies their cheapest price) or name + lat/lng. Places are lat+lng, station code, IATA code or place name. Returns, per hotel, the time and distance to every place, total minutes, the cheapest price from the search that found it (with its source, fetch time and dates) and a rank by total minutes. Does not fetch new prices; get_hotel_rates does.

plan_staysA

Plans where to stay for each stop of a trip in India. Each stay is an arrival (place + time) and the next departure (place + time); places are lat+lng, station code, IATA code or place name, so train and flight times from any source can be passed in. For every stay it works out check-in/check-out dates (early-morning arrivals book the previous night), searches hotels near the arrival point and, if elsewhere, the departure point, and ranks them by nightly price plus drive time from arrival and to departure (valued at value_of_time_inr_per_hour). Returns candidates with leave-by times that include a check-in buffer for trains or flights, IRCTC retiring-room options for 3–48 h stays at stations, and warnings for late arrivals, early departures and same-day stays. Does not book.

find_retiring_roomsA

Lists Indian Railways stations that have IRCTC retiring rooms (rooms and dormitories inside the station for ticketed passengers), at a station code or within a radius of a place. Returns station code, name, operator and distance, the booking rules, indicative price ranges and the IRCTC booking portal link. Live availability and exact prices are not available here: they need a Confirmed or RAC PNR on the IRCTC portal.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 8 tools

Disambiguation4/5

Descriptions are unusually explicit and cross-reference each other ('Per-seller prices are in get_hotel_rates', 'Does not fetch new prices; get_hotel_rates does'), cleanly separating search_hotels, get_hotel_rates, compare_hotels and plan_stays. There is mild conceptual overlap since search_hotels, compare_hotels and plan_stays all surface and rank hotels, and travel_times overlaps with compare_hotels' routing, but the boundaries are well spelled out.

Naming Consistency5/5

All eight tools use consistent snake_case verb_noun (or verb_theme) form: search_hotels, get_hotel_rates, get_data_sources, resolve_place, travel_times, compare_hotels, plan_stays, find_retiring_rooms. Verb-first, lowercase, predictable throughout.

Tool Count5/5

Eight tools is a well-scoped set for a hotel-search and stay-planning server, with each tool covering a distinct capability (search, rates, geocoding, routing, comparison, trip planning, retiring rooms, source metadata). No redundant or filler tools.

Completeness4/5

The surface covers the full research/planning lifecycle for Indian hotel stays: place resolution, hotel search, per-source rates, travel-time matrices, hotel comparison, multi-stop planning and retiring rooms, with a clear intentional boundary on booking. Minor gaps remain (no hotel detail/amenities lookup, no saved-trip or booking handoff), but core workflows are covered without dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues