Skip to main content
Glama

Brek - Hotel Wholesale Booking

Server Details

Search hotels, compare room offers and public or masked wholesale rates, then continue on Brek.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP ยท MCP 2025-11-25
URL

TDQS

A4.5/5.0

Scored across 3 tools

Disambiguation4/5

The three tools split cleanly along search vs. undated property facts vs. dated live offers, and the descriptions explicitly state what each excludes (e.g., details has no availability or prices). The only risk is that get_accommodation_details and get_accommodation_offers both accept the same propertyId/hotelName identifiers and both return property data, so an agent could pick the wrong one for a vague 'tell me about this hotel' request.

Naming Consistency4/5

All three follow a clear verb_noun pattern (search_/get_ + resource), which is predictable and readable. The minor deviation is singular 'accommodation' in the get_ tools versus plural 'accommodations' in search, plus the noun is repeated across all names.

Tool Count4/5

Three tools map exactly to the three core jobs of a wholesale hotel lookup: discover/compare, inspect a property, and price a specific stay. It is on the lean side, but each tool clearly earns its place and nothing appears redundant.

Completeness4/5

Discovery, property facts, and dated room offers with pricing form a coherent read-only lifecycle, and the descriptions signal that actual booking/purchase happens on Brek. The gap is that no reservation or availability-check operation exists, so an agent cannot complete a booking end to end within this surface.

Available Tools

3 tools
get_accommodation_detailsGet undated hotel factsA
Read-onlyIdempotent
Inspect

Returns undated facts for one identified Brek property ID, including address, description, photos, amenities, check-in and checkout times, star rating, and guest-review data. When the user refers to a hotel from a previous search_accommodations result by full or partial name or list position, copy that result's propertyId exactly if the match is unique; never shorten, combine, or use a placeholder ID. Ask for clarification if several hotels match. If no exact property ID is available, hotelName and optional destination can identify a unique hotel. No stay dates are needed. Availability, room offers, prices, breakfast, and cancellation terms are not included.

NameRequiredDescriptionDefault
currencyNoOnly specify a currency when the traveler explicitly requests one. Otherwise omit it so Brek can use the visitor country, then locale, then USD. Supported: EUR, USD, INR, GBP, AUD, CAD, ARS, TRY, COP, CLP, SEK, MXN, IDR, BRL.
hotelNameNoHotel name when no propertyId is available; a unique match is required.
propertyIdNoExact Brek property ID copied from a previous search result. Do not guess, truncate, combine, or pass a placeholder; use hotelName if unsure.
destinationNoOptional city or region to disambiguate hotelName.

Output Schema

NameRequiredDescription
idYes
nameYes
imagesYes
statusNo
addressYes
latitudeYes
amenitiesYes
longitudeYes
highlightsYes
starRatingYes
checkinFromYes
descriptionYes
reviewCountYes
reviewScaleYes
reviewScoreYes
propertyTypeYes
checkoutUntilYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds genuine context beyond them: the no-dates constraint, the strict ID-integrity rule (never shorten, combine or placeholder), and an explicit list of data that is not returned. These are real behavioral constraints an agent cannot infer from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The identifying behavior and usage rules are front-loaded in the first two sentences, and every clause carries an actionable constraint. It runs slightly long with some repetition of the ID-integrity warning that also appears in the schema, but nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description does not need to explain return values and correctly focuses on identity resolution and scope boundaries. For a four-optional-parameter lookup tool, everything needed to call it correctly is stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameter documentation is already strong and the baseline is 3. The description adds priority semantics between propertyId and hotelName, including when to prefer the fallback, which the schema hints at but does not fully rank.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Returns undated facts for one identified Brek property ID') and enumerates the payload fields (address, photos, amenities, check-in/out, rating, reviews). It also explicitly excludes availability, room offers, prices, breakfast and cancellation terms, which cleanly separates it from get_accommodation_offers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete routing rules: copy the propertyId from a prior search_accommodations result when the user references a hotel by name or list position, fall back to hotelName plus optional destination when no ID exists, and ask for clarification if multiple hotels match. It also notes no stay dates are needed, so the agent knows when NOT to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_accommodation_offersGet one hotel's full-stay rooms and pricesA
Read-onlyIdempotent
Inspect

Returns one named or identified hotel's full-stay property data and live room offers for specified dates and occupancy. When the user refers to a hotel from a previous search_accommodations result by list position or partial name, copy its propertyId exactly if the match is unique; never shorten, combine, or use a placeholder ID. Ask for clarification if several hotels match. Use hotelName and optional destination when no exact propertyId is available. Includes wholesale room types and photos, breakfast, refundability, cancellation terms, public-rate comparisons, masked wholesale rate bands, and Brek links. Public-only room types are excluded. Wholesale options priced above their public comparison are marked sold_out without a price; the public comparison remains available. Single-room and multi-room stays are supported through aggregate occupancy plus optional per-room arrangements. Exact private wholesale prices are available on Brek.

