Appointment Booking Server MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add appointment-booking -- uv run main.py
README.md

An MCP server that enables users to book, cancel, reschedule, and list appointments

MCP Appointment Booking Server

📌 Overview

This project implements an **MCP (Modular Conversational Protocol) server** for appointment booking. It leverages **agent.yaml** and **functions.yaml** files from the `Result` folder to define conversational behavior and available tools. The server enables users to **book, cancel, reschedule, and list appointments** through conversational interactions. All appointments can be access through appointment.yaml file

📂 Project Structure

Project Structure

Architecture diagram for MCP Appointment Booking Server Workflow

![Archtecture](architecture-diagram.png)

⚙️ Features

  • Check Availability: Verify if a time slot is free.
  • Book Appointment: Reserve a slot for a customer.
  • Cancel Appointment: Delete an appointment by ID.
  • Reschedule Appointment: Change date/time of an existing appointment.
  • List Appointments: Retrieve all appointments for a given user.

🚀 Installation

Clone the repo

  git clone 

Ensure you have Python >=3.10 <=3.13 installed on your system to install CrewAI.

Install dependencies

  pip install -r requirements.txt

Customizing

Replace agent and function files as you need

yaml files

Run the Code

  uv run mcp install main.py  

Connect MCP with your custom chatbot

OR

Connect MCP with chatbot app like Claude

📑 Example Workflow

Agent Conversation

  • Guided by agent.yaml
  • Defines persona, conversation flow, and instructions for the appointment assistant

Functions

  • Defined in functions.yaml
  • Provide backend logic for booking, canceling, rescheduling, and listing appointments

Workflow Steps

  1. User requests an appointment
  2. Agent asks for required details (customerName, service, date, time, durationMinutes)
  3. Server executes the appropriate tool from functions.yaml
  4. Results are stored in appointments.yaml for persistence

Chatbot plug with MCP Appointment Booking Server

chats


Tools (5)

check_availabilityVerify if a specific time slot is free.
book_appointmentReserve a slot for a customer.
cancel_appointmentDelete an appointment by ID.
reschedule_appointmentChange date or time of an existing appointment.
list_appointmentsRetrieve all appointments for a given user.

Configuration

claude_desktop_config.json
{"mcpServers": {"appointment-booking": {"command": "uv", "args": ["run", "main.py"]}}}

Try it

Check if there is an available slot for a haircut on October 25th at 2 PM.
Book an appointment for John Doe for a consultation on November 1st at 10 AM for 30 minutes.
List all my current appointments.
Reschedule my appointment with ID 123 to November 2nd at 3 PM.
Cancel my appointment with ID 456.

Frequently Asked Questions

What are the key features of Appointment Booking Server?

Check availability for specific time slots. Book new appointments with customer details. Cancel existing appointments by ID. Reschedule appointments to new dates and times. List all appointments for a specific user.

What can I use Appointment Booking Server for?

Automating scheduling for small business owners via a chatbot. Managing personal calendar appointments through natural language. Integrating appointment booking workflows into custom AI assistants.

How do I install Appointment Booking Server?

Install Appointment Booking Server by running: git clone <path> && pip install -r requirements.txt

What MCP clients work with Appointment Booking Server?

Appointment Booking Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Appointment Booking Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare