Thruai Voice Agent Server について
ThruAI MCP Server は、AI エージェントを ThruAI の音声エージェントプラットフォームに接続します。ツールとリソースで、エージェントや電話番号、通話、ワークフロー、キャンペーン、Webhook、分析を扱えます。
主な機能
- 01音声エージェントの作成と管理
- 02通話の発信と文字起こしの確認
- 03電話番号の取得と割り当て
- 04ワークフローと架電キャンペーンの構築
- 05Webhook とカスタムツールの管理
- 06利用量、コスト、プロバイダーの確認
活用シーン
- 01電話番号付きの音声エージェントを設定
- 02営業またはサポートの架電を実施
- 03通話の文字起こしと利用状況を確認
- 04ワークフローやキャンペーンで業務を自動化
MCP 対応
50 種類以上の ThruAI プラットフォームツールと読み取り専用リソースを MCP クライアントに公開し、API キーで ThruAI REST API にアクセスします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ThruAI MCP サーバー
ThruAI 音声エージェントプラットフォーム向けの Model Context Protocol サーバー
Claude、GPT、カスタムエージェントなどの AI アシスタントが、Model Context Protocol(MCP)を通じて ThruAI の音声 AI 機能を検出し、利用できるようにします。
⚡ ベータ版のお知らせ: ThruAI は現在も積極的に開発中です。デフォルトの API エンドポイント(
api.thru.ai)では、ベータ期間中にカスタムのベース URL が必要になる場合があります。必要に応じて、環境でTHRUAI_BASE_URLを設定してください。早期アクセスに申し込む →
機能
- 🚀 クイックスタート:1 つのコマンドで、電話番号付きの設定済み音声エージェントを作成
- 🤖 音声エージェント:AI 音声エージェント(S2S または従来のパイプライン)の完全な CRUD 操作
- 📞 発信通話:エージェントから任意の電話番号に発信
- 📊 分析:コンポーネント別の内訳を含む使用量とコストの分析
- 📱 テレフォニー:電話番号の検索、取得、割り当て
- 🔄 ワークフロー:30 種類以上のノードタイプ(CRM、カレンダー、メール、シート、Web、ソーシャル)を使った複雑な自動化を構築
- 📢 キャンペーン:連絡先の管理を自動化した大規模な発信
- 🔔 Webhook:リアルタイムのイベント通知(call.completed、transcript.ready など)
- 🛠️ カスタムツール:ライブ会話中にエージェントが呼び出す Webhook ベースのツールを定義
- 🎤 プロバイダーの検出:利用可能な LLM/TTS/STT プロバイダー、音声、モデルを一覧表示
- 💬 フィードバック:バグ報告や機能リクエストを送信
- 🔍 スキーマの検出:フィールド名の入力ミスを防ぐため、正確な API スキーマを取得
- 📦 50 種類以上のツール:ThruAI プラットフォーム全体を網羅
- 🎯 AI ファースト:AI エージェントとの連携に特化して設計
インストール
オプション 1:npx で使用(推奨)
インストールは不要です。npx で直接実行できます。
THRUAI_API_KEY=sk_live_... npx github:mgWellPay/thruai-mcp-server
オプション 2:グローバルにインストール
npm install -g github:mgWellPay/thruai-mcp-server
THRUAI_API_KEY=sk_live_... thruai-mcp
オプション 3:ローカルにインストール
npm install github:mgWellPay/thruai-mcp-server
クイックスタート
1. API キーを取得する
- thru.ai でサインアップします
- 「Settings」→「API Keys」に移動します
- 新しい API キーを作成します(
sk_live_で始まります)
2. Claude Code を設定する
Claude Code の設定(~/.config/claude-code/config.json)に追加します。
{
"mcpServers": {
"thruai": {
"command": "npx",
"args": ["github:mgWellPay/thruai-mcp-server"],
"env": {
"THRUAI_API_KEY": "sk_live_...",
"THRUAI_BASE_URL": "https://api.thru.ai"
}
}
}
}
3. Claude で ThruAI ツールを使い始める
User: Create a voice agent that answers customer support questions
Claude: I'll use the quickstart tool to create a fully configured agent with a phone number:
<uses quickstart tool>
{
"name": "Support Agent",
"systemPrompt": "You are a helpful customer support agent. Answer questions about our products and help resolve issues.",
"areaCode": "415"
}
✅ Success! Agent "Support Agent" is ready!
Phone: +1 (415) 555-1234
Agent ID: AGT-abc123
You can now:
• Call +1 (415) 555-1234 to test the agent
• Make outbound calls with make_call tool
• View call history with list_calls tool
利用可能なツール(50 種類以上)
ThruAI MCP サーバーでは、ドメイン別に整理された 50 種類以上のツールを通じて、プラットフォームの全機能を利用できます。
🚀 クイックスタート
quickstart
1 回の呼び出しでエージェントと電話番号を作成(推奨)
1 つのコマンドで、電話番号付きの設定済み音声エージェントを作成します。最も手早く始める方法です。
{
name: string; // Agent name
systemPrompt?: string; // AI instructions
areaCode?: string; // Default: "415"
voice?: string; // Default: "alloy"
model?: string; // Default: "gpt-realtime"
}
例:
Use quickstart with:
- name: "Sales Agent"
- systemPrompt: "You are a sales agent for Acme Corp. Qualify leads and book demos."
- areaCode: "212"
🤖 エージェント管理(6 種類のツール)
create_agent
スマートなデフォルト設定を使って音声エージェントを作成します。最低レイテンシーを実現するには、S2S パイプラインを推奨します。
get_agent
エージェントの設定とステータスの詳細を取得します。
update_agent
エージェント名、システムプロンプト、音声、その他の設定を更新します。
delete_agent
エージェントを完全に削除します。
list_agents
ページネーションを使用して、すべてのエージェントを一覧表示します。
例:
{
page?: number; // Default: 1
pageSize?: number; // Default: 50
}
📞 通話(3 種類のツール)
make_call
エージェントから任意の電話番号に発信します。
{
agentId: string; // AGT-xxxxx
to: string; // E.164 format: "+14155551234"
from?: string; // Optional: specific number to call from
}
list_calls
エージェント、ステータス、日付範囲で絞り込んで、最近の通話を一覧表示します。
get_call
文字起こし、通話時間、コスト、AI による分析情報を含む、通話の詳細をすべて取得します。
📱 テレフォニー(3 種類のツール)
search_numbers
市外局番と国を指定して、利用可能な電話番号を検索します。
{
areaCode?: string; // e.g., "415", "212"
country?: string; // Default: "US"
limit?: number; // Default: 10
}
provision_number
電話番号を購入します。
assign_number
着信/発信に使用する電話番号をエージェントに割り当てます。
🔄 ワークフロー(9 種類のツール)
30 種類以上のノードタイプ(CRM、カレンダー、メール、シート、Web、ソーシャル、ロジック)を使って、複雑な自動化を構築します。
create_workflow
ノードとエッジを指定して、新しいワークフローを作成します。
get_workflow
完全な DAG 定義を含む、ワークフローの詳細を取得します。
update_workflow
ワークフローの設定またはロジックを更新します。
delete_workflow
ワークフローを削除します。
publish_workflow
ワークフローを公開し、実行可能にします。
unpublish_workflow
変更中に実行されないよう、ワークフローの公開を解除します。
trigger_workflow
ワークフローの実行を手動でトリガーします。
list_workflows
すべてのワークフローを一覧表示します。
list_workflow_executions
ステータスとエラーを含む実行履歴を表示します。
📢 キャンペーン(8 ツール)
自動化された連絡先管理で、大規模なアウトバウンド通話を実施します。
create_campaign
新しいアウトバウンド通話キャンペーンを作成します。
get_campaign
キャンペーンの詳細と設定を取得します。
update_campaign
キャンペーンの設定を更新します。
delete_campaign
キャンペーンを削除します。
start_campaign
キャンペーン内の連絡先への発信を開始します。
pause_campaign
実行中のキャンペーンを一時停止します。
add_campaign_contacts
電話番号とメタデータを含む連絡先を追加します。
{
campaignId: string;
contacts: Array<{
phoneNumber: string;
name?: string;
customData?: Record<string, unknown>;
}>;
}
get_campaign_stats
キュー内、進行中、完了、失敗、成功率などのリアルタイム統計情報を取得します。
list_campaigns
ステータスで絞り込んで、すべてのキャンペーンを一覧表示します。
🔔 Webhook(6 ツール)
call.completed、transcript.ready、workflow.completed などのリアルタイムイベント通知を行います。
create_webhook
HMAC 署名検証を使用してイベントを購読します。
{
url: string; // HTTPS endpoint
events: string[]; // ["call.completed", "transcript.ready"]
secret?: string; // For HMAC verification
}
get_webhook
Webhook の詳細を取得します。
update_webhook
URL、イベント、または有効状態を更新します。
delete_webhook
Webhook の購読を削除します。
test_webhook
設定を確認するためにテストイベントを送信します。
list_webhook_deliveries
ステータスコードとエラーを含む配信試行を表示します。
list_webhooks
すべての Webhook 購読を一覧表示します。
🛠️ カスタムツール(6 ツール)
エージェントが通話中に呼び出す、Webhook ベースのツールを定義します。
create_tool
エージェントがリアルタイムで呼び出せるカスタムツールを作成します。
{
name: string; // Tool name for agent invocation
description?: string;
url: string; // HTTPS endpoint
parameters?: Record<string, unknown>; // JSON schema
timeout?: number; // 1-30 seconds
}
get_tool
ツールの詳細と設定を取得します。
update_tool
ツールの URL、パラメーター、またはタイムアウトを更新します。
delete_tool
ツールを削除します(エージェントが参照している場合は警告します)。
test_tool
サンプルペイロードを使用してツールをテストします。
list_tools
すべてのカスタムツールを一覧表示します。
📊 分析(2 ツール)
コンポーネント別の内訳を含む、使用状況とコストの分析です。
get_usage_analytics
通話数、通話時間、文字起こしの使用状況を取得します。
{
startDate?: string; // ISO 8601
endDate?: string;
granularity?: 'day' | 'week' | 'month';
}
get_cost_analytics
LLM、TTS、STT、テレフォニー別の内訳を含むコストを取得します。
🎤 プロバイダー(3 ツール)
利用可能な LLM、TTS、STT プロバイダーを確認します。
list_providers
タイプ(llm、tts、stt)ごとにグループ化して、すべてのプロバイダーを一覧表示します。
list_voices
TTS プロバイダー(ElevenLabs、Cartesia、Google)の音声を一覧表示します。
list_models
LLM または STT プロバイダー(OpenAI、Anthropic、Groq)のモデルを一覧表示します。
💬 フィードバック(3 ツール)
バグ報告、機能リクエスト、一般的なフィードバックを送信して追跡します。
submit_feedback
ThruAI チームにフィードバックを送信します。
{
type: 'bug' | 'feature' | 'general';
subject: string;
description: string;
priority?: 'low' | 'medium' | 'high';
}
get_feedback
フィードバックの詳細を取得します。
list_feedback
すべてのフィードバック送信内容を一覧表示します。
🔍 スキーマの確認(1 ツール)
get_schemas
フィールド名の入力ミスを防ぐため、正確な API スキーマを確認します。すべてのエンドポイントの Zod スキーマを返します。
設定
環境変数
THRUAI_API_KEY(必須):https://thru.ai/settings/api-keys から取得した ThruAI API キーTHRUAI_BASE_URL(任意):API のベース URL(デフォルト:https://api.thru.ai)
Claude Code の設定
~/.config/claude-code/config.json:
{
"mcpServers": {
"thruai": {
"command": "npx",
"args": ["github:mgWellPay/thruai-mcp-server"],
"env": {
"THRUAI_API_KEY": "sk_live_your_key_here",
"THRUAI_BASE_URL": "https://api.thru.ai"
}
}
}
}
Claude Desktop の設定
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) %APPDATA%/Claude/claude_desktop_config.json(Windows)
{
"mcpServers": {
"thruai": {
"command": "npx",
"args": ["github:mgWellPay/thruai-mcp-server"],
"env": {
"THRUAI_API_KEY": "sk_live_your_key_here"
}
}
}
}
使用例
例 1:カスタマーサポートエージェントを作成する
User: Create a customer support agent for my SaaS company
Claude: I'll create a fully configured support agent with quickstart:
<uses quickstart>
{
"name": "SaaS Support Agent",
"systemPrompt": "You are a helpful customer support agent for [Company]. Help users with: account issues, billing questions, feature explanations, and bug reports. Always be friendly and professional. If you can't solve an issue, offer to escalate to a human agent.",
"areaCode": "650"
}
✅ Agent ready! Phone: +1 (650) 555-7890
例 2:アウトバウンドの営業電話をかける
User: Call this lead list and qualify them
[+14155551234, +14155552345, +14155553456]
Claude: I'll make outbound calls to each lead:
<uses make_call for each number>
Initiated 3 calls:
1. +14155551234 - Call ID: CALL-abc
2. +14155552345 - Call ID: CALL-def
3. +14155553456 - Call ID: CALL-ghi
I can check the results with list_calls or get_call once they complete.
例 3:通話の文字起こしを分析する
User: Show me the transcripts from yesterday's calls
Claude: <uses list_calls with date filter>
Found 12 completed calls. Here are the highlights:
Call CALL-abc123 (8 min, $0.12):
- Lead: Interested in Enterprise plan
- Next step: Send pricing proposal
- Sentiment: Positive
<uses get_call to fetch full transcripts for analysis>
MCP リソース
MCP リソースは、AI エージェントが現在の状態を把握するために照会できる読み取り専用のデータソースです。ThruAI MCP サーバーは、以下を公開します。
- thruai://agents - すべての音声エージェントの一覧
- thruai://workflows - すべてのワークフローの一覧
- thruai://campaigns - すべてのキャンペーンの一覧
- thruai://webhooks - Webhook サブスクリプションの一覧
- thruai://tools - カスタムツールの一覧
- thruai://providers - モデルと音声を含む、利用可能な LLM/TTS/STT プロバイダー
- thruai://calls/recent - 最近の通話履歴
リソースは、AI エージェントがアクセスすると自動的に更新されます。
Claude での使用方法:
User: Show me all my agents
Claude: <reads thruai://agents resource>
You have 3 agents:
1. Support Agent (AGT-abc123) - Active
2. Sales Agent (AGT-def456) - Active
3. Demo Agent (AGT-ghi789) - Draft
アーキテクチャ
この MCP サーバーは ThruAI の公開 REST API を使用して、以下を行います。
- 認証:API キー(Bearer トークン)を使用します
- リソースの作成:エージェント、電話番号、ワークフロー、キャンペーンを作成します
- 通話の開始:テレフォニー API 経由で発信します
- データの取得:通話ログ、文字起こし、分析データ、実行履歴を取得します
- Webhook の管理:リアルタイムイベントを購読します
- ツールの定義:会話中に利用する、Webhook ベースのカスタムツールを定義します
すべてのリクエストは https://api.thru.ai/api/v1/public/ 経由で送信されます。
今後の機能
以下の機能は開発中で、近日中に公開 API に追加される予定です。
🧠 学習システム(近日公開)
- get_agent_analytics:パフォーマンス指標、感情分析、解決率
- get_recommendations:AI が生成するプロンプト改善の提案
- create_experiment:エージェント設定の A/B テスト
📚 ナレッジベース(近日公開)
- crawl_website:ウェブサイトのコンテンツからナレッジベースを構築します
- query_knowledge:通話中に RAG(検索拡張生成)を利用します
これらの機能は現在内部で利用可能で、今後のアップデートで公開 API を通じて利用できるようになります。
音声エージェントについて
ThruAI の音声エージェントは、以下の機能を持つ AI 搭載システムです。
- 通話への応答:割り当てられた電話番号への着信に応答します
- 発信:任意の電話番号に発信します
- 自然な会話:高度な音声間 AI を使用します(レイテンシー 200~400ms)
- 指示に従う:システムプロンプト(ChatGPT など)で設定します
- アクションの実行:ワークフローを通じて CRM、カレンダー、データベースと連携します
パイプラインモード
S2S(音声から音声) - 推奨:
- 1 つのモデルが音声から音声への変換を一度に処理します
- 超高速:エンドツーエンドのレイテンシーは 200~400ms です
- OpenAI Realtime API(
gpt-4o-realtime) - 10 種類の音声:alloy、ash、ballad、coral、echo、sage、shimmer、verse
従来型(STT → LLM → TTS):
- 3 つの個別のステップ:音声からテキストへの変換 → 言語モデル → テキストから音声への変換
- より低速:レイテンシーは 800~1200ms です
- 柔軟性が高く、プロバイダーを組み合わせられます(ElevenLabs の音声 + Claude LLM)
- S2S にない特定の音声が必要な場合にのみ使用してください
トラブルシューティング
「認証に失敗しました」
API キーを確認してください。
sk_live_またはsk_test_で始まっていること- https://thru.ai/settings/api-keys から取得してください
THRUAI_API_KEY環境変数に設定してください
「電話番号のプロビジョニングに失敗しました」
よくある原因:
- 支払い方法が登録されていない:https://thru.ai/settings/billing から追加してください
- 市外局番が利用できない:
search_numbersで別の市外局番を試してください - 電話番号の上限に達している:プランをアップグレードするか、サポートにお問い合わせください
「エージェントが見つかりません」
以下を確認してください。
- エージェント ID の形式が正しいこと:
AGT-xxxxx - エージェントが組織に属していること
list_agentsを使用して、利用可能なエージェントを確認すること
MCP サーバーが Claude に表示されない
- 設定ファイルの場所と構文を確認します
- Claude Code/Desktop を再起動します
- 標準エラー出力を確認します:
npx github:mgWellPay/thruai-mcp-server 2>&1 | tee mcp.log - API キーが有効であることを確認します
サポート
- ドキュメント:https://thru.ai/docs
- API リファレンス:https://api.thru.ai/api/v1/public/
- 問題の報告:https://github.com/thruai/thruai-mcp-server/issues
- メール:[email protected]
ライセンス
MIT License - 詳細は LICENSE ファイルをご覧ください
Links
- ThruAI Platform: https://thru.ai
- API Documentation: https://thru.ai/docs/api
- MCP Specification: https://modelcontextprotocol.io
- Claude Code: https://claude.ai/code
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。