Reservio MCP by usefulapi

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

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
94%
命名品質
79%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'reservio_create_appointment_booking' name length outside 3-30 range在 reservio_create_appointment_booking 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,679Token(工具定義)
~1.8 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.87%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

遠端端點

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

它能做什麼

工具清單

工具(16)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢reservio_get_business(business_id)

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

輸入結構描述

{
  "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.

輸入結構描述

{
  "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}.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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}.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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}.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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.

輸入結構描述

{
  "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"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本16 個工具