使用说明

项目简介

本项目是一个实现了Model Context Protocol (MCP) 的服务器,专注于语音通话功能。它利用 Twilio 服务建立电话连接,并结合 OpenAI 的语音模型进行实时语音处理,使得AI助手(如 Claude)能够发起、管理和参与真实的电话对话。此服务器旨在弥合 AI 助手与现实世界行动之间的鸿沟,让 AI 模型能够执行需要语音通信的复杂任务,例如餐厅预订、日程安排等。

主要功能点

  • 发起外呼电话: 通过 Twilio API 拨打电话到指定号码。
  • 实时语音处理: 使用 OpenAI 的实时模型处理通话中的音频流,实现 AI 语音对话能力。
  • 预置Prompt模板: 提供预先构建的 Prompt 模板,用于常见的呼叫场景,如餐厅预订。
  • 自动公共URL隧道: 通过 ngrok 自动创建公共 URL 隧道,方便 Twilio 服务器回调连接。
  • 安全凭据处理: 安全地处理 Twilio 和 OpenAI 的 API 密钥等敏感信息。

安装步骤

  1. 克隆仓库

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

    npm install
    npm run build

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)配合使用,您需要在 MCP 客户端的配置文件中添加服务器配置信息。以下是针对 Claude Desktop 的配置示例,您需要根据实际情况修改路径和环境变量。

Claude Desktop 配置 (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"
      }
    }
  }
}

配置参数说明:

  • '"voice-call"': 服务器名称,可以自定义,在 Claude Desktop 中用于标识和选择此 MCP 服务器。
  • '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行环境。
  • '"args": ["/path/to/your/mcp-new/dist/start-all.cjs"]': 启动命令的参数,指向服务器启动脚本的路径。请将 '/path/to/your/mcp-new' 替换为实际的项目路径。
  • '"env"': 环境变量配置,包含服务器运行所需的 API 密钥和账户信息。
    • '"TWILIO_ACCOUNT_SID"': 您的 Twilio 账户 SID。
    • '"TWILIO_AUTH_TOKEN"': 您的 Twilio 认证令牌。
    • '"TWILIO_NUMBER"': 您的 Twilio 电话号码 (E.164 格式)。
    • '"OPENAI_API_KEY"': 您的 OpenAI API 密钥。
    • '"NGROK_AUTHTOKEN"': 您的 ngrok Authtoken,用于自动创建公共URL隧道。

环境变量配置:

除了 Claude Desktop 配置文件中的环境变量,您也可以在服务器运行环境中设置以下环境变量,作用相同:

  • 'TWILIO_ACCOUNT_SID'
  • 'TWILIO_AUTH_TOKEN'
  • 'TWILIO_NUMBER'
  • 'OPENAI_API_KEY'
  • 'NGROK_AUTHTOKEN'
  • 'RECORD_CALLS' (可选,设置为 "true" 以录制通话)
  • 'PORT' (可选,设置服务器端口,默认为 3004)

基本使用方法

  1. 启动服务器: 在项目根目录下运行 'npm run start-all' 启动服务器。
  2. 配置 MCP 客户端: 根据上述 “服务器配置” 部分,配置您的 MCP 客户端 (如 Claude Desktop) 连接到此服务器。
  3. 通过 MCP 客户端发起语音呼叫: 在 MCP 客户端中,使用自然语言指令指示 AI 助手发起语音呼叫。例如,在 Claude 中可以使用类似以下的指令:
    • 'Can you call +11234567890 and let them know I'll be 15 minutes late for our meeting?'
    • 'Please call Delicious Restaurant at +11234567890 and make a reservation for 4 people tonight at 7:30 PM.'

重要提示:

  • 电话号码格式: 所有电话号码必须使用 E.164 格式 (例如: +11234567890)。
  • API 密钥和账户: 确保您已配置正确的 Twilio 和 OpenAI API 密钥及 Twilio 账户信息。
  • Ngrok 隧道: ngrok 用于创建公共 URL,以便 Twilio 服务器可以回调连接到您的本地服务器。请确保 ngrok Authtoken 有效。
  • Claude Desktop 🔨 菜单: 成功配置后,您应该能在 Claude Desktop 的 🔨 菜单下看到 "Voice Call" 选项,表示 MCP 服务器已连接。

信息

分类

通信与社交