Skip to main content
Glama
Manish-Awase

MCP Appointment Booking Server

by Manish-Awase
README.md
# 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](File-structure.png)

## 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
```bash
  git clone <path>
````
 Ensure you have Python **>=3.10 <=3.13** installed on your system to install CrewAI.
# Install dependencies
```bash
  pip install -r requirements.txt
````
## Customizing
Replace agent and function files as you need

![yaml files](config.png)

# Run the Code
```bash
  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](Chat.png)

---