# WuBook MCP by usefulapi (remote · wubook.usefulapi.io)

Read WuBook ZaK rooms, availability and reservations; manage inventory and guest check-in.

- Trust score: 18/100 (low)
- Change this week: −45
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-06

## Components

- remote · `wubook.usefulapi.io`: 18/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-wubook/wubook.md), [page](https://verifymcp.io/servers/io-usefulapi-wubook/wubook)

## Channel facts

- Endpoint: `https://wubook.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.10.3`

## 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-11-06.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the WuBook MCP by usefulapi server?

WuBook MCP by usefulapi is a hosted endpoint at https://wubook.usefulapi.io/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 io-usefulapi-wubook 'https://wubook.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-wubook": {
      "url": "https://wubook.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-wubook": {
      "type": "http",
      "url": "https://wubook.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-wubook]
url = "https://wubook.usefulapi.io/mcp"
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add io-usefulapi-wubook --url 'https://wubook.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-wubook:
    url: "https://wubook.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-wubook": {
      "Transport": "http",
      "Url": "https://wubook.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-wubook -t streamable-http -u 'https://wubook.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-wubook": {
      "type": "http",
      "url": "https://wubook.usefulapi.io/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-11-06 (score 18, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-11-01 (score 18, −48)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Stability: 0.10 → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] Authorization: pass → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-10-31 (score 66, +3)

- [security improvement] Authorization: partial → pass
- [functional improvement] MCP protocol: fail → pass
- [functional] New prompt “change_prices_or_close_dates_for_sale”
- [functional] New prompt “check_availability_before_taking_a_booking”
- [functional] New prompt “check_guests_in_or_out”
- [functional] New prompt “review_arrivals_and_reservation_details”
- [functional] MCP protocol version: 2025-06-18 → 2025-11-25
- [functional] Server version: 1.6.0 → 1.8.0
- [functional] Server version: 1.5.0 → 1.6.0
- [functional] Server version: 1.4.2 → 1.5.0

### 2026-10-30 (score 63, 0)

- [functional] Server version: 1.4.1 → 1.4.2
- [functional] Server version: 1.4.0 → 1.4.1

### 2026-10-29 (score 63, +1)

- [functional improvement] Stability: unverified → 0.03
- [functional] Server version: 1.3.0 → 1.4.0
- [functional] Server version: 1.2.0 → 1.3.0

### 2026-10-28 (score 62)

First indexed and scored.

## MCP tools (19)

### `wubook_list_rooms` (~37 tokens)

List rooms

List the physical rooms of the property (id, room type id, name, tags). POST /kp/property/fetch_rooms.

### `wubook_list_room_types` (~39 tokens)

List room types

List the room types (id, name, short name, default price, default occupancy). POST /kp/property/fetch_room_types.

### `wubook_list_rates` (~46 tokens)

List rates

List the rates of the property (id, name, board, currency, standard flag). Use a rate id for prices and restrictions. POST /kp/property/fetch_rates.

### `wubook_list_products` (~55 tokens)

List products

List the products (a room type sold on a board basis: id, room type id, name, default price, occupancy). Product ids are the keys of prices and availability. POST /kp/property/fetch_products.

### `wubook_list_meal_boards` (~52 tokens)

List meal boards

List the meal rules and meal prices per board type (fb, hb, bb, ai) for adults, teens, children and babies. POST /kp/property/fetch_meals_board.

### `wubook_list_extras` (~41 tokens)

List extras

List the extras the property sells (id, name, price, VAT percentage, cost, tags). POST /kp/property/fetch_extras.

### `wubook_get_inventory_symbols` (~51 tokens)

Get inventory symbols

The meaning of the short keys in prices and restrictions (p price, a availability, m MinStay, M MaxStay, c closure, ...). POST /kp/inventory/fetch_symbols.

### `wubook_get_room_availability` (~108 tokens)

Get room availability

Availability for a stay: for each room type id, the number of rooms available and the ids of the available physical rooms. The availability count can be lower than the number of listed physical rooms when a reservation has no physical room assigned yet; use the availability count when assessing bookable capacity. POST /kp/inventory/fetch_rooms_availability.

Input parameters:

- `arrival` (string, required): Arrival date, yyyy-mm-dd.
- `departure` (string, required): Departure date, yyyy-mm-dd.

### `wubook_get_rate_values` (~121 tokens)

Get rate values

Daily prices, availability and restrictions of one rate, starting at a date: for each product id a list with one object per day (p price, a availability, m/M min/max stay, c closed, ...; see wubook_get_inventory_symbols). POST /kp/inventory/fetch_rate_values.

Input parameters:

- `days` (integer, required): Number of days from `from`, 1-366.
- `from` (string, required): First day, yyyy-mm-dd.
- `rate_id` (integer, required): Rate id (wubook_list_rates).

### `wubook_update_inventory` (~221 tokens)

Update prices, availability and restrictions

WRITE: overwrite daily prices, availability and stay restrictions of one rate. `products` maps a product id to a list of day objects; the first object is the day `from`, the next the following day, and so on. Only the fields you send per day change. Changes can be pushed to connected channels (OTAs) and affect live bookings, so confirm the values with the user first. POST /kp/inventory/write.

Input parameters:

- `from` (string, required): First day the lists start at, yyyy-mm-dd.
- `products` (object, required): Product id → one object per day, e.g. {"12": [{"p": 90, "a": 3}, {"p": 95}]}. Keys: p price, a availability, m/M min/max stay, ma/Ma by arrival, ni no check-in, no no check-out, c closed, nt no OTA,…
- `rate_id` (integer, required): Rate id (wubook_list_rates).

### `wubook_get_reservation` (~101 tokens)

Get reservation

One reservation by id or by reservation code (XY-0001): status, booker customer id, origin channel, board, dates, price split (rooms, extras, meals), payment, taxes and rooms with occupancy and customer ids. POST /kp/reservations/fetch_one_reservation.

Input parameters:

- `reservation_code` (string): Reservation (human) code such as XY-0001.
- `reservation_id` (integer): Reservation id.

### `wubook_list_reservations` (~204 tokens)

List reservations

List reservations, optionally filtered by creation, arrival or departure date ranges (inclusive). Newest first is not guaranteed; page with offset. Returns the page plus next_offset (null when the last page was reached). POST /kp/reservations/fetch_reservations.

Input parameters:

- `arrival_from` (string): Arriving on or after. Needs arrival_to.
- `arrival_to` (string): Arriving on or before.
- `created_from` (string): Created on or after (yyyy-mm-dd). Needs created_to.
- `created_to` (string): Created on or before.
- `departure_from` (string): Departing on or after. Needs departure_to.
- `departure_to` (string): Departing on or before.
- `limit`: Page size: 8, 16, 32 or 64 (default 32).
- `offset` (integer): Reservations to skip (default 0). Pass the previous reply's next_offset.

### `wubook_list_todays_reservations` (~45 tokens)

List today's reservations

Reservations of the property for today (arrivals, departures and stays in house). POST /kp/reservations/fetch_today_reservations.

### `wubook_create_reservation` (~185 tokens)

Create reservation

WRITE: create a reservation in ZaK for one guest. Give rooms (room type and optionally the physical room id, with price and currency) and/or products (product id with price and currency). Set assign_rooms to let ZaK pick the physical rooms. This books inventory and is NOT idempotent: calling it twice creates two reservations, so check wubook_get_room_availability first and do not retry on an error without looking the reservation up. POST /kp/reservations/new.

Input parameters:

- `arrival` (string, required): Arrival date, yyyy-mm-dd.
- `assign_rooms` (boolean): Let ZaK choose physical rooms for entries without a room id.
- `departure` (string, required): Departure date, yyyy-mm-dd (after arrival).
- `guest` (object, required): The booker.
- `products` (array)
- `rooms` (array)

### `wubook_check_in` (~97 tokens)

Check in

WRITE: check in the guests of a reservation in ZaK. Applies to every guest of the reservation unless room_customer_ids is given. POST /kp/reservations/do_checkin.

Input parameters:

- `reservation_code` (string): Reservation (human) code such as XY-0001.
- `reservation_id` (integer): Reservation id.
- `room_customer_ids` (array): Only these reservation-room guest ids (default: all guests).

### `wubook_check_out` (~96 tokens)

Check out

WRITE: check out the guests of a reservation in ZaK. Applies to every guest of the reservation unless room_customer_ids is given. POST /kp/reservations/do_checkout.

Input parameters:

- `reservation_code` (string): Reservation (human) code such as XY-0001.
- `reservation_id` (integer): Reservation id.
- `room_customer_ids` (array): Only these reservation-room guest ids (default: all guests).

### `wubook_undo_check_in` (~66 tokens)

Undo check-in

WRITE: revert the check-in of a reservation in ZaK. POST /kp/reservations/undo_checkin.

Input parameters:

- `reservation_code` (string): Reservation (human) code such as XY-0001.
- `reservation_id` (integer): Reservation id.

### `wubook_undo_check_out` (~65 tokens)

Undo check-out

WRITE: revert the check-out of a reservation in ZaK. POST /kp/reservations/undo_checkout.

Input parameters:

- `reservation_code` (string): Reservation (human) code such as XY-0001.
- `reservation_id` (integer): Reservation id.

### `wubook_get_customer` (~100 tokens)

Get customer (guest)

One guest record by customer id (from a reservation's booker or room customers): name, country, address, contact, birth data, billing info. Personal data. Identity documents (type, number, expiry) are left out unless include_documents is true. POST /kp/customers/fetch_one.

Input parameters:

- `customer_id` (integer, required): Customer id.
- `include_documents` (boolean): Also return the guest's identity documents (default false).

## Diagnostics

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

## Score history

- 2026-11-06: 18
- 2026-11-05: 18
- 2026-11-04: 18
- 2026-11-03: 18
- 2026-11-02: 18
- 2026-11-01: 18
- 2026-10-31: 66
- 2026-10-30: 63
- 2026-10-29: 63
- 2026-10-28: 62

## Common questions

### What is the WuBook MCP by usefulapi server?

WuBook MCP by usefulapi is listed in the public MCP registry as io.usefulapi/wubook. Read WuBook ZaK rooms, availability and reservations; manage inventory and guest check-in. This page covers its hosted endpoint (https://wubook.usefulapi.io/mcp).

### Is the WuBook MCP by usefulapi server safe to use?

WuBook MCP by usefulapi scores 18 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 WuBook MCP by usefulapi server expose?

WuBook MCP by usefulapi exposes 19 tools: wubook_list_rooms, wubook_list_room_types, wubook_list_rates, wubook_list_products, wubook_list_meal_boards, and 14 more. Their descriptions and schemas cost roughly 1,730 tokens of context every time the server is loaded.

### Does the WuBook MCP by usefulapi server require authentication?

Its publisher declares no required credentials for WuBook MCP by usefulapi. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the WuBook MCP by usefulapi server still maintained?

WuBook MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 6 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the WuBook MCP by usefulapi server?

VerifyMCP ran 4 checks on WuBook MCP by usefulapi, covering TLS certificate, HSTS header, DNSSEC and Transport. 7 items could not be completed, a gap on our side rather than a finding about WuBook MCP by usefulapi: Authorization, HTTPS, Schema quality, Stability and 3 more. 5 categories score 0 for that reason, because we only credit what we can confirm. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://wubook.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/wubook/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-wubook/wubook.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-wubook/wubook/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/io-usefulapi-wubook/wubook.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-wubook/wubook
