mcpField
V
Voice Call MCP Server

Voice Call MCP Server

ローカル
github.com/lukaskaiコミュニケーション6280 週間前に更新

Voice Call MCP Server について

Voice Call MCP Server は、Claude などの AI アシスタントが Twilio で外線通話を発信・管理できるようにする MCP サーバーです。通話音声は GPT-4o Realtime モデルで処理されます。AI 音声通話機能を開発するための基盤として利用できます。

主な機能

  1. 01Twilio による外線通話の発信
  2. 02GPT-4o Realtime によるリアルタイム音声処理
  3. 03通話中の言語切り替え
  4. 04予約などの一般的な通話用プロンプト
  5. 05ngrok による公開 URL の自動トンネリング
  6. 06環境変数による認証情報の管理

活用シーン

  1. 01相手先への連絡事項の音声伝達
  2. 02音声による飲食店の予約
  3. 03クリニックへの予約変更依頼

MCP 対応

本サーバーは外線通話機能を MCP クライアントに公開し、AI アシスタントが電話の発信と管理を行えるようにします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

音声通話 MCP サーバー

Claude やその他の AI アシスタントが、Twilio と OpenAI(GPT-4o Realtime モデル)を使用して音声通話を開始・管理できる Model Context Protocol(MCP)サーバーです。

このプロジェクトを出発点として、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 モデルが次のことを行えるようになります。

  1. ユーザーに代わって実際に電話をかける
  2. リアルタイムの音声会話を処理して応答する
  3. 音声によるコミュニケーションを必要とする複雑なタスクを実行する

このオープンソースの実装は透明性とカスタマイズ性を備えており、開発者はデータとプライバシーを管理しながら機能を拡張できます。

要件

  • Node.js >= 22
    • Node.js の更新が必要な場合は、nvm(Node Version Manager)の使用をおすすめします。
      nvm install 22
      nvm use 22
      
  • API 認証情報を設定した Twilio アカウント
  • OpenAI API キー
  • Ngrok Authtoken

インストール

手動インストール
  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 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 を通じてこのサーバーを利用する際の自然な対話例を紹介します。

  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. 音声での会話:AI が自然な会話をリアルタイムで処理します。
  4. 通話時間:通話時間は OpenAI API と Twilio の料金に影響するため、注意してください。
  5. 公開範囲:ngrok トンネルによって、Twilio がアクセスできるようサーバーがインターネットに公開される点に注意してください(ランダムな URL が使用され、ランダムなシークレットで保護されます)。

トラブルシューティング

よくあるエラーメッセージと解決方法:

  1. "Phone number must be in E.164 format"

    • 電話番号が「+」と国番号で始まっていることを確認してください。
  2. "Invalid credentials"

    • TWILIO_ACCOUNT_SID と TWILIO_AUTH_TOKEN を確認してください。これらは Twilio Console からコピーできます。
  3. "OpenAI API error"

    • OPENAI_API_KEY が正しく、有効なクレジットが十分にあることを確認してください。
  4. "Ngrok tunnel failed to start"

    • NGROK_AUTHTOKEN が有効で、期限切れでないことを確認してください。
  5. "OpenAI Realtime does not detect the end of voice input, or is lagging."

    • Twilio と受信側のネットワーク事業者の間で、音声エンコードに問題が発生することがあります。別の受信者でお試しください。

コントリビューション

コントリビューションを歓迎します!改善に取り組んでいる分野は次のとおりです。

  • 現在の実装に加えて、複数の AI モデルをサポートする
  • 会話履歴をローカルに保存し、AI のコンテキストとして利用できるデータベース連携を追加する
  • 通話体験を向上させるため、レイテンシと応答時間を改善する
  • エラー処理と復旧の仕組みを強化する
  • よくあるシナリオ向けの、事前作成済みの会話テンプレートを追加する
  • 通話のモニタリングと分析機能を改善する

コントリビューションをご希望の場合は、プルリクエストを送信する前に、アイデアを話し合うためのイシューを作成してください。

ライセンス

このプロジェクトは MIT ライセンスのもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。

セキュリティ

GitHub のイシューやプルリクエストには、電話番号や API 認証情報などの機密情報を含めないでください。このサーバーは機密性の高い通信を処理するため、責任を持ってデプロイし、すべての認証情報を安全に保管してください。

新たなミッションに挑みませんか?

音声 AI の最前線で開発し、次世代の通信事業者に組み込むエンジニアを募集しています。

興味がありますか?careers.popcorn.space をご覧ください 🍿 !

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。