NameRequiredDescriptionDefault
roomsNoNumber of rooms. Each room requires at least one adult.
adultsNoTotal adult guests.
currencyNoOnly specify a currency when the traveler explicitly requests one. Otherwise omit it so Brek can use the visitor country, then locale, then USD. Supported: EUR, USD, INR, GBP, AUD, CAD, ARS, TRY, COP, CLP, SEK, MXN, IDR, BRL.
timeZoneNoOptional IANA time-zone fallback for resolving relative stay dates; destination or property location takes precedence.
hotelNameNoExact hotel name when propertyId is unavailable.
dateIntentNoUse only when the user explicitly requests tonight. Resolves check-in as the current local date and check-out as the following date; otherwise provide both stay dates.
propertyIdNoExact Brek property ID copied from a previous search result or Brek stay URL. Do not guess, truncate, combine, or pass a placeholder; use hotelName if unsure.
checkinDateNoRequired with checkoutDate unless the user explicitly requested tonight. Use YYYY-MM-DD.
destinationNoOptional city or region for disambiguating hotelName.
checkoutDateNoRequired with checkinDate unless the user explicitly requested tonight. Use YYYY-MM-DD.
childrenAgesNoAge of each child at check-in.
roomArrangementsNoExact per-room occupancy. Example: room 1 has 2 adults and room 2 has 2 adults plus children ages 4 and 2 => [{adults:2,childrenAges:[],infants:0},{adults:2,childrenAges:[4,2],infants:0}]. Array length equals rooms, and aggregate guests equal adults and childrenAges.
availabilityTokenNo

Output Schema

NameRequiredDescription
stayYes
offersYes
statusNo
propertyYes
propertyIdYes
priceDisclosureYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld, so the bar is low, yet the description still adds substantial behavior: public-only room types are excluded, wholesale options above their public comparison are marked sold_out with no price while the public comparison remains, and exact private prices live on Brek. These are non-obvious result-shaping rules an agent needs to interpret output correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then the ID-resolution rule, then result contents and edge cases. Dense and mostly waste-free, though the final three sentences on rate bands, exclusions, and Brek pricing could be tightened into a single bullet-like clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter tool with an output schema, this covers everything an agent must know: how to identify the hotel, how occupancy maps to rooms, and what quirks to expect in the returned offers. Nothing material is left to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 92%, so the baseline is 3, but the description adds real value beyond the schema: the propertyId provenance rule and the aggregate-occupancy-vs-per-roomArrangements relationship for multi-room stays. It does not re-explain currency, time zone, or dateIntent, which the schema already covers well, keeping it above baseline without being exhaustive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb and resource: returns one identified hotel's full-stay property data plus live room offers for given dates and occupancy. It is clearly distinguishable from search_accommodations (which produces the propertyId you pass in here) and implicitly from get_accommodation_details by its focus on priced room offers rather than general details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes between two identification paths: copy propertyId verbatim from a prior search_accommodations result when unique, otherwise fall back to hotelName plus optional destination. It also states the when-not case (ask for clarification on ambiguous matches) and forbids shortening/combining/placeholder IDs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_accommodationsSearch multiple Brek hotelsA
Read-onlyIdempotent
Inspect

Searches and compares multiple hotels in a city, neighborhood, airport, landmark, or other destination. Every search requires both checkinDate and checkoutDate, or dateIntent=tonight when the user explicitly asks for tonight. If the user supplied neither, ask for stay dates before calling; do not choose dates for them. Supports occupancy, price range, star rating, guest score, property types, amenities, cancellation preference, and sort order. Returns an ordered list with property IDs, hotel facts, masked wholesale price bands, public-rate comparisons, and Brek links. For a follow-up by position or partial hotel name, match against the most recent relevant search list. If one hotel matches, copy its propertyId exactly into get_accommodation_details or get_accommodation_offers; never shorten, combine, or replace IDs with placeholders. If the ID is unavailable, pass hotelName and optional destination instead. If several hotels match, ask which hotel the user means. Intended for destination discovery and multi-hotel comparison; room-level offers for one property are not included. Exact private wholesale prices are available on Brek.

