关于 Voice Call MCP Server
Voice Call MCP Server 是一个 MCP 服务,让 Claude 等 AI 助手通过 Twilio 发起并管理外呼电话,并使用 GPT-4o Realtime 模型实时处理通话音频。它可作为开发 AI 语音通话功能的基础项目。
主要功能
- 01通过 Twilio 发起外呼电话
- 02使用 GPT-4o Realtime 实时处理通话音频
- 03通话中实时切换语言
- 04提供餐厅预订等常见场景的预置提示词
- 05通过 ngrok 自动生成公网地址
- 06凭据通过环境变量管理
适用场景
- 01代为拨打电话通知对方信息
- 02通过语音完成餐厅预订
- 03与诊所沟通改期预约
MCP 相关
该服务向 MCP 客户端暴露外呼通话能力,AI 助手可通过它发起并管理电话。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
语音通话 MCP 服务
一个 Model Context Protocol(MCP)服务,可让 Claude 和其他 AI 助手使用 Twilio 和 OpenAI(GPT-4o Realtime 模型)发起和管理语音通话。
将其作为起点,开启由 AI 驱动的语音通话探索,节省时间,并在此基础上开发更多功能。

时序图
sequenceDiagram
participant AI as AI Assistant (e.g., Claude)
participant MCP as MCP Server
participant Twilio as Twilio
participant Phone as Destination Phone
participant OpenAI as OpenAI
AI->>MCP: 1) Initiate outbound call request <br>(POST /calls)
MCP->>Twilio: 2) Place outbound call via Twilio API
Twilio->>Phone: 3) Ring the destination phone
Twilio->>MCP: 4) Call status updates & audio callbacks (webhooks)
MCP->>OpenAI: 5) Forward real-time audio to OpenaAI's realtime model
OpenAI->>MCP: 6) Return voice stream
MCP->>Twilio: 7) Send voice stream
Twilio->>Phone: 8) Forward voice stream
Note over Phone: Two-way conversation continues <br>until the call ends
功能
- 通过 Twilio 拨打电话 📞
- 使用 GPT-4o Realtime 模型实时处理通话音频 🎙️
- 在通话期间实时切换语言 🌐
- 为常见通话场景(如餐厅预订)预置提示词 🍽️
- 使用 ngrok 自动建立公共 URL 隧道 🔄
- 安全处理凭据 🔒
为什么选择 MCP?
Model Context Protocol(MCP)弥合了 AI 助手与现实世界操作之间的差距。通过实现 MCP,此服务可让 Claude 等 AI 模型:
- 代表用户发起实际电话
- 处理并回应实时音频对话
- 执行需要语音通信的复杂任务
这个开源实现提供了透明度和可定制性,让开发者能够扩展功能,同时掌控自己的数据和隐私。
要求
- Node.js >= 22
- 如果需要更新 Node.js,建议使用
nvm(Node Version Manager):nvm install 22 nvm use 22
- 如果需要更新 Node.js,建议使用
- Twilio 账户及 API 凭据
- OpenAI API 密钥
- Ngrok Authtoken
安装
手动安装
-
克隆仓库
git clone https://github.com/lukaskai/voice-call-mcp-server.git cd voice-call-mcp-server -
安装依赖并构建
npm install npm run build
配置
此服务需要设置多个环境变量:
TWILIO_ACCOUNT_SID:你的 Twilio 账户 SIDTWILIO_AUTH_TOKEN:你的 Twilio 身份验证令牌TWILIO_NUMBER:你的 Twilio 号码OPENAI_API_KEY:你的 OpenAI API 密钥NGROK_AUTHTOKEN:你的 ngrok AuthtokenRECORD_CALLS:设为 "true" 以录制通话(可选)
Claude Desktop 配置
要在 Claude Desktop 中使用此服务,请将以下内容添加到配置文件中:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"voice-call": {
"command": "node",
"args": ["/path/to/your/mcp-new/dist/start-all.cjs"],
"env": {
"TWILIO_ACCOUNT_SID": "your_account_sid",
"TWILIO_AUTH_TOKEN": "your_auth_token",
"TWILIO_NUMBER": "your_e.164_format_number",
"OPENAI_API_KEY": "your_openai_api_key",
"NGROK_AUTHTOKEN": "your_ngrok_authtoken"
}
}
}
}
完成后,重启 Claude Desktop 以重新加载配置。 连接成功后,你应该能在 🔨 菜单下看到 Voice Call。
与 Claude 的交互示例
以下是通过 Claude 与此服务交互的一些自然方式:
- 简单通话:
Can you call +1-123-456-7890 and let them know I'll be 15 minutes late for our meeting?
- 餐厅预订:
Please call Delicious Restaurant at +1-123-456-7890 and make a reservation for 4 people tonight at 7:30 PM. Please speak in German.
- 预约安排:
Please call Expert Dental NYC (+1-123-456-7899) and reschedule my Monday appointment to next Friday between 4–6pm.
重要说明
- 电话号码格式:所有电话号码都必须采用 E.164 格式(例如,+11234567890)
- 速率限制:请留意 Twilio 和 OpenAI 账户的速率限制及定价
- 语音对话:AI 将实时处理自然对话
- 通话时长:请留意通话时长,因为这会影响 OpenAI API 和 Twilio 的费用
- 公开访问:请注意,ngrok 隧道会将你的服务公开,以便 Twilio 访问(但使用随机 URL,并由随机密钥保护)
故障排除
常见错误消息及解决方案:
-
"Phone number must be in E.164 format"
- 确保电话号码以 "+" 和国家代码开头
-
"Invalid credentials"
- 仔细检查你的 TWILIO_ACCOUNT_SID 和 TWILIO_AUTH_TOKEN。你可以从 Twilio Console 复制这些信息
-
"OpenAI API error"
- 确认你的 OPENAI_API_KEY 正确且有足够的额度
-
"Ngrok tunnel failed to start"
- 确保你的 NGROK_AUTHTOKEN 有效且未过期
-
"OpenAI Realtime does not detect the end of voice input, or is lagging."
- 有时,Twilio 与接收方网络运营商之间可能存在语音编码问题。请尝试更换接收方。
贡献
欢迎贡献!以下是我们希望改进的一些方面:
- 支持当前实现之外的多种 AI 模型
- 添加数据库集成,在本地存储对话历史记录,并使其可供 AI 上下文使用
- 降低延迟并缩短响应时间,提升通话体验
- 改进错误处理和恢复机制
- 添加更多适用于常见场景的预置对话模板
- 改进通话监控和分析
如果你想参与贡献,请先提交一个 issue 讨论你的想法,然后再提交 pull request。
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
安全
请勿在 GitHub issue 或 pull request 中包含任何敏感信息(如电话号码或 API 凭据)。此服务会处理敏感通信;请负责任地部署,并确保所有凭据都得到妥善保护。
开启新的使命?
我们正在招聘工程师,致力于构建语音 AI 前沿技术,并将其融入新一代电信服务。
感兴趣吗?请访问 careers.popcorn.space 🍿 !
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。