# Hotelumo Hotel Operations (remote · mcp.hotelumo.com)

See your hotel's room availability, rates, housekeeping and upcoming arrivals and departures.

- Trust score: 90/100 (high trust)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-17

## Components

- remote · `mcp.hotelumo.com`: 90/100 (this document), [markdown](https://verifymcp.io/servers/com-hotelumo-hotelumo/mcp.md), [page](https://verifymcp.io/servers/com-hotelumo-hotelumo/mcp)

## Channel facts

- Endpoint: `https://mcp.hotelumo.com/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `0.1.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-17.

- **Endpoint Security**: 92/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 81/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3160 tokens (~210/item across 15 items; 11 tools + 4 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 73/100
  - Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).
  - Supports UI / widget rendering.

## Install

### How do I install the Hotelumo Hotel Operations MCP server?

Hotelumo Hotel Operations is a hosted endpoint at https://mcp.hotelumo.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-hotelumo-hotelumo 'https://mcp.hotelumo.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-hotelumo-hotelumo": {
      "url": "https://mcp.hotelumo.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-hotelumo-hotelumo": {
      "type": "http",
      "url": "https://mcp.hotelumo.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-hotelumo-hotelumo]
url = "https://mcp.hotelumo.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-hotelumo-hotelumo": {
      "type": "remote",
      "url": "https://mcp.hotelumo.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-hotelumo-hotelumo --url 'https://mcp.hotelumo.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-hotelumo-hotelumo:
    url: "https://mcp.hotelumo.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-hotelumo-hotelumo": {
      "Transport": "http",
      "Url": "https://mcp.hotelumo.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-hotelumo-hotelumo -t streamable-http -u 'https://mcp.hotelumo.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-hotelumo-hotelumo": {
      "type": "http",
      "url": "https://mcp.hotelumo.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-17 (score 90, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-15 (score 89, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-13 (score 88, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-11 (score 87, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-10 (score 86, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 50. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-08 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 43. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-04 (score 84, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-02 (score 83, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (11)

### `list_hotels` (~116 tokens)

List your hotels

Use this when someone asks which hotels or properties they manage in Hotelumo, or a hotel's id is needed. Returns each hotel's id, name, currency, language and timezone, 20 per page by default (no addresses or guest data). Not for room availability.

Input parameters:

- `limit` (integer): Hotels per page, from 1 to 100; defaults to 20
- `offset` (integer): Hotels to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit

Output parameters:

- `hotels` (array): Hotels in the signed-in organization. Addresses, phone numbers, channel credentials, payment configuration, reminder configuration and guest data are excluded.
- `page` (object): hasMore is true when another page exists; request it with offset + limit

### `get_hotel` (~85 tokens)

Get hotel details

Use this when someone asks about one hotel's setup, such as its default check-in and check-out times, currency, country or timezone. Returns the hotel's name, currency, language, timezone, country code and default check-in and check-out times, or not-found. Not for room availability or prices.

Input parameters:

- `hotelId` (string, required): Hotel id: 24 lowercase hexadecimal characters

Output parameters:

- `hotel`: Operational hotel metadata; null when not found. Contact details, addresses, integrations, credentials, payment configuration, reminders and guest data are never returned.
- `status` (string)

### `get_hotel_availability` (~215 tokens)

Check room availability and prices

Use this when someone asks if rooms are free for certain dates or what a stay would cost. Returns the room types and rate plans with a free room every night for the party, with rooms left and nightly and total prices in minor currency units. Stays of 1–30 nights, check-in within 365 days. Not for making a booking.

Input parameters:

- `adults` (integer): Adults staying, from 1 to 20; defaults to 2
- `checkInDate` (string, required): Arrival date as YYYY-MM-DD, from today to 365 days ahead in the hotel's timezone
- `checkOutDate` (string, required): Departure date as YYYY-MM-DD, 1 to 30 nights after checkInDate
- `children` (integer): Children staying, from 0 to 20; defaults to 0
- `hotelId` (string, required): Hotel id: 24 lowercase hexadecimal characters
- `infants` (integer): Infants staying, from 0 to 20; defaults to 0

Output parameters:

- `offers` (array): One row per bookable room type and rate plan with a free room every night. Amounts are integer minor currency units (12000 is 120.00 in a two-decimal currency). Guest records, reservations, room assi…
- `offersAreTruncated` (boolean): True when more than 100 offers matched the search
- `search` (object)

### `get_hotel_schedule_summary` (~155 tokens)

Count arrivals, departures and stays

Use this when someone asks how busy the hotel is, or how many arrivals, departures or in-house stays fall on each day. Returns daily counts of confirmed, checked-in and checked-out stays plus reservation totals by status, for 7 days from today by default and at most 31 days; counting stops at 500. Not for looking up a guest or reservation.

Input parameters:

- `dateFrom` (string): First day as YYYY-MM-DD (inclusive); defaults to today in UTC
- `dateTo` (string): Last day as YYYY-MM-DD (inclusive), at most 31 days in total; defaults to six days after dateFrom
- `hotelId` (string, required): Hotel id: 24 lowercase hexadecimal characters

Output parameters:

- `days` (array): One row per day. arrivals, departures and inHouseReservations count confirmed, checked-in and checked-out stays; a stay is not in-house on its checkout day. Reservation or allocation identifiers, ind…
- `hotel` (object)
- `range` (object)
- `reservationCount` (integer)
- `reservationCountIsLowerBound` (boolean): True when more than 500 reservations overlap the range
- `statusCounts` (object): Reservations overlapping the range by status, inquiries, requests, no-shows and cancellations included

### `list_room_types` (~144 tokens)

List room types

Use this when someone asks what kinds of rooms a hotel offers or how many guests each room type sleeps. Returns each room type's id, hotel, name and maximum guests, sorted by name, 20 per page by default. Not for whether a room type is free on given dates.

Input parameters:

- `hotelId` (string): Only this hotel (24 lowercase hexadecimal characters); every hotel when absent
- `limit` (integer): Room types per page, from 1 to 100; defaults to 20
- `offset` (integer): Room types to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit

Output parameters:

- `page` (object): hasMore is true when another page exists; request it with offset + limit
- `roomTypes` (array): Room types sorted by name. Photos, public descriptions, rate-plan internals, channel mappings and credentials are excluded.

### `get_room_type` (~72 tokens)

Get room type details

Use this when someone asks about one room type, such as its name or how many guests it sleeps. Returns the room type's name, hotel and maximum guests, or not-found. Not for its prices or free dates.

Input parameters:

- `roomTypeId` (string, required): Room type id: 24 lowercase hexadecimal characters

Output parameters:

- `roomType`: Null when not found. Free-text descriptions, facilities, photos, channel mappings, integrations, credentials and arbitrary metadata are never returned.
- `status` (string)

### `list_rooms` (~169 tokens)

Check room and housekeeping status

Use this when someone asks which rooms are clean, dirty or inspected, or which are out of order or out of service. Returns each physical room's name or number, room type and hotel with its room and housekeeping status, 20 per page by default (no guest or occupant data). Not for which rooms are free on given dates.

Input parameters:

- `hotelId` (string): Only this hotel (24 lowercase hexadecimal characters); every hotel when absent
- `limit` (integer): Rooms per page, from 1 to 100; defaults to 20
- `offset` (integer): Rooms to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit
- `roomTypeId` (string): Only this room type (24 lowercase hexadecimal characters)

Output parameters:

- `page` (object): hasMore is true when another page exists; request it with offset + limit
- `rooms` (array): Physical rooms sorted by name. Internal room ids, reservation, occupant, guest, access-control and channel data are excluded.

### `list_rate_plans` (~170 tokens)

List rate plans and base prices

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 parameters:

- `hotelId` (string, required): Hotel id: 24 lowercase hexadecimal characters
- `limit` (integer): Rate plans per page, from 1 to 100; defaults to 20
- `offset` (integer): Rate plans to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit
- `roomTypeId` (string): Only this room type (24 lowercase hexadecimal characters)

Output parameters:

- `page` (object): hasMore is true when another page exists; request it with offset + limit
- `ratePlans` (array): basePrice is in integer minor currency units. Channel-manager mappings, integration metadata and credentials are excluded.

### `list_daily_rates` (~154 tokens)

Show daily prices and restrictions

Use this when someone asks what a rate costs on specific nights, or about minimum stays, stop-sell or closed-to-arrival dates. Returns the stored per-day price and restrictions of one rate plan over up to 90 days; days without a row use the plan's base price. Not for whether rooms are free.

Input parameters:

- `dateFrom` (string, required): First night as YYYY-MM-DD (inclusive)
- `dateTo` (string, required): Last night as YYYY-MM-DD (inclusive); the range covers at most 90 days
- `hotelId` (string, required): Hotel id: 24 lowercase hexadecimal characters
- `ratePlanId` (string, required): Rate plan id, belonging to hotelId: 24 lowercase hexadecimal characters

Output parameters:

- `dailyRates` (array): Stored per-day rows sorted by date; a date without a row sells at the plan's base price. price is in integer minor currency units. Guest, payment, channel, credential and arbitrary metadata are exclu…
- `status` (string)

### `list_extras` (~149 tokens)

List extras and add-ons

Use this when someone asks what extras a hotel sells, such as breakfast, parking, spa, transfers or fees, and what they cost. Returns each active extra's name, price in minor currency units, currency, category and taxable flag, 20 per page by default. Not for what a guest bought or was charged.

Input parameters:

- `hotelId` (string): Only this hotel (24 lowercase hexadecimal characters); every hotel when absent
- `limit` (integer): Extras per page, from 1 to 100; defaults to 20
- `offset` (integer): Extras to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit

Output parameters:

- `extras` (array): Active extras; price is in integer minor currency units. Guest charges, folio data, display colors and credentials are excluded.
- `page` (object): hasMore is true when another page exists; request it with offset + limit

### `show_hotel_overview` (~90 tokens)

Show hotel operations overview

Use this when someone wants a quick overview or dashboard of one hotel's operations. Returns an overview card with the hotel's details, reservation status counts for the next 7 days, and room, room-type, room-status and housekeeping counts from bounded samples (no guest, stay or payment data). Not for a single reservation.

Input parameters:

- `hotelId` (string, required): Hotel id: 24 lowercase hexadecimal characters

Output parameters:

- `hotel`: Null when not found. Guest identities, contact details, reservation or allocation identifiers, individual stay records, notes, documents, occupant ids, payments, access data, integration configuratio…
- `housekeepingStatusCounts` (object)
- `reservationStatusCounts` (object)
- `reservations` (object): Reservations overlapping the next seven UTC days, any status, sampled up to 50; hasMore marks a lower bound
- `roomStatusCounts` (object)
- `roomTypes` (object): Room types, sampled up to 50; hasMore marks a lower bound
- `rooms` (object): Physical rooms, sampled up to 100; hasMore marks a lower bound
- `scheduleRange` (object)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-hotelumo-hotelumo/mcp#diagnostics

## Score history

- 2026-10-17: 90
- 2026-10-16: 89
- 2026-10-15: 89
- 2026-10-14: 88
- 2026-10-13: 88
- 2026-10-12: 87
- 2026-10-11: 87
- 2026-10-10: 86
- 2026-10-08: 85
- 2026-10-05: 84
- 2026-10-04: 84
- 2026-10-03: 83
- 2026-10-02: 83
- 2026-10-01: 82
- 2026-09-30: 82
- 2026-09-29: 81
- 2026-09-28: 81
- 2026-09-27: 79
- 2026-09-26: 78
- 2026-09-25: 78

## Common questions

### What is the Hotelumo Hotel Operations MCP server?

Hotelumo Hotel Operations is an MCP server listed in the public MCP registry as com.hotelumo/hotelumo. See your hotel's room availability, rates, housekeeping and upcoming arrivals and departures. This page covers its hosted endpoint (https://mcp.hotelumo.com/mcp).

### Is the Hotelumo Hotel Operations MCP server safe to use?

Hotelumo Hotel Operations scores 90 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Hotelumo Hotel Operations MCP server expose?

Hotelumo Hotel Operations exposes 11 tools: list_hotels, get_hotel, get_hotel_availability, get_hotel_schedule_summary, list_room_types, and 6 more. Their descriptions and schemas cost roughly 1,519 tokens of context every time the server is loaded.

### Does the Hotelumo Hotel Operations MCP server require authentication?

Yes. Hotelumo Hotel Operations asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Hotelumo Hotel Operations MCP server still maintained?

Hotelumo Hotel Operations is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.hotelumo.com/mcp
- Website: https://www.hotelumo.com/developers/#mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-hotelumo-hotelumo/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-hotelumo-hotelumo/mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-hotelumo-hotelumo/mcp
