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

## Architecture diagram for MCP Appointment Booking Server Workflow

---
## ⚙️ 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

# 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

---This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues