Skip to main content
Glama

Get room rates

get_hotel_pricing
Read-onlyIdempotent

Get public room rates for a hotel (the hotel's own public rate; booking on Roomza never costs more). Pass check_in and check_out dates (YYYY-MM-DD) to get nightly from-prices per room type. Without dates, returns the hotel's typical nightly from-price. No booking links; to price and book an exact room, use secure_room.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
check_inNoCheck-in date in YYYY-MM-DD format (defaults to today)
hotel_idYesHotel UUID (the URL slug also works)
check_outNoCheck-out date in YYYY-MM-DD format (defaults to tomorrow)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteYes
foundYesfalse when the hotel is unknown
nightsYes
checkInYes
checkOutYes
currencyYes
hotelNameYes
roomTypesYesPer-room-type from-prices when dates were given and live rates exist
typicalNightlyFromYesHotel-level typical nightly from-price in dollars

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedInput schema / properties / hotel_id / description
      Previous value: -"Hotel UUID"New value: +"Hotel UUID (the URL slug also works)"
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "checkIn": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "checkOut": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "currency": {
      +      "type": "string"
      +    },
      +    "found": {
      +      "description": "false when the hotel is unknown",
      +      "type": "boolean"
      +    },
      +    "hotelName": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "nights": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "note": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "roomTypes": {
      +      "description": "Per-room-type from-prices when dates were given and live rates exist",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "fromNightly": {
      +            "description": "Nightly from-price in whole dollars, hotel's own public rate",
      +            "type": "number"
      +          },
      +          "name": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "fromNightly"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "typicalNightlyFrom": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Hotel-level typical nightly from-price in dollars"
      +    }
      +  },
      +  "required": [
      +    "found",
      +    "hotelName",
      +    "currency",
      +    "checkIn",
      +    "checkOut",
      +    "nights",
      +    "roomTypes",
      +    "typicalNightlyFrom",
      +    "note"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already establish readOnlyHint=true and idempotentHint=true, and the description adds behavioral context beyond that: rates are public, no booking links are returned, and date presence changes the output granularity. It also notes the rate is the hotel's own public rate with a guarantee that booking on Roomza never costs more. No contradiction with annotations.

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 three tightly written sentences. The main action is front-loaded, the date behavior is explained immediately, and the sibling route is named in the closing sentence. Every sentence contributes a distinct piece of actionable information.

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 a low-complexity tool, full schema coverage, and an output schema present, the description is complete. It explains the primary behavior, the optional-date behavior, the booking alternative, and the absence of booking links. No critical gap remains for an agent to invoke the tool correctly.

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 schema already covers 100% of parameters with descriptions, including date format and defaults. The description adds extra meaning by explaining how the combination of check_in and check_out affects the result (nightly per-room-type prices versus typical nightly from-price). This goes beyond the schema baseline of 3, though the schema already carries substantial weight.

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?

The description uses a specific verb and resource: "Get public room rates for a hotel." It clearly states the output is nightly from-prices per room type and explicitly distinguishes itself from secure_room by saying "No booking links." This differentiates it from sibling tools like get_hotel_rooms, show_rooms, and secure_room.

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?

The description provides clear conditions: pass check_in and check_out dates for nightly from-prices, or omit dates for typical nightly from-price. It also explicitly tells the agent when to use secure_room instead: "to price and book an exact room." This covers both when to use and when not to use this tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose: searching, retrieving details, pricing, rooms, reviews, nearby places, user-specific actions (preferences, trips), booking, and presentation. The overlap between get_hotel and ask_about_hotel is intentional and clearly differentiated (ask is for supplementary questions), and get_hotel_rooms vs show_rooms are also distinct (list vs present).

Naming Consistency5/5

All tools follow a consistent verb_noun pattern: get_hotel, get_hotel_pricing, get_hotel_rooms, get_my_preferences, get_my_trips, get_nearby, get_recent_reviews, search_hotels, secure_room, show_rooms, add_special_request, ask_about_hotel. The only minor variation is 'ask_about_hotel' but it's still verb-based and follows the same structure.

Tool Count5/5

Twelve tools is well within the optimal range for a domain of this scope. The toolset covers the core lifecycle (search, view, price, book, add request, view trips) plus supporting functions (reviews, nearby, user preferences, presentation). No redundant or superfluous tools exist.

Completeness4/5

The toolset covers the primary hotel intelligence and booking workflow thoroughly: search, detail, pricing, rooms, booking, special requests, and user data. Slight gap: no explicit cancellation or booking modification tool, but given the server's focus on intelligence and presentation, this is a minor omission that agents can work around.

Resources