Skip to main content
Glama

Hotelumo Hotel Operations

List rate plans and base prices

list_rate_plans
Read-onlyIdempotent

Use this when someone asks what rate plans a hotel sells, such as room-only or breakfast-included rates, and their base prices. Returns each plan's title, room type, base price in minor currency units, meal plan, per-room or per-person pricing and default flag, 20 per page by default. Not for prices on specific dates.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoRate plans per page, from 1 to 100; defaults to 20
offsetNoRate plans to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit
hotelIdYesHotel id: 24 lowercase hexadecimal characters
roomTypeIdNoOnly this room type (24 lowercase hexadecimal characters)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageYeshasMore is true when another page exists; request it with offset + limit
ratePlansYesbasePrice is in integer minor currency units. Channel-manager mappings, integration metadata and credentials are excluded.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • changedInput schema / properties / hotelId / description
      Previous value: -"24-character lowercase hexadecimal hotel id"New value: +"Hotel id: 24 lowercase hexadecimal characters"
    • addedInput schema / properties / limit / description
      Added value: +"Rate plans per page, from 1 to 100; defaults to 20"
    • addedInput schema / properties / offset / description
      Added value: +"Rate plans to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit"
    • addedInput schema / properties / roomTypeId / description
      Added value: +"Only this room type (24 lowercase hexadecimal characters)"
    • addedOutput schema / properties / page / description
      Added value: +"hasMore is true when another page exists; request it with offset + limit"
    • addedOutput schema / properties / ratePlans / description
      Added value: +"basePrice is in integer minor currency units. Channel-manager mappings, integration metadata and credentials are excluded."
    • removedOutput schema / properties / ratePlans / items / properties / rateMode / $ref
      Removed value: -"#/properties/ratePlans/items/properties/title"
    • addedOutput schema / properties / ratePlans / items / properties / rateMode / anyOf
      Added value: +[
      +  {
      +    "$ref": "#/properties/ratePlans/items/properties/title/anyOf/0"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / ratePlans / items / properties / rateMode / description
      Added value: +"manual or derived"
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the read-only/idempotent/non-destructive profile, but the description adds genuinely new context: the returned field set (title, room type, base price, meal plan, per-room/per-person, default flag) and the pagination default of 20 per page. It does not mention auth requirements or total-count behavior, so not a full 5.

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?

Three tight sentences: trigger, returned payload, then exclusion. Front-loaded and every clause carries 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 an output schema present and full schema coverage, the description need only establish purpose, scope, and the date-specific exclusion, all of which it does. Nothing essential for correct invocation is missing.

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?

Schema coverage is 100%, so all four parameters including limit/offset syntax are already documented in the schema. The description only restates the 20-per-page default, adding no meaning beyond the schema; baseline 3 applies.

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 concrete verb+resource (list rate plans) plus what is returned (base prices), and explicitly carves out the boundary against date-specific pricing. An agent can distinguish it from list_daily_rates without reading any schema.

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 a clear triggering condition ('when someone asks what rate plans a hotel sells... and their base prices') and an exclusion ('Not for prices on specific dates'). It stops short of naming the alternative tool to use instead, leaving that inference to the agent.

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.

Resources