Skip to main content
Glama

HotelMonitor hotel prices

Server Details

Hotel price history in GBP: is a quoted price good, cheapest months to visit, and current deals.

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
Uptime
99.8% over 26 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool answers a distinct question: a verdict on a specific quoted price (check_hotel_price), deal discovery with filters (find_hotel_deals), and seasonal typical prices for a destination (get_destination_prices). The boundaries between hotel-specific evaluation, deal listing, and destination aggregates are clear and unlikely to be confused.

Naming Consistency5/5

All three names follow a strict verb_noun snake_case pattern (check_hotel_price, find_hotel_deals, get_destination_prices) with consistent, meaningful verbs and nouns.

Tool Count4/5

Three tools is on the lean side but each maps to a genuine user question, so nothing is redundant. A slightly richer surface (e.g. direct hotel lookup) would round it out, but the count is defensible for this narrow purpose.

Completeness4/5

The surface covers the three core workflows: judging a quote, finding deals, and choosing a cheap month for a destination, with page_url/book_url giving escape hatches to history and booking. A gap remains in retrieving a specific hotel's typical price without an existing quote, but that is a minor workaround-level omission.

Available Tools

3 tools
check_hotel_priceCheck a hotel priceA
Read-onlyIdempotent
Inspect

Say whether a price the person has been quoted for a hotel is high, low or usual for that hotel in that month, using HotelMonitor's own scans. Use it when someone asks "is this a good price?". Returns no verdict when there is not enough data. Prices are tax-inclusive nightly figures for two adults from past scans (the Agoda share is an estimate of tax), not a live quote. Results include page_url (price history) and book_url (a booking-site link with the dates filled in) for checking the current price.

NameRequiredDescriptionDefault
perYesIs price per night or for the whole stay?
viaNoOptional short name of your app or assistant (lower-case letters, digits, - or _), used in booking links so we can see where visits come from.
hotelYes
priceYesIn GBP.
adultsNo
checkinYesYYYY-MM-DD, today or later.
checkoutNoYYYY-MM-DD. Required when per is "stay". At most 30 nights.
destinationYesDestination slug, e.g. tenerife, new-york, algarve.

Output Schema

NameRequiredDescription
hintNo
errorNo
hotelNo
monthNo
notesNo
scansNo
nightsNo
reasonNo
verdictNo
book_urlNo
page_urlNo
requestedNo
watch_urlNo
comparisonNo
data_as_ofNo
destinationNo
month_labelNo
suggestionsNo
samples_noteNo
below_lowest_seenNo
valid_destinationsNo
destination_contextNo
typical_nightly_gbpNo
cheapest_month_aheadNo
lowest_seen_nightly_gbpNo
your_price_per_night_gbpNo

TDQS

A4.3/5.0
Behavior5/5

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

Goes well past the annotations: it discloses that no verdict is returned when data is insufficient, that prices are tax-inclusive nightly figures for two adults from past scans rather than live quotes, and that the Agoda share is estimated tax. It also explains the page_url and book_url outputs, which is meaningful behavioral context an agent cannot infer from readOnlyHint.

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 core judgment and its trigger come first, followed by data caveats and output notes, so it is well front-loaded. It is somewhat dense across five sentences, but each carries distinct information rather than restating the schema.

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 an 8-parameter tool with an output schema, it supplies everything that matters: what the verdict means, when no verdict appears, the provenance and currency basis of prices, and the purpose of the returned links. Nothing an agent needs to call or interpret this tool correctly is missing.

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 75%, and the description adds interpretation the schema lacks: the price is a tax-inclusive nightly figure for two adults, establishing the basis against which the quote is judged. It also explains that book_url has dates filled in, tying checkin/checkout to output. It says nothing about the destination slug format or the 'via' attribution parameter, which the schema covers only partly.

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

Purpose4/5

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

States a specific verb and resource: judging whether a quoted hotel price is high, low or usual for that hotel in that month, based on HotelMonitor scans. It is clearly distinguishable in substance from find_hotel_deals and get_destination_prices, though those siblings are never named.

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

Usage Guidelines4/5

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

Gives an explicit triggering context ('Use it when someone asks "is this a good price?"'), which is exactly the routing signal an agent needs. It does not say when to prefer find_hotel_deals or get_destination_prices instead, so exclusions are absent.

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

find_hotel_dealsFind hotel dealsA
Read-onlyIdempotent
Inspect

Current hotel deals from the latest scans (at most 20): hotels priced below their typical level, optionally for one destination, check-in month or maximum nightly price. Prices are tax-inclusive nightly figures for two adults from past scans (the Agoda share is an estimate of tax), not a live quote. Each deal includes page_url (price history) and book_url (a booking-site link with the dates filled in) for checking the current price.

NameRequiredDescriptionDefault
viaNoOptional short name of your app or assistant (lower-case letters, digits, - or _), used in booking links so we can see where visits come from.
monthNoYYYY-MM check-in month.
max_priceNoMaximum price per night in GBP.
destinationNo

Output Schema

NameRequiredDescription
hintNo
dealsNo
errorNo
notesNo
page_urlNo
requestedNo
suggestionsNo
valid_destinationsNo

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/non-destructive annotations, it discloses the result cap (at most 20), the provenance and staleness of data (past scans, not a live quote), the pricing basis (two adults, tax-inclusive, Agoda share is an estimated tax), and what the returned URLs are for. That is exactly the kind of context annotations cannot carry.

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?

