Reservio MCP by usefulapi

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
94%
Qualität der Benennung
79%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'reservio_create_appointment_booking' name length outside 3-30 rangein reservio_create_appointment_booking

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,679Tokens (Tool-Definitionen)
~1.8 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.87% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

https://reservio.usefulapi.io/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (16)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢reservio_get_business(business_id)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_list_services(business_id, sort, filter, limit, offset)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "sort": {
      "description": "Sort column, prefix - for descending, e.g. -createdAt.",
      "type": "string",
      "pattern": "^-?[A-Za-z.]+$"
    },
    "filter": {
      "description": "Filters as {\"name\": \"Bob\"}; each key becomes filter[key]=value (JSON:API).",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z.]+$"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "limit": {
      "description": "Page size (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of items to skip, for paging.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_get_service(business_id, service_id)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "service_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Service id (from reservio_list_services)."
    }
  },
  "required": [
    "service_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_list_resources(business_id, sort, filter, limit, offset)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "sort": {
      "description": "Sort column, prefix - for descending, e.g. -createdAt.",
      "type": "string",
      "pattern": "^-?[A-Za-z.]+$"
    },
    "filter": {
      "description": "Filters as {\"name\": \"Bob\"}; each key becomes filter[key]=value (JSON:API).",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z.]+$"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "limit": {
      "description": "Page size (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of items to skip, for paging.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_get_resource(business_id, resource_id)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "resource_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Resource id (from reservio_list_resources)."
    }
  },
  "required": [
    "resource_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_list_events(business_id, sort, filter, limit, offset)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "sort": {
      "description": "Sort column, prefix - for descending, e.g. -createdAt.",
      "type": "string",
      "pattern": "^-?[A-Za-z.]+$"
    },
    "filter": {
      "description": "Filters as {\"name\": \"Bob\"}; each key becomes filter[key]=value (JSON:API).",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z.]+$"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "limit": {
      "description": "Page size (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of items to skip, for paging.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_list_bookings(business_id, sort, filter, limit, offset)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "sort": {
      "description": "Sort column, prefix - for descending, e.g. -createdAt.",
      "type": "string",
      "pattern": "^-?[A-Za-z.]+$"
    },
    "filter": {
      "description": "Filters as {\"name\": \"Bob\"}; each key becomes filter[key]=value (JSON:API).",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z.]+$"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "limit": {
      "description": "Page size (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of items to skip, for paging.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_list_coupons(business_id, sort, filter, limit, offset)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "sort": {
      "description": "Sort column, prefix - for descending, e.g. -createdAt.",
      "type": "string",
      "pattern": "^-?[A-Za-z.]+$"
    },
    "filter": {
      "description": "Filters as {\"name\": \"Bob\"}; each key becomes filter[key]=value (JSON:API).",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z.]+$"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "limit": {
      "description": "Page size (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of items to skip, for paging.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_get_coupon(business_id, coupon_id)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "coupon_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Coupon id (from reservio_list_coupons)."
    }
  },
  "required": [
    "coupon_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_list_opening_hours(business_id)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_list_rosters(business_id, sort, filter, limit, offset)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "sort": {
      "description": "Sort column, prefix - for descending, e.g. -createdAt.",
      "type": "string",
      "pattern": "^-?[A-Za-z.]+$"
    },
    "filter": {
      "description": "Filters as {\"name\": \"Bob\"}; each key becomes filter[key]=value (JSON:API).",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "pattern": "^[A-Za-z.]+$"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "limit": {
      "description": "Page size (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    },
    "offset": {
      "description": "Number of items to skip, for paging.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_get_booking_slots(business_id, from, to, service_id, resource_id)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "from": {
      "type": "string",
      "minLength": 8,
      "description": "Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00."
    },
    "to": {
      "type": "string",
      "minLength": 8,
      "description": "Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00."
    },
    "service_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Service id."
    },
    "resource_id": {
      "description": "Limit to one resource (staff member), from reservio_list_resources.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    }
  },
  "required": [
    "from",
    "to",
    "service_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_get_booking_days(business_id, from, to, service_id, resource_id)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "from": {
      "type": "string",
      "minLength": 8,
      "description": "Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00."
    },
    "to": {
      "type": "string",
      "minLength": 8,
      "description": "Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00."
    },
    "service_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Service id."
    },
    "resource_id": {
      "description": "Limit to one resource (staff member), from reservio_list_resources.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    }
  },
  "required": [
    "from",
    "to",
    "service_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢reservio_get_event_days(business_id, from, to, resource_id)

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

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "from": {
      "type": "string",
      "minLength": 8,
      "description": "Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00."
    },
    "to": {
      "type": "string",
      "minLength": 8,
      "description": "Date or datetime, e.g. 2026-11-02 or 2026-11-02T09:00:00+01:00."
    },
    "resource_id": {
      "description": "Limit to one resource (staff member), from reservio_list_resources.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    }
  },
  "required": [
    "from",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴reservio_create_appointment_booking(business_id, service_id, start, end, client, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "service_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Service id."
    },
    "start": {
      "type": "string",
      "minLength": 8,
      "description": "Slot start, ISO 8601 with offset."
    },
    "end": {
      "type": "string",
      "minLength": 8,
      "description": "Slot end, ISO 8601 with offset."
    },
    "client": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "description": "Client name."
        },
        "email": {
          "description": "Client e-mail.",
          "type": "string"
        },
        "phone": {
          "description": "Client phone.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "note": {
      "description": "Note for the booking.",
      "type": "string"
    }
  },
  "required": [
    "service_id",
    "start",
    "end",
    "client"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴reservio_create_group_booking(business_id, event_id, client)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "business_id": {
      "description": "Business id. Default: the business you entered at login.",
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$"
    },
    "event_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]+$",
      "description": "Group event id."
    },
    "client": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1,
          "description": "Client name."
        },
        "email": {
          "description": "Client e-mail.",
          "type": "string"
        },
        "phone": {
          "description": "Client phone.",
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    }
  },
  "required": [
    "event_id",
    "client"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet16 Tools