Skip to main content
Glama
LuoZihYuan

booking-mcp

by LuoZihYuan

booking-mcp

booking-mcp — это сервер Model Context Protocol для управления бронированием столиков в ресторане, предоставляемый через Streamable HTTP. Он включает инструменты для бронирования столика, проверки доступности и отмены брони; ресурсы для чтения книги бронирований; а также промпт для составления подтверждений. При бронировании сервер собирает контактные данные гостя, запрашивая их у пользователя.

Требования

  • Python 3.13

  • uv

Related MCP server: mcp-booking-bridge

Использование

Настройка

Создайте виртуальное окружение, установите SDK (mcp[cli,rich]) и зависимости, а затем установите пакет в режиме редактирования:

uv sync

Сервер

Запустите сервер, который обслуживает Streamable HTTP по адресу http://127.0.0.1:8000/mcp:

uv run booking-mcp

Пошаговое руководство

Автономный интерактивный клиент, работающий в процессе, поэтому больше ничего запускать не нужно. Он предоставляет меню действий и позволяет самостоятельно отвечать на уточняющие запросы.

uv run python scripts/walkthrough.py

[!TIP]

Брони по умолчанию сохраняются в var/bookings.json. Установите BOOKING_DB_PATH, чтобы хранить их в другом месте:

BOOKING_DB_PATH=/tmp/demo.json uv run python scripts/walkthrough.py

Интерфейс MCP

Тип

Имя

Примечания

Инструмент

book_table(date, time, party_size)

запрашивает у пользователя имя, телефон и заметки

Инструмент

cancel_booking(id)

отмечает бронь как отменённую

Инструмент

check_availability(date, time)

количество свободных столиков на выбранное время

Ресурс

bookings://all

все брони в формате JSON

Ресурс

bookings://{id}

одна бронь в формате JSON

Ресурс

availability://{date}

вместимость для каждого временного слота на дату, в формате JSON

Промпт

confirmation_message(id)

составляет подтверждение для гостя

Структура

booking-mcp/
├── src/booking_mcp/
│   ├── app.py               # the shared MCPServer instance
│   ├── config.py            # storage path + capacity limits
│   ├── models.py            # Reservation domain model
│   ├── store.py             # JSON file repository
│   ├── server.py            # entrypoint: registers features, runs the server
│   └── features/
│       ├── reservations.py  # book/cancel + reservation resources + prompt
│       └── availability.py  # availability tool + resource
├── scripts/
│   └── walkthrough.py       # manual interactive client
└── var/                     # runtime state, gitignored (holds bookings.json)

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables restaurant reservation management through SevenRooms API, allowing users to create reservations and query available time slots with guest details and party size information.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables managing restaurant table bookings through natural language conversations with an AI assistant, with built-in safety measures like no deletion and explicit write enable.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to manage restaurant reservations through typed MCP tools, including checking table availability, creating and canceling reservations, and listing the day's confirmed bookings.
    -