dental-calendar-mcp
Designed for integration with ElevenLabs Conversational AI agents, enabling voice-driven management of dental appointments using the MCP tools.
Manages dental clinic appointments through Google Calendar, including checking availability, booking, canceling, rescheduling, and listing appointments with patient information and conflict detection.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@dental-calendar-mcpcheck available slots for March 15th at 10am"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dental Calendar MCP Server
A Model Context Protocol (MCP) server for managing dental clinic appointments through Google Calendar, specifically designed for integration with ElevenLabs Conversational AI agents.
Overview
This MCP server provides ElevenLabs AI agents with the ability to:
Check available appointment slots
Book new appointments
Cancel existing appointments
Reschedule appointments
Retrieve appointment details
List appointments in date ranges
Find appointments by patient phone number
Related MCP server: Google Calendar MCP Server
Features
Google Calendar Integration: Full integration with Google Calendar API v3
Business Hours Validation: Respects clinic hours and working days
Appointment Type Management: Different appointment types with appropriate durations
Conflict Detection: Prevents double-booking and scheduling conflicts
Natural Language Support: Handles various date/time formats from voice input
Comprehensive Error Handling: Provides helpful error messages for ElevenLabs agents
Patient Information Management: Stores patient details in calendar events
Automatic Reminders: Configures email reminders for appointments
Quick Start
1. Prerequisites
Node.js 18+ installed
Google Cloud Console project with Calendar API enabled
Google OAuth2 credentials
2. Installation
cd google-calendar-mcp
npm install3. Configuration
Copy
.env.exampleto.env:
cp .env.example .envConfigure your environment variables in
.env:
GOOGLE_CLIENT_ID=your_google_client_id_here
GOOGLE_CLIENT_SECRET=your_google_client_secret_here
GOOGLE_REDIRECT_URI=http://localhost:3000/auth/google/callback
GOOGLE_CALENDAR_ID=primarySet up Google OAuth (see Google OAuth Setup Guide)
4. Build and Run
npm run build
npm startMCP Tools
check_available_slots
Check available appointment time slots for a specific date.
Parameters:
date(string): Date to check (YYYY-MM-DD or natural language)duration(number, optional): Appointment duration in minutes (default: 30)timeRange(object, optional): Limit search to specific hours
Example:
{
"date": "2024-03-15",
"duration": 30,
"timeRange": {
"start": "09:00",
"end": "17:00"
}
}book_appointment
Book a new dental appointment.
Parameters:
patient_name(string): Patient's full namephone(string): Patient's phone numberemail(string): Patient's email addressdatetime(string): Appointment date/timeduration(number, optional): Duration in minutes (default: 30)appointment_type(string, optional): Type of appointment (default: "checkup")notes(string, optional): Additional notes
Example:
{
"patient_name": "John Smith",
"phone": "555-123-4567",
"email": "john@example.com",
"datetime": "2024-03-15T10:00:00",
"duration": 45,
"appointment_type": "cleaning",
"notes": "First time patient"
}cancel_appointment
Cancel an existing appointment.
Parameters:
appointment_id(string): Unique appointment ID
reschedule_appointment
Move an appointment to a new date/time.
Parameters:
appointment_id(string): Unique appointment IDnew_datetime(string): New appointment date/time
get_appointment_details
Retrieve detailed information about a specific appointment.
Parameters:
appointment_id(string): Unique appointment ID
find_appointment_by_phone
Find upcoming appointments for a patient by phone number.
Parameters:
phone(string): Patient's phone number
list_appointments
List all appointments within a date range.
Parameters:
date_range(object): Start and end datesstart(string): Start dateend(string): End date
Integration with ElevenLabs
This MCP server is designed to work seamlessly with ElevenLabs Conversational AI agents. The tools provide structured responses that ElevenLabs agents can easily interpret and respond to naturally.
Example ElevenLabs Integration
Configure Claude Desktop to include this MCP server
Train your ElevenLabs agent with appointment booking flows
Use the MCP tools within your conversational flows
See ElevenLabs Integration Guide for detailed setup instructions.
Configuration
Dental Clinic Settings
Customize clinic-specific settings in config/dental-settings.json:
Business Hours: Define working hours for each day
Appointment Types: Configure types, durations, and buffer times
Holidays: List clinic closure dates
Policies: Set booking rules and restrictions
Environment Variables
Variable | Description | Required |
| Google OAuth2 Client ID | Yes |
| Google OAuth2 Client Secret | Yes |
| OAuth2 Redirect URI | Yes |
| Calendar ID to use (default: "primary") | No |
| Name of the dental clinic | No |
| Clinic timezone (default: "America/New_York") | No |
| Default start time (default: "09:00") | No |
| Default end time (default: "17:00") | No |
Development
Building
npm run buildDevelopment Mode
npm run devTesting
npm testClaude Desktop Configuration
Add this MCP server to your Claude Desktop configuration:
{
"mcpServers": {
"dental-calendar": {
"command": "node",
"args": ["/path/to/dental-ai-system/google-calendar-mcp/dist/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your_client_id",
"GOOGLE_CLIENT_SECRET": "your_client_secret",
"GOOGLE_REDIRECT_URI": "your_redirect_uri"
}
}
}
}Error Handling
The server provides comprehensive error handling with helpful messages:
Validation Errors: Clear messages about invalid input
Scheduling Conflicts: Suggestions for alternative times
API Errors: Graceful handling of Google Calendar API issues
Business Logic Errors: Helpful guidance for booking policies
Security
OAuth2 authentication for Google Calendar access
Patient information stored securely in calendar events
Input validation and sanitization
No storage of sensitive credentials in code
Support
For issues and questions:
Check the Google OAuth Setup Guide
Review the ElevenLabs Integration Guide
Verify your configuration matches the examples
License
MIT License - see LICENSE file for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Roelovanheeren/dental-calendar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server