Skip to main content
Glama
booking-mcp

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)

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    • Demo booking server for a fictional salon. Try confirm-first write tools in Claude or ChatGPT.

      https://demo.atithi.win/mcp
    • OpenTable MCP server for ChatGPT, Claude and any AI agent: search restaurants with open tables, check availability, book a reservation, modify a reservation, cancel a reservation, list your reservations, read the reservation book and add guest notes and tags in your own OpenTable account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to OpenTable yourself; Cotlet does not store your password and you need no OpenTable API key. About the official OpenTable API: OpenTable has APIs only for approved partners (checked 27 Oct 2026). Booking, Sync, CRM, Directory and Reviews APIs need an application through the OpenTable partner program, and they work per restaurant, not on a diner account. Setup and FAQ: https://cotlet.dev/integrations/opentable-api-mcp-server

    • Restaurant menus, carts, reservations and owner drafts for AI agents (Thmenu MCP).

      https://mcp.thmenu.com/
    • Resy MCP server for ChatGPT, Claude and any AI agent: search restaurants, check availability, book a reservation, list reservations, change a reservation, cancel a reservation, set a Notify alert and remove a Notify alert in your own Resy account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Resy yourself; Cotlet does not store your password and you need no Resy API key. About the official Resy API: Resy has no public API (checked 27 Oct 2026). Its official Resy app runs only inside Claude and ChatGPT: in Claude it shows live availability and sends you to Resy to book, in ChatGPT it can also book a table. Setup and FAQ: https://cotlet.dev/integrations/resy-api-mcp-server

      https://cotlet.dev/mcp/v1/resy

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