About Clinic Bot
Clinic Bot is an MCP server in the RAG category: aI-powered medical clinic chatbot using Model Context Protocol (MCP) with Google Gemini AI. Features appointment management, clinic information retrieval via ChromaDB vector search, and a responsive React frontend. Built with Node.js, MongoDB, and MCP Server architecture.
Install
git clone https://github.com/sankett13/MCP-Clinic-BotThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Clinic Bot
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
🏥 CareWell Medical Clinic ChatBot
An AI-powered medical clinic chatbot built with Model Context Protocol (MCP) that provides intelligent appointment management and clinic information retrieval through a modern, responsive interface.
✨ Features
- Smart Appointment Management: Book, check, update, and cancel appointments
- Intelligent Information Retrieval: ChromaDB-powered vector search for clinic information
- 24/7 Availability: AI assistant available round the clock
- Mobile-First Design: Fully responsive interface with mobile optimization
- Real-time Chat: Instant responses with typing indicators
- Function Tracking: Visual indicators showing which AI functions were used
- Error Handling: Graceful error handling with user-friendly messages
🚀 Tech Stack
Frontend
- React 19 - Modern UI library
- Vite - Fast build tool and dev server
- TailwindCSS - Utility-first CSS framework
- Lucide React - Beautiful icon library
- Responsive Design - Mobile-first approach
Backend
- Node.js - Runtime environment
- Express.js - Web framework
- MongoDB - Database for appointment storage
- ChromaDB - Vector database for clinic information
- Model Context Protocol (MCP) - AI agent communication protocol
AI & ML
- Google Gemini AI - Large language model
- MCP Server - Tool execution and management
- Vector Search - Semantic information retrieval
📋 Prerequisites
- Node.js (v18 or higher)
- MongoDB (local or cloud instance)
- Google Gemini API key
- npm or yarn package manager
🛠️ Installation & Setup
1. Clone the Repository
git clone https://github.com/sankett13/MCP-Clinic-Bot.git
cd MCP-Clinic-Bot
2. Backend Setup
cd backend
npm install
Create a .env file in the backend directory:
GEMINI_API_KEY=your_gemini_api_key
MONGODB_URI=mongodb://localhost:27017/clinic_chatbot
PORT=5000
3. Frontend Setup
cd frontend/mcp_chatbot
npm install
4. Start the Application
Backend (Terminal 1):
cd backend
npm run dev
Frontend (Terminal 2):
cd frontend/mcp_chatbot
npm run dev
MCP Server Inspector (Terminal 3 - Optional):
cd backend
npm run inspector
The application will be available at:
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:5000 - MCP Inspector:
http://localhost:3000
🏗️ Project Structure
MCP_ChatBot_Clinic/
├── backend/
│ ├── controllers/
│ │ └── chatManager.js
│ ├── models/
│ │ └── appointment.js
│ ├── routes/
│ │ └── mcpRouter.js
│ ├── services/
│ │ ├── initializeChromaDB.js
│ │ ├── initializeMcpServer.js
│ │ └── mcpServer.js
│ ├── chromaDB_store.js
│ ├── connection.js
│ ├── server.js
│ └── package.json
├── frontend/
│ └── mcp_chatbot/
│ ├── src/
│ │ ├── components/
│ │ │ ├── ChatBot.jsx
│ │ │ ├── Header.jsx
│ │ │ ├── Hero.jsx
│ │ │ ├── Services.jsx
│ │ │ ├── About.jsx
│ │ │ ├── Contact.jsx
│ │ │ └── Footer.jsx
│ │ ├── assets/
│ │ ├── App.jsx
│ │ └── main.jsx
│ └── package.json
└── README.md
🔧 Available MCP Tools
The chatbot uses the following MCP tools:
- createAppointment - Book new appointments
- checkForAppointments - View existing appointments
- updateAppointment - Modify appointment details
- deleteAppointment - Cancel appointments
- ClinicInfo - Retrieve clinic information using vector search
💬 Usage Examples
Book an Appointment:
User: "I'd like to book an appointment for tomorrow at 2 PM"
Bot: "I'll help you book an appointment. Could you please provide your name, email, and phone number?"
Check Appointments:
User: "Do I have any appointments this week?"
Bot: "Let me check your appointments. What's your name?"
Clinic Information:
User: "What services do you provide?"
Bot: "CareWell Medical Clinic offers comprehensive healthcare services including..."
🎯 Key Components
ChatBot Component
- Real-time messaging interface
- Mobile-responsive design
- Quick action buttons
- Function usage tracking
- Error handling with retry logic
MCP Server
- Tool registration and execution
- Database operations
- Vector search capabilities
- Error handling and validation
ChromaDB Integration
- Semantic search for clinic information
- Vector embeddings for improved relevance
- Fast query responses
🔒 Environment Variables
Backend (.env)
GEMINI_API_KEY=your_gemini_api_key_here
MONGODB_URI=mongodb://localhost:27017/clinic_chatbot
PORT=5000
NODE_ENV=development
📱 Features in Detail
Responsive Design
- Mobile-first approach with touch-optimized interactions
- Adaptive chat window sizing
- Optimized quick actions for different screen sizes
Error Handling
- Network error recovery
- Graceful API failure handling
- User-friendly error messages
- Retry mechanisms
Performance Optimizations
- Lazy loading of components
- Optimized re-renders
- Efficient state management
- Vector search optimization
🧪 Development
Running Tests
# Backend tests
cd backend
npm test
# Frontend tests
cd frontend/mcp_chatbot
npm test
MCP Inspector
Use the MCP Inspector to debug and test MCP tools:
cd backend
npm run inspector
🚀 Deployment
Production Build
# Frontend
cd frontend/mcp_chatbot
npm run build
# Backend
cd backend
npm start
Environment Setup
Ensure all environment variables are properly configured for production:
- Database connection strings
- API keys
- CORS settings
- Port configurations
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Model Context Protocol for the MCP framework
- Google Gemini AI for the language model
- ChromaDB for vector database capabilities
- React and Vite for the frontend framework
Built with ❤️ using Model Context Protocol and modern web technologies
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.