音声通話MCPサーバー
Claude やその他の AI アシスタントが Twilio と OpenAI (GPT-4o リアルタイム モデル) を使用して音声通話を開始および管理できるようにするモデル コンテキスト プロトコル (MCP) サーバー。
これをベースにして、AI を活用した音声通話の検討を開始し、時間を節約し、その上に追加の機能を開発します。

シーケンス図
Related MCP server: TwilioManager MCP
特徴
Twilio 経由で電話をかける 📞
GPT-4o Realtime モデルを使用して通話音声をリアルタイムで処理します 🎙️
通話中にリアルタイムで言語を切り替える 🌐
一般的な通話シナリオ(レストランの予約など)向けにあらかじめ構築されたプロンプト🍽️
ngrok による自動パブリック URL トンネリング 🔄
資格情報の安全な取り扱い 🔒
なぜMCPなのか?
モデルコンテキストプロトコル(MCP)は、AIアシスタントと現実世界の行動の間のギャップを埋めます。MCPを実装することで、このサーバーはClaudeのようなAIモデルに以下の機能を提供します。
ユーザーに代わって実際に電話をかける
リアルタイムの音声会話を処理して応答する
音声通信を必要とする複雑なタスクを実行する
このオープンソース実装は透明性とカスタマイズ性を提供し、開発者がデータとプライバシーを制御しながら機能を拡張できるようにします。
要件
Node.js >= 22
Node.js を更新する必要がある場合は、
nvm(Node Version Manager) を使用することをお勧めします。nvm install 22 nvm use 22
API 認証情報を持つ Twilio アカウント
OpenAI APIキー
Ngrok 認証トークン
インストール
手動インストール
リポジトリをクローンする
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認証トークンRECORD_CALLS: 通話を記録するには「true」に設定します(オプション)
クロードデスクトップ構成
このサーバーを 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 アカウントのレート制限と料金に注意してください
音声会話:AIが自然な会話をリアルタイムで処理します
通話時間: 通話時間は 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のIssueやプルリクエストには、電話番号やAPI認証情報などの機密情報を含めないでください。このサーバーは機密性の高い通信を扱っています。責任を持って導入し、すべての認証情報が安全に保管されるようお願いいたします。
新たなミッションの時期が来たか?
当社では、音声 AI の最先端技術を構築し、それを次世代の通信事業者に組み込むエンジニアを募集しています。
興味がありますか? careers.popcorn.space 🍿 をご覧ください!