# Reservio MCP by usefulapi (remote · reservio.usefulapi.io)

Check open slots, list bookings, services and staff, book appointments and group events in Reservio.

- Trust score: 18/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

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

## Channel facts

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

## 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-05.

- **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 Reservio MCP by usefulapi server?

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

### Cursor

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

### VS Code

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

### Codex

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

### opencode

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

### OpenClaw

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

### Hermes

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

### Netclaw

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

### Vellum

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

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-reservio": {
      "type": "http",
      "url": "https://reservio.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-01 (score 18, −47)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [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 65)

First indexed and scored.

## MCP tools (16)

### `reservio_get_business` (~56 tokens)

Get a business

Get the business profile: name, address, contact details, time zone. Reservio API: GET /businesses/{businessId}.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.

### `reservio_list_services` (~133 tokens)

List services

List the services clients can book, with duration, price and capacity. Reservio API: GET /businesses/{businessId}/services.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `filter` (object): Filters as {"name": "Bob"}; each key becomes filter[key]=value (JSON:API).
- `limit` (integer): Page size (default 50).
- `offset` (integer): Number of items to skip, for paging.
- `sort` (string): Sort column, prefix - for descending, e.g. -createdAt.

### `reservio_get_service` (~68 tokens)

Get a service

Get one service by id. Reservio API: GET /businesses/{businessId}/services/{serviceId}.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `service_id` (string, required): Service id (from reservio_list_services).

### `reservio_list_resources` (~131 tokens)

List resources (staff)

List bookable resources, such as staff members or rooms. Reservio API: GET /businesses/{businessId}/resources.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `filter` (object): Filters as {"name": "Bob"}; each key becomes filter[key]=value (JSON:API).
- `limit` (integer): Page size (default 50).
- `offset` (integer): Number of items to skip, for paging.
- `sort` (string): Sort column, prefix - for descending, e.g. -createdAt.

### `reservio_get_resource` (~74 tokens)

Get a resource

Get one resource (staff member or room) by id. Reservio API: GET /businesses/{businessId}/resources/{resourceId}.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `resource_id` (string, required): Resource id (from reservio_list_resources).

### `reservio_list_events` (~140 tokens)

List events

List calendar events (appointments, group events, blocked time) with start, end, type and capacity. Reservio API: GET /businesses/{businessId}/events.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `filter` (object): Filters as {"name": "Bob"}; each key becomes filter[key]=value (JSON:API).
- `limit` (integer): Page size (default 50).
- `offset` (integer): Number of items to skip, for paging.
- `sort` (string): Sort column, prefix - for descending, e.g. -createdAt.

### `reservio_list_bookings` (~163 tokens)

List bookings

List bookings with client name, state, cost and linked event. Sort by -createdAt to see the newest first (Reservio has no webhooks, so polling this is the way to find new bookings). Reservio API: GET /businesses/{businessId}/bookings.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `filter` (object): Filters as {"name": "Bob"}; each key becomes filter[key]=value (JSON:API).
- `limit` (integer): Page size (default 50).
- `offset` (integer): Number of items to skip, for paging.
- `sort` (string): Sort column, prefix - for descending, e.g. -createdAt.

### `reservio_list_coupons` (~130 tokens)

List coupons

List coupons (credit or visit packages). Reservio API: GET /businesses/{businessId}/coupons.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `filter` (object): Filters as {"name": "Bob"}; each key becomes filter[key]=value (JSON:API).
- `limit` (integer): Page size (default 50).
- `offset` (integer): Number of items to skip, for paging.
- `sort` (string): Sort column, prefix - for descending, e.g. -createdAt.

### `reservio_get_coupon` (~71 tokens)

Get a coupon

Get one coupon by id. Reservio API: GET /businesses/{businessId}/coupons/{couponId}.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `coupon_id` (string, required): Coupon id (from reservio_list_coupons).

### `reservio_list_opening_hours` (~63 tokens)

List opening hours

List the opening hours of the business (days and start/end in seconds from midnight). Reservio API: GET /businesses/{businessId}/opening-hours.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.

### `reservio_list_rosters` (~134 tokens)

List rosters

List staff work schedules (rosters) per resource and date. Reservio API: GET /businesses/{businessId}/rosters.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `filter` (object): Filters as {"name": "Bob"}; each key becomes filter[key]=value (JSON:API).
- `limit` (integer): Page size (default 50).
- `offset` (integer): Number of items to skip, for paging.
- `sort` (string): Sort column, prefix - for descending, e.g. -createdAt.

### `reservio_get_booking_slots` (~180 tokens)

Get free booking slots

List free time slots for a service in a date range, optionally for one resource. Use before creating a booking. Reservio API: GET /businesses/{businessId}/availability/booking-slots.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `from` (string, required): Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00.
- `resource_id` (string): Limit to one resource (staff member), from reservio_list_resources.
- `service_id` (string, required): Service id.
- `to` (string, required): Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00.

### `reservio_get_booking_days` (~173 tokens)

Get bookable days

For each day in a range, tell whether any slot is free for a service. Reservio API: GET /businesses/{businessId}/availability/booking-days.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `from` (string, required): Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00.
- `resource_id` (string): Limit to one resource (staff member), from reservio_list_resources.
- `service_id` (string, required): Service id.
- `to` (string, required): Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00.

### `reservio_get_event_days` (~162 tokens)

Get days with open events

For each day in a range, tell whether a group event is open for booking. Reservio API: GET /businesses/{businessId}/availability/event-days.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `from` (string, required): Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00.
- `resource_id` (string): Limit to one resource (staff member), from reservio_list_resources.
- `to` (string, required): Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00.

### `reservio_create_appointment_booking` (~152 tokens)

Create an appointment booking

WRITE: create a real appointment booking for a service at a start/end time (use a slot from reservio_get_booking_slots). Reservio may notify the client. Not safe to repeat: a second call books a second appointment. Reservio API: POST /businesses/{businessId}/bookings.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `client` (object, required)
- `end` (string, required): Slot end, ISO 8601 with offset.
- `note` (string): Note for the booking.
- `service_id` (string, required): Service id.
- `start` (string, required): Slot start, ISO 8601 with offset.

### `reservio_create_group_booking` (~102 tokens)

Book a group event

WRITE: book a client into an existing group event (event id from reservio_list_events). Reservio may notify the client. Not safe to repeat: a second call books a second seat. Reservio API: POST /businesses/{businessId}/bookings.

Input parameters:

- `business_id` (string): Business id. Default: the business you entered at login.
- `client` (object, required)
- `event_id` (string, required): Group event id.

## Diagnostics

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

## Score history

- 2026-11-05: 18
- 2026-11-04: 18
- 2026-11-03: 18
- 2026-11-02: 18
- 2026-11-01: 18
- 2026-10-31: 65

## Common questions

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

Reservio MCP by usefulapi is listed in the public MCP registry as io.usefulapi/reservio. Check open slots, list bookings, services and staff, book appointments and group events in Reservio. This page covers its hosted endpoint (https://reservio.usefulapi.io/mcp).

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

Reservio 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 Reservio MCP by usefulapi server expose?

Reservio MCP by usefulapi exposes 16 tools: reservio_get_business, reservio_list_services, reservio_get_service, reservio_list_resources, reservio_get_resource, and 11 more. Their descriptions and schemas cost roughly 1,932 tokens of context every time the server is loaded.

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

Its publisher declares no required credentials for Reservio 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 Reservio MCP by usefulapi server still maintained?

Reservio MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 5 November 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://reservio.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/reservio/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-reservio/reservio.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-reservio/reservio.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-reservio/reservio
