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 个工具