booking-mcp

booking-mcp

Enables managing restaurant reservations over Streamable HTTP, with tools for booking, checking availability, cancelling, resources for reservation data, and prompts for drafting confirmations.

Category
Visit Server

README

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

šŸš€ 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)

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured