Dental Clinic Appointments MCP Server

Manage dental clinic appointments with full CRUD operations.

README.md

Dental Clinic Appointments MCP Server

A Model Context Protocol (MCP) server for managing dental clinic appointments with full CRUD operations. Stores appointments in a local JSON file with patient information, appointment types, and status tracking.

Features

  • Create dental appointments with patient information and appointment type
  • Read appointments (list all or get specific appointment)
  • Update existing appointments and status
  • Delete appointments
  • Filter appointments by date range, patient name, appointment type, dentist, or status
  • Track appointment status (scheduled, confirmed, completed, cancelled, no_show)
  • Support for multiple appointment types (checkup, cleaning, filling, root canal, etc.)
  • Local JSON file storage (no external dependencies)

Installation

  1. Install dependencies:
npm install
  1. Make the script executable (optional):
chmod +x index.js

Configuration

Add this server to your MCP settings file. The location depends on your client:

Claude Desktop (macOS)

Edit: ~/Library/Application Support/Claude/claude_desktop_config.json

Claude Desktop (Windows)

Edit: %APPDATA%\Claude\claude_desktop_config.json

Configuration Example

{
  "mcpServers": {
    "dental-appointments": {
      "command": "node",
      "args": ["/absolute/path/to/appointments-mcp/index.js"]
    }
  }
}

Important: Replace /absolute/path/to/appointments-mcp/ with the actual absolute path to this directory.

Available Tools

1. create_appointment

Create a new dental appointment.

Required Parameters:

  • patientName: Full name of the patient
  • patientPhone: Patient's phone number
  • date: Date in YYYY-MM-DD format
  • time: Time in HH:MM format (24-hour)
  • appointmentType: Type of appointment (see types below)

Optional Parameters:

  • patientEmail: Patient's email address
  • duration: Duration in minutes (default: 30)
  • dentist: Name of the assigned dentist
  • notes: Additional notes about the appointment
  • status: scheduled, confirmed, completed, cancelled, no_show (default: scheduled)
  • isNewPatient: Boolean indicating if this is a new patient

Appointment Types:

  • checkup - Regular dental checkup
  • cleaning - Teeth cleaning
  • filling - Cavity filling
  • root_canal - Root canal treatment
  • extraction - Tooth extraction
  • crown - Crown placement
  • whitening - Teeth whitening
  • orthodontics - Braces/orthodontic treatment
  • emergency - Emergency dental care
  • consultation - Initial consultation
  • other - Other procedures

Example:

{
  "patientName": "Sarah Johnson",
  "patientPhone": "+1-555-0123",
  "patientEmail": "sarah.j@email.com",
  "date": "2026-01-27",
  "time": "14:30",
  "duration": 60,
  "appointmentType": "root_canal",
  "dentist": "Dr. Smith",
  "notes": "Patient reported tooth sensitivity",
  "isNewPatient": false
}

2. list_appointments

List all appointments with optional filtering.

Parameters (all optional):

  • startDate: Filter appointments from this date (YYYY-MM-DD)
  • endDate: Filter appointments until this date (YYYY-MM-DD)
  • patientName: Filter by patient name (partial match)
  • appointmentType: Filter by specific appointment type
  • status: Filter by status
  • dentist: Filter by dentist name

Example:

{
  "startDate": "2026-01-25",
  "endDate": "2026-01-31",
  "status": "scheduled"
}

3. get_appointment

Get details of a specific appointment.

Parameters:

  • id: The appointment ID

Example:

{
  "id": "apt_1234567890_abc123def"
}

4. update_appointment

Update an existing appointment.

Parameters:

  • id (required): The appointment ID to update
  • All other fields from create_appointment (optional)

Example - Confirming an appointment:

{
  "id": "apt_1234567890_abc123def",
  "status": "confirmed"
}

Example - Rescheduling:

{
  "id": "apt_1234567890_abc123def",
  "date": "2026-01-28",
  "time": "10:00"
}

5. delete_appointment

Delete an appointment.

Parameters:

  • id: The appointment ID to delete

Example:

{
  "id": "apt_1234567890_abc123def"
}

Data Storage

Appointments are stored in appointments.json in the same directory as the server. The file is automatically created on first use.

Data Structure

[
  {
    "id": "apt_1737740400000_xyz789abc",
    "patientName": "Sarah Johnson",
    "patientPhone": "+1-555-0123",
    "patientEmail": "sarah.j@email.com",
    "date": "2026-01-27",
    "time": "14:30",
    "duration": 60,
    "appointmentType": "root_canal",
    "dentist": "Dr. Smith",
    "notes": "Patient reported tooth sensitivity",
    "status": "confirmed",
    "isNewPatient": false,
    "createdAt": "2026-01-24T17:00:00.000Z",
    "updatedAt": "2026-01-24T18:00:00.000Z"
  }
]

Usage Examples

Once configured, you can interact with the appointments through your MCP client:

**Creating appointm

Tools 5

create_appointmentCreate a new dental appointment.
list_appointmentsList all appointments with optional filtering.
get_appointmentGet details of a specific appointment.
update_appointmentUpdate an existing appointment.
delete_appointmentDelete an appointment.

Try it

Create a new appointment for Sarah Johnson on 2026-02-01 at 10:00 for a cleaning.
List all scheduled appointments for Dr. Smith next week.
Update the status of appointment apt_1234567890_abc123def to confirmed.
Find all appointments for patient Sarah Johnson.
Delete the appointment with ID apt_1234567890_abc123def.

Frequently Asked Questions

What are the key features of Dental Clinic Appointments?

Full CRUD operations for dental appointments. Filter appointments by date, patient, dentist, or status. Track appointment status including scheduled, confirmed, and completed. Support for multiple appointment types like checkups and root canals. Local JSON file storage with no external dependencies.

What can I use Dental Clinic Appointments for?

Managing daily patient schedules for a small dental practice. Tracking appointment status updates for front-desk operations. Filtering patient history by dentist or appointment type. Automating appointment rescheduling for patients.

How do I install Dental Clinic Appointments?

Install Dental Clinic Appointments by running: npm install

What MCP clients work with Dental Clinic Appointments?

Dental Clinic Appointments 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 Dental Clinic Appointments docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Open Conare