内容
# @dental-ai/mcp-server
提供给任何AI代理的完整牙科诊所功能——患者管理、预约安排、保险验证和短信通讯。
与 [Open Dental](https://www.opendental.com/) (最流行的开源牙科PMS)和 [Twilio](https://www.twilio.com/) 配合使用,实现短信功能。内置演示模式,无需任何凭证即可运行。
## 工具列表
### 患者
| 工具 | 描述 |
|------|-------------|
| `find_patient` | 按姓名、电话或出生日期搜索 |
| `create_patient` | 注册新患者(带有重复检测) |
| `get_patient` | 按ID获取完整患者记录 |
### 预约
| 工具 | 描述 |
|------|-------------|
| `get_appointment_types` | 列出可用类型,包含时长、CDT代码和价格范围 |
| `find_available_slots` | 按日期范围、提供者或预约类型搜索开放时段 |
| `book_appointment` | 预订预约(首先验证患者存在) |
| `cancel_appointment` | 取消预约并可选填写原因 |
| `get_patient_appointments` | 获取患者的所有预约 |
### 诊所
| 工具 | 描述 |
|------|-------------|
| `get_office_info` | 诊所名称、地址、电话、营业时间 |
| `get_providers` | 列出牙医和卫生师,包含专科信息 |
| `check_insurance` | 检查是否接受某个保险或列出所有保险计划 |
| `get_office_hours` | 获取完整一周或特定日期的营业时间 |
### 通讯
| 工具 | 描述 |
|------|-------------|
| `send_sms` | 通过Twilio发送任意短信 |
| `send_appointment_confirmation` | 带有诊所品牌的模板确认 |
| `send_appointment_reminder` | 模板化24小时提醒 |
## 快速开始
### 安装
```bash
npm install -g @dental-ai/mcp-server
```
### 演示模式(无需凭证)
只需将服务器添加到您的Claude配置中——它立即与模拟数据一起工作:
**Claude 代码** (`~/.claude/settings.json`):
```json
{
"mcpServers": {
"dental-office": {
"command": "dental-mcp"
}
}
}
```
**Claude 桌面版** (`claude_desktop_config.json`):
```json
{
"mcpServers": {
"dental-office": {
"command": "npx",
"args": ["-y", "@dental-ai/mcp-server"]
}
}
}
```
演示模式包含5个样本患者、4个提供者、8个保险计划、逼真的调度与冲突检测以及短信预览。
### 生产模式(Open Dental + Twilio)
```json
{
"mcpServers": {
"dental-office": {
"command": "dental-mcp",
"env": {
"DENTAL_PRACTICE_NAME": "Bright Smile Dental",
"DENTAL_PHONE": "(512) 555-0200",
"DENTAL_ADDRESS": "123 Main Street",
"DENTAL_CITY": "Austin",
"DENTAL_STATE": "TX",
"DENTAL_ZIP": "78701",
"DENTAL_TIMEZONE": "America/Chicago",
"OPEN_DENTAL_DEV_KEY": "your-developer-key",
"OPEN_DENTAL_CUST_KEY": "your-customer-key",
"TWILIO_ACCOUNT_SID": "ACxxxxxxxx",
"TWILIO_AUTH_TOKEN": "your-auth-token",
"TWILIO_PHONE_NUMBER": "+15125550200"
}
}
}
}
```
## 环境变量
| 变量 | 是否必需 | 描述 |
|----------|----------|-------------|
| `DENTAL_PRACTICE_NAME` | 否 | 诊所名称(默认: "Bright Smile Dental") |
| `DENTAL_PHONE` | 否 | 办公室电话号码 |
| `DENTAL_ADDRESS` | 否 | 街道地址 |
| `DENTAL_CITY` | 否 | 城市 |
| `DENTAL_STATE` | 否 | 州代码 |
| `DENTAL_ZIP` | 否 | 邮政编码 |
| `DENTAL_TIMEZONE` | 否 | IANA时区(默认: "America/Chicago") |
| `OPEN_DENTAL_API_BASE` | 否 | API网址(默认:Open Dental生产环境) |
| `OPEN_DENTAL_DEV_KEY` | 生产环境必填 | Open Dental的开发者密钥 |
| `OPEN_DENTAL_CUST_KEY` | 生产环境必填 | Open Dental的客户密钥 |
| `TWILIO_ACCOUNT_SID` | 发送短信必填 | Twilio账户SID |
| `TWILIO_AUTH_TOKEN` | 发送短信必填 | Twilio身份验证令牌 |
| `TWILIO_PHONE_NUMBER` | 发送短信必填 | Twilio电话号码(E.164格式) |
如果未设置Open Dental密钥,服务器将使用带有演示数据的模拟适配器。如果未设置Twilio密钥,短信工具将显示将要发送的内容,但实际上不会发送。
## 架构
```
┌─────────────────────────────────────────────┐
│ dental-mcp 服务器 │
│ │
│ ┌─────────┐ ┌──────────┐ ┌────────────┐ │
│ │ 患者 │ │ 预约 │ │ 诊所 │ │
│ │ 工具 │ │ 工具 │ │ 工具 │ │
│ └────┬─────┘ └────┬─────┘ └─────┬──────┘ │
│ │ │ │ │
│ ┌────┴────────────┴─────────────┘ │
│ │ PMSAdapter 接口 │
│ ├─────────────────┬────────────────┐ │
│ │ 模拟适配器 │ OpenDental适配器│ │
│ │ (演示数据) │ (REST API) │ │
│ └─────────────────┴────────────────┘ │
│ │
│ ┌──────────────┐ │
│ │ 通讯工具 │ → Twilio 短信 API │
│ │ (send_sms, │ (或演示预览) │
│ │ confirm, │ │
│ │ remind) │ │
│ └──────────────┘ │
└─────────────────────────────────────────────┘
```
## 预约类型(15)
内置的CDT编码预约类型,包含时长和价格范围:
| 类型 | CDT 代码 | 时长 | 类别 |
|------|----------|----------|----------|
| 清洁与检查 | D0120+D1110 | 60分钟 | 预防 |
| 新患者检查 | D0150+D0210 | 90分钟 | 预防 |
| 紧急 / 牙痛 | D0140 | 30分钟 | 紧急 |
| 填充 | D2391 | 45分钟 | 修复 |
| 冠预备 | D2740 | 90分钟 | 修复 |
| 冠安装 | D2740-install | 30分钟 | 修复 |
| 根管治疗 | D3310 | 90分钟 | 修复 |
| 拔牙 | D7140 | 45分钟 | 手术 |
| 智齿拔除 | D7230 | 60分钟 | 手术 |
| 牙齿美白 | D9972 | 60分钟 | 美容 |
| Veneer 咨询 | D0160 | 30分钟 | 美容 |
| 植入物咨询 | D0160-implant | 45分钟 | 手术 |
| 矫正咨询 | D8660 | 45分钟 | 矫正 |
| 深度清洁(SRP) | D4341 | 90分钟 | 预防 |
| 夜磨牙保护 | D9944 | 30分钟 | 预防 |
## 使用场景
- **AI 接待员**:语音AI代理(Vapi、Retell、Pipecat)用于预约、回答保险问题和发送确认信息
- **聊天机器人小部件**:网站聊天用于在无需工作人员干预的情况下处理预约
- **内部助理**:Claude帮助前台人员查找患者信息、查看日程和发送提醒
- **批量操作**:自动提醒活动、保险验证、预约跟进
## 获取 Open Dental API 访问权限
1. 发送电子邮件至 `vendor.relations@opendental.com` 请求开发者密钥
2. 说明您正在构建牙科诊所的AI集成
3. 他们将提供开发者凭证 + 沙盒访问权限(免费)
4. 客户密钥来自安装Open Dental的个别诊所
## 相关 MCP 服务器
- **[@phone-mcp/server](https://github.com/petesumners/phone-mcp)** — 8个电话工具(呼叫、短信、来电显示、录音)。与dental-mcp自然配对,构成完整的AI接待员堆栈。
- **[@lucid-dream/mcp-server](https://github.com/petesumners/lucid-mcp)** — AI代理的合成梦境。累积上下文的创造性代码生成。
## 许可证
MIT