Skip to main content
Glama
LuoZihYuan

booking-mcp

by LuoZihYuan

banner

šŸ½ļø booking-mcp

booking-mcp is a Model Context Protocol server for managing restaurant reservations, served over Streamable HTTP. It exposes tools to book a table, check availability, and cancel a reservation; resources to read the reservation book; and a prompt for drafting confirmations. When booking, the server gathers the guest's contact details from the user through elicitation.

šŸ“‹ Requirements

  • Python 3.13

  • uv

Related MCP server: mcp-booking-bridge

šŸš€ Usage

šŸ“¦ Setup

Create the virtual environment, install the SDK (mcp[cli,rich]) and dependencies, and install the package in editable mode:

uv sync

šŸ–„ļø Server

Start the server, which serves Streamable HTTP at http://127.0.0.1:8000/mcp:

uv run booking-mcp

🚶 Walkthrough

A standalone interactive client that runs in process, so nothing else needs to be running. It gives you a menu of actions and lets you answer the elicitation prompts yourself.

uv run python scripts/walkthrough.py
TIP

Reservations persist to var/bookings.json by default. Set BOOKING_DB_PATH to store them elsewhere:

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

🧩 MCP Surface

Kind

Name

Notes

Tool

book_table(date, time, party_size)

elicits name, phone, and notes from the user

Tool

cancel_booking(id)

marks a reservation cancelled

Tool

check_availability(date, time)

remaining tables for a slot

Resource

bookings://all

every reservation, as JSON

Resource

bookings://{id}

one reservation, as JSON

Resource

availability://{date}

capacity for each slot on a date, as JSON

Prompt

confirmation_message(id)

drafts a guest confirmation message

šŸ“ Layout

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)

Maintenance

ActivityMaintained
ResponsivenessNo issues

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