Three sentences, front-loaded with what a deal is, then filters, then price caveats and return fields. Dense but nearly every clause earns its place; the Agoda tax-estimate parenthetical is the one detail that could be trimmed.

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?

Complete for a filtered discovery tool: filters, result limit, data freshness, price basis, and guidance on the two returned URLs. With an output schema present, it still usefully explains the semantics of page_url and book_url without over-specifying return structure.

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?

The description adds real meaning beyond the schema: filters are all optional ('optionally for one destination, check-in month or maximum nightly price'), and prices are tax-inclusive nightly figures for two adults, which gives max_price a unit context the schema only partially supplies (GBP). The 'via' parameter is documented in the schema but not echoed here.

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

Purpose4/5

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

States a specific verb+resource with scope: 'current hotel deals... hotels priced below their typical level,' capped at 20 results, with optional destination/month/price filters. It implicitly separates itself from the sibling price-lookup tools by stressing these come from past scans and are 'not a live quote,' though it never names check_hotel_price or get_destination_prices directly.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: an agent can infer that book_url/page_url are the path to a live price check, and that this tool is for deal discovery rather than a specific quote. There is no explicit 'use this when X, use check_hotel_price when Y' routing or exclusion.

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

get_destination_pricesDestination prices by monthA
Read-onlyIdempotent
Inspect

Typical nightly hotel price by month for a destination over the coming months, and its cheapest months. Months with too few scans are left out. Use it for "when is it cheapest to go to X?". Prices are tax-inclusive nightly figures for two adults from past scans (the Agoda share is an estimate of tax), not a live quote. Results include page_url (price history) and, for each month, book_url (a booking-site search with dates in that month filled in) for checking current prices.

NameRequiredDescriptionDefault
viaNoOptional short name of your app or assistant (lower-case letters, digits, - or _), used in booking links so we can see where visits come from.
destinationYesDestination slug, e.g. tenerife.

Output Schema

NameRequiredDescription
hintNo
slugNo
errorNo
notesNo
monthsNo
book_urlNo
page_urlNo
requestedNo
watch_urlNo
data_as_ofNo
destinationNo
suggestionsNo
book_url_monthNo
cheapest_monthsNo
valid_destinationsNo

TDQS

A4.3/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: data comes from past scans, is tax-inclusive for two adults, includes an Agoda tax estimate, omits months with too few scans, and is not a live quote. It also explains page_url and book_url behavior, which is valuable context for interpreting results.

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

Conciseness5/5

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

The description is compact for the amount of useful information it conveys, with the primary purpose and use case front-loaded before caveats about data freshness and links. Every sentence adds value.

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?

Given the output schema exists, the description is sufficiently complete: it covers data provenance, the distinction from live quotes, omitted months, and what the returned links are for. Combined with the rich read-only annotations, an agent has what it needs to invoke and interpret the tool correctly.

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

Parameters3/5

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

The schema already describes both parameters at 100% coverage, including the destination slug format and the optional via attribution. The description does not add further parameter-level meaning, so the baseline 3 is appropriate.

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

Purpose4/5

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

States a specific resource and scope: typical nightly hotel price by month for a destination over coming months, plus cheapest months. It clearly distinguishes itself from a live quote and from generic hotel search, though it does not name the sibling tools it is not.

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

Usage Guidelines4/5

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

Gives an explicit use case, "when is it cheapest to go to X?", and clarifies that results are historical estimates, not live quotes, with booking URLs for checking current prices. It does not explicitly exclude or compare against check_hotel_price and find_hotel_deals, so it falls short of a 5.

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. 1 tool update
    • Changedfind_hotel_deals6 fields changed
      • changedOutput schema / anyOf
        Previous value: -[
        -  {
        -    "required": [
        -      "deals",
        -      "page_url",
        -      "notes",
        -      "data_as_of"
        -    ]
        -  },
        -  {
        -    "required": [
        -      "error"
        -    ]
        -  }
        -]New value: +[
        +  {
        +    "required": [
        +      "deals",
        +      "page_url",
        +      "notes"
        +    ]
        +  },
        +  {
        +    "required": [
        +      "error"
        +    ]
        +  }
        +]
      • removedOutput schema / properties / data_as_of
        Removed value: -{
        -  "type": "string"
        -}
      • addedOutput schema / properties / deals / items / properties / scanned_at
        Added value: +{
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedOutput schema / properties / deals / items / properties / typical_basis
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / deals / items / properties / typical_per_night_gbp / type
        Previous value: -[
        -  "number",
        -  "null"
        -]New value: +"number"
      • changedOutput schema / properties / deals / items / required
        Previous value: -[
        -  "hotel",
        -  "checkin",
        -  "checkout",
        -  "price_per_night_gbp",
        -  "typical_per_night_gbp",
        -  "page_url",
        -  "book_url"
        -]New value: +[
        +  "hotel",
        +  "checkin",
        +  "checkout",
        +  "price_per_night_gbp",
        +  "page_url",
        +  "book_url"
        +]
  2. 3 tool updates
    • First observedcheck_hotel_price
    • First observedfind_hotel_deals
    • First observedget_destination_prices

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources