Skip to main content
Glama

HotelRunner MCP by usefulapi

List reservations

hotelrunner_list_reservations
Read-only

List reservations of the property (new, modified, canceled), newest data first as HotelRunner returns them, 1-50 per page. By default ALL reservations created in the window are returned (this tool sets undelivered=false, so reading does not depend on a PMS having fetched them). from_date is the creation date (HotelRunner keeps at most 30 days back; default 10 days); from_last_update_date finds reservations changed since a date. detail 'summary' (default) gives guest, dates, rooms, totals, payment state and contact; 'full' returns the whole vendor record including billing address, national id, daily prices and extras. Reply: items, count, page, pages, next_page. Counts as one of the property's 250 requests per day (5 per minute). GET /api/v2/apps/reservations.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, from 1 (default 1). Pass the previous reply's next_page.
bookedNotrue = only new (not modified) bookings.
detailNo'summary' (default) or 'full' vendor records (large).
modifiedNotrue = only modified reservations.
per_pageNoReservations per page, 1-50 (default 10).
from_dateNoOnly reservations created on/after this date, yyyy-mm-dd (max 30 days back; default 10 days back).
from_last_update_dateNoOnly reservations updated on/after this date, yyyy-mm-dd.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Far beyond annotations, it discloses that the tool sets undelivered=false so reading doesn't depend on a PMS fetch, that results are newest-first, the 30-day retention ceiling, and the 250/day and 5/minute rate limits. It even names the underlying endpoint (GET /api/v2/apps/reservations), so the agent knows this is a read-only HTTP call with real quota cost.

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?

Purpose and scope are front-loaded, and the 'Reply:' and endpoint clauses are compact. It is a dense single block, though, with the rate-limit caveat trailing at the end, which costs a little scannability rather than wasting words.

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 no output schema, the description compensates by naming the reply fields (items, count, page, pages, next_page) and what summary vs full records include. Combined with the date-window and quota notes, an agent has everything needed to call this tool correctly on the first try.

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 the schema already carries the parameter docs and 3 would be the baseline. The description still adds genuine meaning: from_date is the creation date (not an arbitrary filter), the default 10-day and 30-day ceilings, what 'summary' actually contains, and the implicit undelivered=false flag. The page/booked/modified parameters are left to the schema.

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 opens with a concrete verb and resource ('List reservations of the property') and immediately scopes it (new, modified, canceled; newest first; 1-50 per page). That framing separates it cleanly from the singular sibling hotelrunner_get_reservation and from state-mutating siblings like update_reservation_state.

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?

It explains the choice between from_date (creation date, max 30 days back, default 10) and from_last_update_date (changed since), and when to pick detail 'summary' vs 'full'. It also states pagination via next_page. What it lacks is an explicit pointer to get_reservation for a single record, so sibling routing is left implicit.

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.