📞 出站呼叫MCP服务器
该项目实现了 模型上下文协议(MCP)服务器 它使AI代理能够拨打出站电话、检索患者信息,并通过患者的ID向患者发起呼叫。它旨在与会话式AI集成,以自动化患者预约和其他通知的外展。
______________________________________________________________________
✅ 核心功能
- MCP集成:基于
@modelcontextprotocol/sdk,使其能够被兼容的AI代理无缝地用作工具。 - 出站呼叫:使用可配置的API端点启动电话呼叫,旨在连接ElevenLabs和Twilio等服务。
- 患者数据库:包括一个用于测试的模拟患者数据库,允许按ID检索患者详细信息。
- 个性化沟通:根据患者数据动态生成个性化的来电提示和问候。
- 三大核心功能:
1. make_outbound_call:直接拨打给定号码。 1. get_patient_details:从数据库中获取患者信息。 1. call_patient_by_id:结合患者查找和呼出电话,简化联系患者的流程。
______________________________________________________________________
项目结构
.
└── MCP_server_medical/
├── server.js # The main MCP server implementation
└── package.json # Project dependencies and scripts______________________________________________________________________
安装说明
1.️⃣ 先决条件
- 已安装Node.js和npm
- 与此服务器交互的现有MCP兼容AI代理。
- 服务器可以连接到的出站调用API端点(例如,使用Twilio和ElevenLabs构建的服务)。
______________________________________________________________________
二️⃣ 安装依赖关系
npm install3.️⃣ 配置环境变量
创建一个 .env 在项目根目录中创建文件,并添加以下内容:
OUTBOUND_CALL_API_URL=http://localhost:8000替换 http://localhost:8000 与您的出站调用API的实际URL。
4.️⃣ 运行服务器
node server.js服务器将启动并监听stdio上的请求。
______________________________________________________________________
可用功能
| 函数名称 | 描述 |
|---|---|
make_outbound_call | 使用AI代理发起出站电话。需要电话号码,并接受可选的自定义提示和初始消息。 |
get_patient_details | 从模拟数据库中按患者的唯一患者ID检索患者详细信息。 |
call_patient_by_id | 根据患者的ID查找患者,并为特定目的(例如,安排随访预约)向他们发起个性化的呼出电话。 |
______________________________________________________________________
示例用例
- 自动预约提醒:使用
call_patient_by_id功能是让人工智能代理呼叫下一次预约的患者。 - 患者信息检索:与聊天机器人集成,使医院工作人员能够使用
get_patient_details功能。 - 通用电话:使用
make_outbound_call功能适用于需要自动出站呼叫的任何场景。
______________________________________________________________________
工作流程
sequenceDiagram
participant AI Agent
participant MCP Server
participant Outbound Call API
AI Agent->>MCP Server: Request to call tool "call_patient_by_id" with patient_id
MCP Server->>MCP Server: Look up patient details in its database
MCP Server->>MCP Server: Generate personalized prompt and greeting
MCP Server->>Outbound Call API: POST /outbound-call with phone number and personalized messages
Outbound Call API-->>MCP Server: Return call SID and status
MCP Server-->>AI Agent: Return confirmation message with call details