remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides secure public URL tunneling to make the server accessible for Twilio's webhook callbacks during calls
Processes real-time call audio using OpenAI's realtime model to enable natural voice conversations and responds with generated voice streams
Allows placing outbound phone calls, receiving call status updates, and handling real-time audio through Twilio's telephony services
语音呼叫MCP服务器
模型上下文协议 (MCP) 服务器,使 Claude 和其他 AI 助手能够使用 Twilio 和 OpenAI (GPT-4o 实时模型) 发起和管理语音通话。
以此为基础,启动您的人工智能语音呼叫探索,节省时间并在其基础上开发附加功能。
序列图
特征
- 通过 Twilio 拨打电话📞
- 使用 GPT-4o 实时模型实时处理通话音频🎙️
- 通话期间实时切换语言🌐
- 针对常见呼叫场景(如餐厅预订)的预建提示🍽️
- 使用 ngrok 自动进行公共 URL 隧道传输
- 安全处理凭证🔒
为什么选择 MCP?
模型上下文协议 (MCP) 弥合了 AI 助手与现实世界操作之间的差距。通过实施 MCP,该服务器允许像 Claude 这样的 AI 模型实现以下功能:
- 代表用户发起实际电话呼叫
- 处理并响应实时音频对话
- 执行需要语音通信的复杂任务
这种开源实现提供了透明度和可定制性,允许开发人员扩展功能,同时保持对其数据和隐私的控制。
要求
- Node.js >= 22
- 如果需要更新 Node.js,我们建议使用
nvm
(Node 版本管理器):Copy
- 如果需要更新 Node.js,我们建议使用
- 具有 API 凭证的 Twilio 帐户
- OpenAI API 密钥
- Ngrok 授权令牌
安装
手动安装
- 克隆存储库Copy
- 安装依赖项并构建Copy
配置
服务器需要几个环境变量:
TWILIO_ACCOUNT_SID
:您的 Twilio 帐户 SIDTWILIO_AUTH_TOKEN
:您的 Twilio 身份验证令牌TWILIO_NUMBER
:您的 Twilio 号码OPENAI_API_KEY
:您的 OpenAI API 密钥NGROK_AUTHTOKEN
:您的 ngrok 授权令牌RECORD_CALLS
:设置为“true”以记录通话(可选)
Claude桌面配置
要将此服务器与 Claude Desktop 一起使用,请将以下内容添加到您的配置文件中:
macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
Windows : %APPDATA%\Claude\claude_desktop_config.json
之后,重新启动 Claude Desktop 以重新加载配置。如果已连接,您应该会在 🔨 菜单下看到“语音通话”功能。
与克劳德互动的示例
以下是通过 Claude 与服务器交互的一些自然方式:
- 简单调用:
- 餐厅预订:
- 预约安排:
重要提示
- 电话号码格式:所有电话号码必须采用 E.164 格式(例如 +11234567890)
- 速率限制:注意你的 Twilio 和 OpenAI 帐户的速率限制和定价
- 语音对话:人工智能将实时处理自然对话
- 通话时长:请注意通话时长,因为它会影响 OpenAI API 和 Twilio 的成本
- 公开暴露:请注意,ngrok 隧道会将您的服务器公开暴露给 Twilio 以便其能够访问它(尽管使用随机 URL 并受随机密钥保护)
故障排除
常见错误信息及解决方法:
- “电话号码必须采用 E.164 格式”
- 确保电话号码以“+”开头,并包含国家代码
- “凭证无效”
- 仔细检查你的 TWILIO_ACCOUNT_SID 和 TWILIO_AUTH_TOKEN。你可以从Twilio 控制台复制它们。
- “OpenAI API 错误”
- 验证您的OPENAI_API_KEY是否正确且有足够的积分
- “Ngrok 隧道启动失败”
- 确保您的 NGROK_AUTHTOKEN 有效且未过期
- “OpenAI Realtime 无法检测到语音输入的结束,或者出现滞后。”
- 有时,Twilio 和接收器的网络运营商之间可能存在语音编码问题。请尝试使用其他接收器。
贡献
欢迎贡献!以下是我们希望改进的一些方面:
- 实现对当前实现之外的多种 AI 模型的支持
- 添加数据库集成以在本地存储对话历史记录并使其可用于 AI 上下文
- 改善延迟和响应时间以增强通话体验
- 增强错误处理和恢复机制
- 为常见场景添加更多预建对话模板
- 实施改进的呼叫监控和分析
如果您想做出贡献,请在提交拉取请求之前打开一个问题来讨论您的想法。
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
安全
请勿在 GitHub 问题或拉取请求中包含任何敏感信息(例如电话号码或 API 凭据)。此服务器处理敏感通信;请负责任地部署它并确保所有凭据的安全。
是时候执行新使命了吗?
我们正在招聘工程师来构建语音 AI 的前沿技术,并将其融入下一代电信公司。
好奇吗?前往careers.popcorn.space 🍿 !
This server cannot be installed
模型上下文协议服务器,使 Claude 等 AI 助手能够使用 Twilio 和 OpenAI 的语音模型发起和管理实时语音通话。