外呼电话MCP服务器

该项目实现了一个模型上下文协议(MCP)服务器,使AI代理能够拨打外呼电话、检索患者信息并通过患者ID发起呼叫,旨在与对话式AI集成以自动化患者外联,用于预约安排和其他通知。

  • by AshwinVagu
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 ashwinvagu/mcp_server_medical

使用说明

📞 出站呼叫MCP服务器

该项目实现了 模型上下文协议(MCP)服务器 它使AI代理能够拨打出站电话、检索患者信息,并通过患者的ID向患者发起呼叫。它旨在与会话式AI集成,以自动化患者预约和其他通知的外展。


✅ 核心功能

  • MCP集成:基于 @modelcontextprotocol/sdk,使其能够被兼容的AI代理无缝地用作工具。
  • 出站呼叫:使用可配置的API端点启动电话呼叫,旨在连接ElevenLabs和Twilio等服务。
  • 患者数据库:包括一个用于测试的模拟患者数据库,允许按ID检索患者详细信息。
  • 个性化沟通:根据患者数据动态生成个性化的来电提示和问候。
  • 三大核心功能:
    1. make_outbound_call:直接拨打给定号码。
    2. get_patient_details:从数据库中获取患者信息。
    3. 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 install

3.️⃣ 配置环境变量

创建一个 .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