Skip to main content
Glama
popcornspace

Voice Call MCP Server

by popcornspace

语音呼叫MCP服务器

模型上下文协议 (MCP) 服务器,使 Claude 和其他 AI 助手能够使用 Twilio 和 OpenAI (GPT-4o 实时模型) 发起和管理语音通话。

以此为基础,启动您的人工智能语音呼叫探索,节省时间并在其基础上开发附加功能。

演示

序列图

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

Related MCP server: TwilioManager MCP

特征

  • 通过 Twilio 拨打电话📞

  • 使用 GPT-4o 实时模型实时处理通话音频🎙️

  • 通话期间实时切换语言🌐

  • 针对常见呼叫场景(如餐厅预订)的预建提示🍽️

  • 使用 ngrok 自动进行公共 URL 隧道传输

  • 安全处理凭证🔒

为什么选择 MCP?

模型上下文协议 (MCP) 弥合了 AI 助手与现实世界操作之间的差距。通过实施 MCP,该服务器允许像 Claude 这样的 AI 模型实现以下功能:

  1. 代表用户发起实际电话呼叫

  2. 处理并响应实时音频对话

  3. 执行需要语音通信的复杂任务

这种开源实现提供了透明度和可定制性,允许开发人员扩展功能,同时保持对其数据和隐私的控制。

要求

  • Node.js >= 22

    • 如果需要更新 Node.js,我们建议使用nvm (Node 版本管理器):

      nvm install 22 nvm use 22
  • 具有 API 凭证的 Twilio 帐户

  • OpenAI API 密钥

  • Ngrok 授权令牌

安装

手动安装

  1. 克隆存储库

    git clone https://github.com/lukaskai/voice-call-mcp-server.git cd voice-call-mcp-server
  2. 安装依赖项并构建

    npm install npm run build

配置

服务器需要几个环境变量:

  • TWILIO_ACCOUNT_SID :您的 Twilio 帐户 SID

  • TWILIO_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

{ "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 以重新加载配置。如果已连接,您应该会在 🔨 菜单下看到“语音通话”功能。

与克劳德互动的示例

以下是通过 Claude 与服务器交互的一些自然方式:

  1. 简单调用:

Can you call +1-123-456-7890 and let them know I'll be 15 minutes late for our meeting?
  1. 餐厅预订:

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.
  1. 预约安排:

Please call Expert Dental NYC (+1-123-456-7899) and reschedule my Monday appointment to next Friday between 4–6pm.

重要提示

  1. 电话号码格式:所有电话号码必须采用 E.164 格式(例如 +11234567890)

  2. 速率限制:注意你的 Twilio 和 OpenAI 帐户的速率限制和定价

  3. 语音对话:人工智能将实时处理自然对话

  4. 通话时长:请注意通话时长,因为它会影响 OpenAI API 和 Twilio 的成本

  5. 公开暴露:请注意,ngrok 隧道会将您的服务器公开暴露给 Twilio 以便其能够访问它(尽管使用随机 URL 并受随机密钥保护)

故障排除

常见错误信息及解决方法:

  1. “电话号码必须采用 E.164 格式”

    • 确保电话号码以“+”开头,并包含国家代码

  2. “凭证无效”

    • 仔细检查你的 TWILIO_ACCOUNT_SID 和 TWILIO_AUTH_TOKEN。你可以从Twilio 控制台复制它们。

  3. “OpenAI API 错误”

    • 验证您的OPENAI_API_KEY是否正确且有足够的积分

  4. “Ngrok 隧道启动失败”

    • 确保您的 NGROK_AUTHTOKEN 有效且未过期

  5. “OpenAI Realtime 无法检测到语音输入的结束,或者出现滞后。”

    • 有时,Twilio 和接收器的网络运营商之间可能存在语音编码问题。请尝试使用其他接收器。

贡献

欢迎贡献!以下是我们希望改进的一些方面:

  • 实现对当前实现之外的多种 AI 模型的支持

  • 添加数据库集成以在本地存储对话历史记录并使其可用于 AI 上下文

  • 改善延迟和响应时间以增强通话体验

  • 增强错误处理和恢复机制

  • 为常见场景添加更多预建对话模板

  • 实施改进的呼叫监控和分析

如果您想做出贡献,请在提交拉取请求之前打开一个问题来讨论您的想法。

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

安全

请勿在 GitHub 问题或拉取请求中包含任何敏感信息(例如电话号码或 API 凭据)。此服务器处理敏感通信;请负责任地部署它并确保所有凭据的安全。

是时候执行新使命了吗?

我们正在招聘工程师来构建语音 AI 的前沿技术,并将其融入下一代电信公司。

好奇吗?前往careers.popcorn.space 🍿 !

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/popcornspace/voice-call-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server