mcpbeat Sign in

HotelRunner MCP by usefulapi MCP Server

answering

HotelRunner MCP by usefulapi is answering right now. Last checked 11 min ago. It exposes 8 tools. Last commit 26 Oct 2026.

Read HotelRunner reservations, rooms, channels; update availability and prices; confirm or cancel.

Uptime history 30 hours of history
30 hours agonow
100.0%
Uptime 24h
91 of 91 checks
8
Tools
read from the server
376 ms
Response time
average over 24h
0
Stars
last commit 26 Oct 2026

What changed 4

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 25 October 2026. No other catalogue keeps this.

25 Oct a tool changed version4 times that day
and 3 more, back to 25 October 2026

Nothing serious here today

Today is the operative word: we check HotelRunner MCP by usefulapi every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 11 min ago.

run in your terminal
claude mcp add hotelrunner --transport http https://hotelrunner.usefulapi.io/mcp
Settings → Connectors → Add custom connector, then paste this address
https://hotelrunner.usefulapi.io/mcp
~/.codex/config.toml
[mcp_servers.hotelrunner]
url = "https://hotelrunner.usefulapi.io/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "hotelrunner": {
      "url": "https://hotelrunner.usefulapi.io/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "hotelrunner": {
      "type": "http",
      "url": "https://hotelrunner.usefulapi.io/mcp"
    }
  }
}

Available tools 8

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

hotelrunner
hotelrunner_get_reservation
One reservation by its HotelRunner code (hr_number, e.g. R377873409) or the sales channel's own reservation code, with the full vendor record (rooms, daily prices, extras, payments, guest and billing details, next_states). If the reservation is older than HotelRunner's lookup window, pass from_date. Counts as one of the property's 250 requests per day (5 per minute). GET /api/v2/apps/reservations?reservation_number=.
hotelrunner_get_transaction_details
Per-channel status of a calendar update: pass the transaction_id returned by hotelrunner_update_room_calendar. Shows succeeded / failed / in-progress counts and each channel's state and error message. Counts as one of the property's 250 requests per day (5 per minute). GET /api/v2/apps/infos/transaction_details.
hotelrunner_list_channels
All sales channels HotelRunner supports (name and code, e.g. bookingcom, expedia, hrs, online). The code is what hotelrunner_update_room_calendar takes in channel_codes. Counts as one of the property's 250 requests per day (5 per minute). GET /api/v2/apps/infos/channels.
hotelrunner_list_connected_channels
The channels this property is connected to, each with counts of calendar update processes in progress, succeeded and failed. Counts as one of the property's 250 requests per day (5 per minute). GET /api/v2/apps/infos/connected_channels.
hotelrunner_list_reservations
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.
hotelrunner_list_rooms
List the property's room types and rates with their inv_code and rate_code, capacity, pricing type, sales currency, connected channel codes and whether availability, restrictions and prices can be updated through the API. Use the inv_code with hotelrunner_update_room_calendar. Counts as one of the property's 250 requests per day (5 per minute). GET /api/v2/apps/rooms.
hotelrunner_update_reservation_state
WRITE: move ONE reservation to the next state: event 'confirm' (hotelier accepts it) or 'cancel' (cancels it; cancel_reason is required: customer, no_room, no_show or invalid_price). Cancel is not reversible through this API and releases the room; HotelRunner may notify the guest or the sales channel (Booking.com, Expedia, ...), so only cancel when the user clearly asked for it, and pass confirm=true for a cancel. Only possible when the reservation's requires_response is true and the event is in its next_states (see hotelrunner_get_reservation); otherwise HotelRunner answers state_change_is_not_available. Counts as one of the property's 250 requests per day (5 per minute). PUT /api/v2/apps/reservations/fire.
hotelrunner_update_room_calendar
WRITE: change availability, price, minimum/maximum stay, stop-sale, closed-to-arrival (cta) or closed-to-departure (ctd) for ONE room type (inv_code) over a date range of at most 90 days, optionally only on some weekdays and only on some channels. Only the fields you pass are changed. This is LIVE inventory: HotelRunner pushes it to every connected channel (Booking.com, Expedia, your own booking engine, ...) and it changes what guests can book and pay. The price is the base-rate price in the property's sales currency; guest-based prices derive from it. Only rooms whose availability_update / restrictions_update / price_update flag is true (hotelrunner_list_rooms) accept that kind of change. HotelRunner answers asynchronously: the reply has a transaction_id; check per-channel results with hotelrunner_get_transaction_details. Send one change per call, not a full refresh. Counts as one of the property's 250 requests per day (5 per minute). PUT /api/v2/apps/rooms/daily.

Endpoints

URLTransportStateLatencyChecked
https://hotelrunner.usefulapi.io/mcp streamable-http answering 159 ms 11 min ago

Alternatives to HotelRunner MCP by usefulapi

same job, measured the same way
Cuddlynest MCP
by mafedelahoz

Search CuddlyNest hotels and read rooms, prices, availability and cancellation policies

29 installs/wk local only
Appointo MCP by usefulapi
by usefulapi

Read Appointo bookings, availability and subscriptions; create, reschedule and cancel bookings.

10 tools answering
Smoobu MCP by usefulapi
by usefulapi

Check vacation-rental reservations, rates, availability and guest messages, and update bookings.

20 tools answering
Appointedd MCP by usefulapi
by usefulapi

Read Appointedd bookings, customers and availability; create, change and cancel bookings.

20 tools answering
Bookingmood MCP by usefulapi
by usefulapi

Read Bookingmood bookings, availability, guests, payments and invoices; update bookings, contacts.

21 tools answering
Practice Better MCP by usefulapi
by usefulapi

Read Practice Better clients, sessions, availability, services, packages, invoices and forms.

15 tools answering
Nookal MCP by usefulapi
by usefulapi

Read Nookal locations, practitioners, availability, appointments, clients, cases and invoices.

11 tools answering
Acuity Scheduling MCP by usefulapi
by usefulapi

Read appointments, types, calendars and availability; create, cancel or reschedule bookings.

18 tools answering

HotelRunner MCP by usefulapi — questions

Answers built from our own checks of this server.

What can HotelRunner MCP by usefulapi do?
It exposes 8 tools, read directly from the server on our last check. Among them: hotelrunner_get_reservation, hotelrunner_get_transaction_details, hotelrunner_list_channels, hotelrunner_list_connected_channels, hotelrunner_list_reservations, hotelrunner_list_rooms and 2 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is HotelRunner MCP by usefulapi working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 376 ms. The bar chart above shows every period we have measured.
How do I connect HotelRunner MCP by usefulapi?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does HotelRunner MCP by usefulapi need an API key?
No. HotelRunner MCP by usefulapi completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 8 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is HotelRunner MCP by usefulapi?
It answers our handshake in 376 ms on average, which is faster than 39% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is HotelRunner MCP by usefulapi open source?
The code is open source: it is published under the MIT licence, written in JavaScript, 0 stars on GitHub and 1 open issue. The licence covers the code in the repository, not the hosted service at hotelrunner.usefulapi.io, which runs on its operator's own terms.