open-dental-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENDENTAL_CUSTOMER_KEY | Yes | Your Open Dental Customer API Key generated per-customer in the Developer Portal. | |
| OPENDENTAL_DEVELOPER_KEY | Yes | Your Open Dental Developer API Key from the Developer Portal. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_patientA | Fetch a single patient by PatNum (Open Dental's internal patient ID). |
| find_patientsA | Search for patients by name / phone / email / DOB. Returns matching records. At least one criterion must be provided. Use this to find a patient's
PatNum before calling |
| update_patientA | Update fields on an existing patient record.
|
| find_appointmentsA | List appointments with optional filters. Use |
| get_appointmentB | Fetch a single appointment by AptNum. |
| create_appointmentA | Create a new appointment.
|
| list_providersA | List all providers (dentists + hygienists) in the practice. |
| list_clinicsA | List clinics (offices) accessible to this developer account. |
| list_operatoriesB | List operatories (treatment rooms). Optionally filter by clinic number. |
| list_appointment_typesB | List appointment type definitions (cleaning, filling, exam, etc.). |
| find_procedurelogsC | List procedure log entries (treatments performed). Filterable. |
| log_communicationB | Log a phone call / email / message to a patient chart (commlog). Open Dental uses integer codes — see: https://www.opendental.com/site/apicommlogs.html Common values: comm_type: 1=ApptRelated, 2=Insurance, 3=Recalls/Statements, 4=General, 5=Lab, 6=Financial, 7=Medical, 8=Other comm_mode: 1=None, 2=Phone, 3=Email, 4=TextMessage, 5=Mail sent_or_received: 0=Sent, 1=Received |
| find_recallsB | List recalls due for patients. Use |
| health_checkA | Verify credentials are valid by hitting /providers (always accessible). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool has a clear and distinct purpose, targeting different entities (appointments, patients, procedures, recalls, clinics, etc.) with no overlap or ambiguity.
All tools follow a consistent verb_noun pattern using lowercase with underscores (e.g., create_appointment, list_providers), making them predictable and easy to understand.
With 14 tools covering core dental practice operations, the count is well-scoped and appropriate for the domain, avoiding bloat or insufficiency.
The tool set is predominantly read-focused, missing critical write operations such as creating patients or updating/deleting appointments, which limits agent autonomy and may cause failures.