cc-caller — Claude Code向け通話通知システム

Web

概要

cc-caller は、AI(Claude Code)がユーザーに「電話」をかける体験を提供するオープンソースの仕組みです。AI側が通知や緊急呼び出しを発した際、MCPサーバー(caller-mcp)を仲介にしてバックエンドとブラウザクライアントを接続し、TTSで音声を再生、STTでユーザーの返答を取得することで双方向の音声/テキストコミュニケーションを実現します。4段階の緊急度に対応し、ブラウザベースで来電受信やリアルタイム応答が可能。TypeScriptで実装され、Dockerfile等によるコンテナ化の準備があります。

GitHub

リポジトリの統計情報

  • スター数: 5
  • フォーク数: 1
  • ウォッチャー数: 5
  • コミット数: 2
  • ファイル数: 12
  • メインの言語: TypeScript

主な特徴

  • Claude Code からの「来電通知」をブラウザで受け取れるインターフェース
  • TTS(Text-to-Speech)でAIの発言を音声再生、STT(Speech-to-Text)でユーザー応答を取得
  • 緊急度を低/通常/高/緊急の4段階で扱える優先度管理
  • MCPサーバー(caller-mcp)を経由した分離されたアーキテクチャとWebSocketによるリアルタイム通信

技術的なポイント

cc-caller の設計は「分離とリアルタイム性」を軸にしており、Claude Code(AI)と実際のユーザー端末を直接つなぐのではなく、MCPサーバー(caller-mcp)をブローカーとして挟むことで柔軟性と安全性を担保しています。MCPサーバーは通知の仲介、呼び出しの制御、優先度判定、コネクション管理を担い、バックエンドにはWebSocketベースのリアルタイム経路が用意されている想定です。これにより低遅延で音声・テキストを双方向に流せます。

音声面ではTTSでAIのメッセージを再生し、ユーザーの返信はSTTで文字化されてAIにフィードバックされます。実装言語はTypeScriptで、型安全性とエディタの補完を活かしてクライアント/サーバー双方を統一して開発しやすくしています。Dockerfile と .dockerignore が含まれているため、コンテナ化によるデプロイやスケールアウトも想定できます。

拡張性の観点では、TTS/STTエンジンをプロバイダーレベルで切替可能にすると実運用での柔軟性が上がります。また、緊急度に応じた通知チャネル振り分け(音声強度・リトライポリシー・複数端末への同報)や認証・認可(APIキーやJWT)を導入することで実運用に耐える設計になります。なお、音声ストリーミングの品質確保(コーデック、バッファリング、パケットロス対策)や、WebSocketの再接続ロジック、負荷分散(MCPの水平スケール)を考慮することが重要です。

セキュリティ面では、MCPを境界としたアクセス制御、通信のTLS化、ユーザー同意の取得(音声記録等)を実装するとよいでしょう。ログや監査を充実させれば、誰がいつ通話に出たか/不在だったかを追跡できます。最後に、Claude Code 側のフックやイベント定義を明確にしておくと、他のエージェント/自動化ワークフローとも統合しやすくなります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .dockerignore: file
  • .github: dir
  • .gitignore: file
  • Dockerfile: file
  • README.md: file

その他のファイル(例):TypeScriptソース、設定ファイル、簡易のクライアントUIやサンプル構成などが含まれている想定です。リポジトリ全体でファイル数は12、実行やビルドのための最低限の設定が揃っています。Dockerfile があるため、ローカルでの検証はコンテナ化して行うことができます。

…他 7 ファイル

まとめ

Claude Code とユーザーのリアルタイム音声通知を簡潔に実現するTypeScript製の軽量プロジェクトです(50字程度)。

リポジトリ情報:

READMEの抜粋:

📞 cc-caller

让 Claude Code 在完成任务或遇到困难时,能够”打电话”给你!

🎯 功能特性

  • 🔔 来电通知: Claude Code 可以发起”电话”呼叫
  • 🎤 语音交互: 使用 TTS 播放 Claude 的消息,STT 识别你的回复
  • ⚡ 紧急程度: 支持 4 级紧急程度(低/正常/高/紧急)
  • 💬 双向通信: 实时语音或文字回复
  • 🌐 Web 应用: 在浏览器中接收来电

🏗️ 系统架构

┌──────────────┐     ┌──────────────────┐     ┌──────────────────┐
│ Claude Code  │────▶│   MCP Server     │────▶│   后端服务       │
│              │     │ (caller-mcp)     │     │ (WebSocket)      │
└──────────────┘     └──────────────────┘     ...