NameRequiredDescriptionDefault
pageNo
sortNoResult order: top-picks, distance, total price ascending, total price descending, or guest reviews.top-picks
roomsNoNumber of rooms. Each room receives the default of 2 adults when adults is omitted.
adultsNoTotal adult guests. When omitted, Brek defaults to 2 adults per room.
childrenNoTotal child guests; when omitted, uses childrenAges.length.
currencyNoOnly specify a currency when the traveler explicitly requests one. Otherwise omit it so Brek can use the visitor country, then locale, then USD. Supported: EUR, USD, INR, GBP, AUD, CAD, ARS, TRY, COP, CLP, SEK, MXN, IDR, BRL.
latitudeNoOptional latitude when already known.
timeZoneNoOptional IANA time-zone fallback for resolving relative stay dates; destination or property location takes precedence.
amenitiesNoAmenities required in every result.
longitudeNoOptional longitude when already known.
dateIntentNoUse only when the user explicitly requests tonight. Resolves check-in as the current local date and check-out as the following date; otherwise provide both stay dates.
checkinDateNoRequired with checkoutDate unless the user explicitly requested tonight. Use YYYY-MM-DD.
destinationYesCity, neighborhood, airport, landmark, or other broad destination.
starRatingsNoExact accepted hotel star classifications.
user_localeNoOptional traveler locale from the Claude client context, such as en-US. Omit if unavailable; do not infer it from the hotel destination.
checkoutDateNoRequired with checkinDate unless the user explicitly requested tonight. Use YYYY-MM-DD.
childrenAgesNoAge of every child at check-in. The array length must equal children.
maximumPriceNoMaximum nightly price in the selected currency.
minimumPriceNoMinimum nightly price in the selected currency.
propertyTypesNoAccepted accommodation types, such as hotel, motel, resort, hostel, or apartment.
minimumStarRatingNoMinimum hotel star classification from 1 to 5; distinct from guest review score.
minimumReviewScoreNoMinimum guest review score out of 10; distinct from hotel star classification.
user_location_cityNoOptional approximate traveler city supplied by the Claude client. Omit if unavailable; this is not the hotel destination.
freeCancellationOnlyNoWhether results require free cancellation or refundable rates.
user_location_regionNoOptional traveler state or region supplied by the Claude client. Omit if unavailable; do not infer it from the hotel destination.
user_location_countryNoOptional two-letter traveler country supplied by the Claude client, such as US. Omit if unavailable; do not infer it from the hotel destination.
user_location_timezoneNoOptional IANA timezone of the traveler supplied by the Claude client. Omit if unavailable; this does not set the hotel's local stay dates.

Output Schema

NameRequiredDescription
pageYes
totalYes
searchYes
statusNo
messageNo
totalPagesYes
requiredInputNo
accommodationsYes
priceDisclosureYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, yet the description still discloses that results carry masked wholesale price bands with public-rate comparisons and that exact wholesale prices live on Brek. It also warns that ID handling must be verbatim, which is real behavioral guidance. Pagination and result-size behavior are not described, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then date rules, then filters, then return shape, then follow-up routing โ€” a sensible precedence order with no filler. It runs long and the closing line about exact prices on Brek is closer to marketing than instruction, which costs it the top mark.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 27-parameter tool the description covers the hard parts: when it is legal to call (dates), what comes back at a high level, and how to continue after the call. The output schema documents the return payload and the input schema documents every field at 96% coverage, so nothing essential is left for the description to carry.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 96%, so the schema carries most semantics and baseline 3 applies. The description still adds decision-level meaning the schema cannot: the date invariant, the dateIntent fallback, and a grouped inventory of the filter families (occupancy, price range, stars, guest score, property types, amenities, cancellation, sort) so the agent knows what is available without reading 27 properties.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("searches and compares multiple hotels") plus the destination scope, and closes with an explicit exclusion: "room-level offers for one property are not included." That sentence alone separates it from get_accommodation_offers and get_accommodation_details without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete gating conditions (both stay dates required, or dateIntent=tonight only on explicit request) and an instruction for the missing case: ask the user, never pick dates. It also routes follow-ups: single match goes to get_accommodation_details or get_accommodation_offers, multiple matches require asking the user.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedget_accommodation_details
    • First observedget_accommodation_offers
    • First observedsearch_accommodations

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    Official MCP server for MAQAMI, a hotel and flight booking platform with 3M+ hotels. Search live hotel rates and flights, look up places, airports and hotel details, then prebook and book. Remote Streamable HTTP endpoint, no API key required.
    41
    56 npm
    2
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to search hotel rooms by number of nights within a flexible date range, returning real prices and the cheapest deals with booking links. It also supports city resolution, hotel listing, and offer details for external booking completion.
    4
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to search and book hotels globally with real-time pricing and inventory from over 2 million properties.
    46
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources