Vobiz について
Vobizは、通話、メッセージ、IVR、記録、電話設定などのVobizアカウント操作を行う公式MCPサーバーです。MCPクライアント向けのアカウントツールに加え、製品を説明するVobiz Agent Skills、プロンプト、リソースを提供します。
主な機能
- 01通話や会議の発信と制御
- 02VobizXML IVRの構築
- 03通話記録と録音の参照
- 04番号、SIPトランク、アカウント設定の管理
- 05SMS、MMS、RCSメッセージの送信
- 06Vobiz Agent Skills、プロンプト、リソースの利用
活用シーン
- 01不在着信や通話録音の確認
- 02IVRの作成やSIPトランクの設定
- 03メッセージ送信とオプトアウト管理
- 04ホステッドコネクターでのリマインダー通話予約
MCP 対応
公式Vobiz MCP サーバーは、ツールを通じてアカウント操作を公開し、Vobiz Agent Skills、プロンプト、リソースも提供します。stdioとStreamable HTTPに対応し、OAuth 2.1を使うホステッドマルチテナント方式も利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.vobiz.ai/mcpclaude mcp add --transport http vobiz-ai-vobiz https://mcp.vobiz.ai/mcp{"mcpServers":{"vobiz-ai-vobiz":{"type":"http","url":"https://mcp.vobiz.ai/mcp"}}}Cursor で開く{"servers":{"vobiz-ai-vobiz":{"type":"http","url":"https://mcp.vobiz.ai/mcp"}}}VS Code で開く{"mcpServers":{"vobiz-ai-vobiz":{"type":"http","url":"https://mcp.vobiz.ai/mcp"}}}{"mcpServers":{"vobiz-ai-vobiz":{"serverUrl":"https://mcp.vobiz.ai/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Vobiz MCP サーバー
Vobiz の公式 Model Context Protocol サーバーです。Claude やその他の MCP クライアントから、Vobiz アカウント上で実際の作業を実行できます。
- 音声通話の発信と制御、会議の実施、通話音声の AI エージェントへのストリーミング
- VobizXML IVR の構築
- 通話記録と録音の読み取り
- 電話番号、SIP トランク、認証情報、IP 許可リスト、SIP エンドポイント、音声アプリケーション、サブアカウントの管理
- 請求取引の読み取り
- SMS、MMS、RCS メッセージの送信
- リマインダー通話と起床通話のスケジュール設定(ホスト型コネクター)
- 1 回の操作で相手に電話をかけて音声を再生するか、テキストを読み上げる:
say/playを指定したmake_call(ホスト型コネクター)
また、Vobiz Agent Skills も同梱されているため、モデルは実行前に各 Vobiz 製品の仕組みを把握できます。
| ツール | 13 のツールセットに 114 個:通話、通話中の制御、会議、メディア(音声ストリーム、録音、番号の解放、請求)、記録、IVR/XML、アカウントと番号、プロビジョニング(アプリケーション、番号の購入、SIP トランク)、SIP エンドポイントと認証情報、サブアカウント、メッセージング(SMS/MMS/RCS、配信停止)、スキル、および独自の音声を使ったリマインダー通話(ホスト型コネクター) |
| プロンプト | 17 個:Vobiz スキルごとに 1 つ。例:vobiz-voice-xml、vobiz-sip-trunking |
| リソース | vobiz://skills/index および vobiz://skills/{name}(補完機能付き) |
| トランスポート | stdio(npx)、1 アカウント用の Streamable HTTP、OAuth 2.1 対応のホスト型マルチテナント Streamable HTTP |
| 安全性 | 呼び出し、メッセージ送信、アカウント変更は、明示的に有効にするまで無効です。通話、メッセージ、購入、転送、プロビジョニング、削除には confirm: true が必要です。発信済みの通話に対する制御(キーパッド音、再生、読み上げ、ミュート)は、追加の確認なしで実行されます。通話とメッセージにはレート制限と冪等性が適用されます。VOBIZ_READ_ONLY と VOBIZ_TOOLSETS により、モデルに表示する内容を制限できます。 |
アカウント操作ではなくドキュメント検索をお探しですか?ホスト型の Vobiz Docs MCP server(
https://www.vobiz.ai/docs/mcp)をご利用ください。2 つのサーバーを併用すると便利です。
「6 時に電話して…」
ホスト型コネクター(https://mcp.vobiz.ai/mcp)では、「明日の 6 時に起こして」や「歯医者のことを思い出せるよう、3 時に電話して」と伝えられます。クライアントが schedule_reminder_call を 1 回呼び出せば、あとはサーバーが処理します。指定した時刻に Vobiz の番号から電話をかけ、メッセージを読み上げ、1 を押すとスヌーズ、2 を押すと確認、9 を押すと停止できるようにします。応答がない場合は再試行します。チャットを開いたままにしておく必要はありません。
サインイン時に Full access、Personal assistant(自分の番号へのリマインダー通話のみ。残高、番号、通話状況も確認できます)、または Read-only を選択し、自分の番号、任意の発信者番号、タイムゾーンを入力します。リマインダーは list_reminder_calls、get_reminder_call、cancel_reminder_call で管理できます。運用担当者の方は、docs/HOSTING.md をご覧ください。
「電話をかけて再生して」
ホスト型コネクターでは、「+919876543210 に電話して、アラームを再生して」、または 「+919876543210 に電話して、『お席の準備ができました』と伝えて」 という指示は、say(テキスト)や play(オーディオライブラリ内のファイル、または直接指定する https の .mp3/.wav リンク)を使った 1 回の make_call で実行できます。コネクターが通話スクリプトをホストし、通話中にコンテンツを再生または読み上げた後、通話を終了します(loop: 0 を指定すると、電話を切るまで音声が繰り返し再生されます)。Pixabay、YouTube、Spotify、SoundCloud などのウェブページは再生できません。ファイルへの直接リンクを指定するか、事前にオーディオライブラリにファイルを追加してください。docs/TOOLS.md を参照してください。
リマインダー通話で自分の音声を使う
「この MP3 をアラームとして使って」、または 「メッセージを録音させて」 と伝えてください。通話の開始時に、読み上げメッセージの前に音声が再生されます。プライベートなオーディオライブラリに音声を追加する方法は 3 つあります。
- アップロードページ。
create_audio_upload_linkを使うと、1 回限りのリンク(有効期限 15 分)が作成されます。リンクを開いてファイルを選択またはドロップするか、Record を押してマイクから録音し(最長 5 分)、名前を付けてください。 - チャットから直接。 ファイルを添付し、アシスタントがコードを実行できる場合、アシスタントが同じリンクを使ってファイルをアップロードします。
- 公開リンク。 https リンクを貼り付けると、アシスタントが
import_audio_from_urlを使って保存します。
続けて 「Morning alarm の音声を使って」 と伝えると、アシスタントはその名前を audio として schedule_reminder_call に渡します。MP3、WAV、M4A、OGG、WEBM、AAC、FLAC に対応しています。各ファイルは最大 15 MB、最長 5 分です。list_audio でファイルを確認し、delete_audio で削除できます。運用担当者は docs/HOSTING.md を参照してください。
目次
- できること
- 5 つの手順で Claude を接続する
- インストール(すべてのクライアント:docs/INSTALL.md)
- ツール
- スキル、プロンプト、リソース
- 安全性モデル
- 設定
- 実行モード
- ホスト型コネクター(OAuth)
- プライバシーポリシー
- 開発
- トラブルシューティング
- 関連情報
質問できること
| Claude への質問 | 実行される内容 |
|---|---|
| 「Vobiz の残高と、現在通話中の件数を教えてください」 | get_account_balance、get_concurrency、list_live_calls |
| 「昨日、+91 80 1234 5678 からの不在着信を表示してください」 | 日付、番号、hangup_cause で絞り込んだ list_call_records |
| 「バンガロールの番号から +919876543210 に電話して、このリマインダーを読み上げてください」 | list_phone_numbers → 確認 → make_call → speak_text → get_call_status |
| 「明日の6時に起こして、7:10の電車に乗るよう伝えてください」(ホステッド版) | 確認 → schedule_reminder_call。サーバーがあなたのタイムゾーンの06:00に電話をかけます |
| 「1を押すと営業、2を押すとサポートにつながるIVRを作成してください」 | get_vobiz_skill vobiz-voice-xml → generate_answer_xml |
| 「米国の番号から +14155550123 に『ご注文の商品を発送しました』とテキストを送信してください」 | preview_message_cost → 確認 → send_message → get_message |
| 「前回のSMS一斉配信に返信したのは誰ですか?」 | list_broadcasts、list_messages direction=in、list_conversations |
| 「今後、+14155550123 からのメッセージをブロックしてください」 | add_opt_out(確認) |
| 「ウェブフックの送信先を教えてください」 | アプリケーションとSIPトランク全体の list_webhooks |
| 「LiveKit エージェント用のSIPトランクを設定してください」 | get_vobiz_skill vobiz-sip-trunking → create_sip_trunk(確認) |
| 「sales-standup カンファレンスで、ホスト以外の全員をミュートしてください」 | get_conference → mute_conference_member |
| 「この通話の音声を wss://agent.example.com/ws のエージェントにストリーミングしてください」 | start_audio_stream(確認) |
| 「オフィスのIP 203.0.113.10をトランクに許可し、PBX用のSIPユーザーを追加してください」 | add_ip_acl_entry、create_trunk_credential(確認) |
| 「ムンバイチームのサブアカウントを作成し、KYCリンクを送信してください」 | create_sub_account、create_sub_account_kyc_session(確認) |
| 「先週はいくら使いましたか?」 | 期間を指定した list_transactions |
| 「Plivo 連携の移行方法を教えてください」 | vobiz-plivo-migration プロンプト |
Claude を5つの手順で接続する
claude.ai、Claude Desktop、Claude モバイルアプリで動作します。インストールは不要です。
- 認証情報をコピーします。 Vobiz コンソールの概要ページで、Auth ID(
MA_…、サブアカウントの場合はSA_…)と Auth Token をコピーします。 - コネクターを開きます。 Claude で Settings → Connectors → Add custom connector の順に移動します。Team プランと Enterprise プランでは、Owner が Admin settings → Connectors で一度追加し、その後、各メンバーが自分の Vobiz アカウントを接続します。
- サーバーを追加します。 名前に
Vobizを入力し、https://mcp.vobiz.ai/mcpを指定して、高度な OAuth フィールドは空欄のまま Add をクリックします。 - 接続してサインインします。 Connect をクリックします。Vobiz のサインインページで Auth ID と Auth Token を貼り付け、必要に応じて Read-only access にチェックを入れて、Allow access をクリックします。Claude に戻ると接続されています。
- 使用します。 新しいチャットでツールメニューから Vobiz を有効にし、次のように質問します。「Vobiz の残高と、現在通話中の件数を教えてください」
| 目的 | 操作 |
|---|---|
| 読み取り専用アクセスとフルアクセスを切り替える | Settings → Connectors → Vobiz → Disconnect の順に選択し、もう一度 Connect をクリックして Read-only access を変更します |
| 接続を解除する | Settings → Connectors → Vobiz → Disconnect |
| すべてのアプリのアクセスを一度に取り消す | Vobiz コンソールで Auth Token をローテーションします |
通話の発信、メッセージの送信、アカウントの変更を伴うツールを実行する前に、Claude が確認を求めます。また、サーバーもそれぞれの操作について確認を求めます。ホステッドコネクターでは電話番号を購入できません。
インストール
Vobiz アカウントと、Vobiz コンソールの概要ページにある Auth ID および Auth Token が必要です。すべてのクライアント向けの設定ファイルを含む完全なガイドは、docs/INSTALL.md を参照してください。
1 ステップで接続(ホステッド版、推奨)
| クライアント | 1 ステップ | 次に行うこと |
|---|---|---|
| Claude(Web、デスクトップ、モバイル) | Settings → Connectors → Add custom connector → https://mcp.vobiz.ai/mcp | Connectをクリックしてサインインします(5 ステップで Claude に接続) |
| Claude Code | claude mcp add --transport http vobiz https://mcp.vobiz.ai/mcp | /mcpを実行し、vobizを選んでサインインします |
| Claude Code(プラグイン:サーバー+スキル) | /plugin install vobiz --marketplace vobiz-ai/Vobiz-MCP-Server | 求められたら Auth ID と Auth Token を入力します |
| Claude Desktop(ローカル拡張機能) | 最新リリースからvobiz-mcp-v1.4.3.mcpbを開きます | Auth ID と Auth Token を入力します |
| OpenAI Codex(CLI、IDE、アプリ) | codex mcp add vobiz --url https://mcp.vobiz.ai/mcp | Vobiz のサインイン画面がブラウザーで開きます。後で再度サインインするには、codex mcp login vobizを実行します |
| ChatGPT | Plugins → + → Add custom MCP server → https://mcp.vobiz.ai/mcp | サインインしてから、@Vobizを使用します |
| Gemini CLI | gemini mcp add -s user --transport http vobiz https://mcp.vobiz.ai/mcp | /mcp auth vobizを実行します |
| Cursor | Cursor に追加 | Cursor の MCP 設定でConnectをクリックします |
| VS Code / GitHub Copilot | VS Code に追加 | サーバーを起動してサインインします |
| Windsurf / Devin | devin mcp add -s user vobiz https://mcp.vobiz.ai/mcp | devin mcp login vobiz |
| Cline | cline mcp add vobiz https://mcp.vobiz.ai/mcp --transport http --yes | Authorize OAuthを選択します |
| Goose | goose://extension?url=…を開きます(リンク) | サインインします |
| Zed、JetBrains、Warp、LM Studio、Continue | { "url": "https://mcp.vobiz.ai/mcp" }をサーバーとして追加します(ガイド) | サインインします |
どのリモート接続方法でも Vobiz のページで OAuth を使ってサインインするため、Auth Token が設定ファイルに書き込まれることはありません。代わりに自分のマシンでサーバーを実行するには、以下のローカル接続方法を使用してください。
ローカルで実行する
ローカルで実行する方法では、npx を使ってお使いのマシン上でサーバーを起動します。Node.js 22.9 以降が必要です。
| クライアント | インストール方法 |
|---|---|
| Claude(Web、Desktop、モバイル) | Settings → Connectors → Add custom connector → https://mcp.vobiz.ai/mcp |
| Claude Desktop 拡張機能 | 最新リリースから vobiz-mcp-v1.4.3.mcpb を開きます |
| Claude Code | /plugin install vobiz --marketplace vobiz-ai/Vobiz-MCP-Server(MCP サーバー + スキル) |
| OpenAI Codex | codex mcp add vobiz --env VOBIZ_AUTH_ID=MA_XXXXXXXX --env VOBIZ_AUTH_TOKEN=YOUR_AUTH_TOKEN -- npx -y @vobiz/[email protected] |
| Gemini CLI | gemini extensions install https://github.com/vobiz-ai/Vobiz-MCP-Server |
| Cursor | ワンクリックでインストール |
| VS Code / Copilot | ワンクリックでインストール |
| Goose | goose configure → Add Extension → npx -y @vobiz/[email protected](ディープリンク) |
| Windsurf, Zed, Cline, JetBrains, Continue, LM Studio, Warp, ChatGPT | docs/INSTALL.md |
その他の MCP クライアントの場合:
{
"mcpServers": {
"vobiz": {
"command": "npx",
"args": [
"-y",
"@vobiz/[email protected]"
],
"env": {
"VOBIZ_AUTH_ID": "MA_XXXXXXXX",
"VOBIZ_AUTH_TOKEN": "YOUR_AUTH_TOKEN"
}
}
}
}
env に VOBIZ_ENABLE_CALLS、VOBIZ_ENABLE_MESSAGING、または VOBIZ_ENABLE_PROVISIONING を追加して "true" に設定するまでは、通話、メッセージ送信、アカウント変更は無効のままです。
リモートコネクターをセルフホストするには、docker run -p 3000:3000 -e VOBIZ_HOSTED_URL=https://mcp.example.com -e VOBIZ_HOSTED_SECRET="$(openssl rand -hex 32)" ghcr.io/vobiz-ai/vobiz-mcp:v1.4.3 を実行します(docs/HOSTING.md)。
ツール
すべてのツールには title、入力の検証、アノテーションが用意されています。アノテーションには readOnlyHint: true または destructiveHint: true に加えて、idempotentHint と openWorldHint が含まれます。結果は structuredContent で、同じ JSON がテキストとしても送信されます。docs/TOOLS.md には、すべての入力が記載されており、レジストリから生成されています。
| ツールセット | 読み取り専用 | confirm: true が必要な書き込み操作 | 追加の確認なしで実行できる書き込み操作 |
|---|---|---|---|
calls | get_call_status、list_live_calls | make_call、end_call | send_dtmf |
call_control | transfer_call、hold_call、unhold_call、start_recording | play_audio、stop_audio、speak_text、stop_speaking、stop_recording | |
conferences | list_conferences、get_conference | end_conference、end_all_conferences、kick_conference_member、hangup_conference_member、start_conference_recording | mute_conference_member、unmute_conference_member、deafen_conference_member、undeafen_conference_member、play_audio_to_conference_member、stop_audio_to_conference_member、stop_conference_recording |
media | list_audio_streams、get_audio_stream、list_transactions、list_transaction_types | start_audio_stream、delete_recording、release_phone_number、cancel_number_release、assign_number_to_subaccount、unassign_number_from_subaccount | stop_audio_stream |
records | get_call_details、list_call_records、get_call_recording、list_recordings | ||
voice_xml | generate_answer_xml、get_gather_result、list_webhook_events、list_webhooks | gather_dtmf | |
account | get_account_details、get_account_balance、get_concurrency、list_phone_numbers、get_phone_number_details、get_number_health、list_sip_trunks、get_sip_trunk | ||
provisioning | list_applications、get_application、search_available_numbers | create_application、update_application、delete_application、buy_phone_number、update_phone_number、create_sip_trunk、update_sip_trunk、delete_sip_trunk | |
sip | list_sip_endpoints、get_sip_endpoint、list_trunk_credentials、list_ip_acl_entries、list_origination_uris | create_sip_endpoint、update_sip_endpoint、delete_sip_endpoint、create_trunk_credential、update_trunk_credential、delete_trunk_credential、add_ip_acl_entry、update_ip_acl_entry、delete_ip_acl_entry、create_origination_uri、update_origination_uri、delete_origination_uri | |
subaccounts | list_sub_accounts、get_sub_account、get_sub_account_kyc_status | create_sub_account、update_sub_account、delete_sub_account、create_sub_account_kyc_session | |
messaging | list_messaging_numbers、preview_message_cost、list_messages、get_message、list_conversations、get_conversation_messages、list_broadcasts、get_broadcast、check_opt_out、list_opt_outs | send_message、add_opt_out、remove_opt_out | |
reminders(ホスト型のみ) | list_reminder_calls、get_reminder_call、list_audio | schedule_reminder_call、cancel_reminder_call、delete_audio | create_audio_upload_link、import_audio_from_url |
skills | list_vobiz_skills、get_vobiz_skill |
ツールの選択。 クライアントによっては、114 個のツールは多すぎます。必要なものだけを読み込んでください。
VOBIZ_TOOLSETS=calls,call_control,records,skillsを設定すると、これらのグループだけが登録されます。VOBIZ_READ_ONLY=trueを設定すると、読み取り専用のツールだけが残ります。
シークレット。 SIP パスワード、認証情報のシークレット、サブアカウントのトークンは常にマスキングされます。Vobiz コンソールでリセットするか、コピーしてください。
ホスティングが必要です。 gather_dtmf、get_gather_result、list_webhook_events、hold_call、unhold_call を使用するには、Vobiz からこのサーバーにアクセスできる必要があります。これらのツールには、VOBIZ_PUBLIC_URL を設定したシングルアカウントの HTTP モードを使用してください。
エラー。 エラーは次の形式の MCP ツールエラー(isError: true)です。
{ "ok": false, "error": "not_allowed", "message": "…what happened and what to do…", "retryable": false, "http_status": 400, "hint": "…" }
エラーの種類。
- 入力とアクセス:
invalid_input、missing_credentials、auth_failed、forbidden、not_found、insufficient_balance - 制限と可用性:
rate_limited、timeout、network_error、service_unavailable - サーバーの切り替えとポリシー:
calls_disabled、messaging_disabled、provisioning_disabled、confirmation_required、not_allowed、spending_limit - 冪等性:
duplicate_blocked、idempotency_conflict、in_progress、outcome_unknown - その他:
call_not_active、opted_out、unsupported、internal_error
通話結果。 通話結果には、一般的な SIP コードとともにoutcome(answered、busy、no_answer、rejected、invalid_number、unreachable、cancelled…)が追加されます。
スキル、プロンプト、リソース
17 個の Vobiz Agent Skills はパッケージ内(skills/)に含まれており、すべてのクライアントで利用できるよう、3 つの方法で公開されています。
| 提供方法 | 使用方法 |
|---|---|
| ツール | list_vobiz_skills は各スキルの名前、説明、セクションを返します。get_vobiz_skill { name, section? } はスキル全体または指定したセクションを返します。 |
| プロンプト | 各スキルは省略可能な task 引数を持つプロンプトです。Claude Code では、/mcp__vobiz__vobiz-voice-xml build an IVR for a clinic と入力します。 |
| リソース | vobiz://skills/index および vobiz://skills/{name} を使用します。名前の補完も利用できます。 |
スキルは次のとおりです。
- 音声と通話:
vobiz-api、vobiz-voice-calls、vobiz-voice-xml、vobiz-audio-streams、vobiz-cdr - キャンペーンとレポート:
vobiz-campaign-planner、vobiz-reports - 電話番号とインフラストラクチャ:
vobiz-phone-numbers、vobiz-sip-trunking、vobiz-applications-endpoints - AI とメッセージング:
vobiz-ai-voice-agents、vobiz-sms、vobiz-whatsapp - アカウントとパートナー:
vobiz-sub-accounts、vobiz-partner-api - 移行とスコープ設定:
vobiz-plivo-migration、vobiz-forward-deployed-engineer
スキルは Vobiz のドキュメントリポジトリに由来します。npm run skills:sync [path/to/.mintlify/skills] で更新できます。
安全モデル
以下のすべてはサーバーによって強制され、モデル任せにはなりません。
| ガード | デフォルト |
|---|---|
| 発信 | オフ(VOBIZ_ENABLE_CALLS) |
| メッセージの送信、オプトアウト設定の変更 | オフ(VOBIZ_ENABLE_MESSAGING) |
| 番号の購入または解放、トランク、SIP エンドポイント、認証情報、IP 許可リスト、アプリケーション、サブアカウントの変更、録音の削除 | オフ(VOBIZ_ENABLE_PROVISIONING)。購入には、VOBIZ_MAX_NUMBER_COST が 0 より大きい値であることも必要です。 |
| 明示的な確認 | MCP クライアントがエリシテーションに対応している場合、通話、メッセージ、転送、保留、録音、音声ストリーム、購入、番号の解放、その他のアカウント変更は、宛先番号、URL ホスト、または手数料を明記したサーバーからのプロンプトでユーザーが承認します。拒否しても何も起こりません。それ以外のクライアントでは confirm: true を使用し、モデルがユーザーに代わって設定します(モデルによる証明)。MCP クライアントは、破壊的なツールを実行するたびにプロンプトを表示します。 |
| 冪等性 | idempotency_key を使用すると、二重に実行する代わりに最初の結果が再送されます。VOBIZ_DUPLICATE_CALL_WINDOW_SEC 内の同一の通話は拒否されます。結果が不明な場合は、引き続きブロックされます。共有ストア(Firestore 上のホステッドコネクター)を使用すると、記録と通話/メッセージの上限はすべてのレプリカで共有されます。マルチテナントモードでは VOBIZ_IDEMPOTENCY_FILE は無視されます。 |
| 通話制限 | 宛先国とブロック対象のプレフィックス(サーバーが構成するすべての <Dial> 番号にも適用)、通話時間、1 分あたりおよび 1 時間あたりの通話数、同時通話数の上限。チェックの実行前に同時通話枠が確保されるため、同時リクエストで上限を超えることはありません。プリペイドアカウントには残高の下限が適用されます。 |
| メッセージ制限 | 1 回の送信あたりの受信者数、1 分あたりおよび 1 時間あたりのメッセージ数、受信者の国。送信元には、アカウント上のメッセージング番号を指定する必要があります。オプトアウト設定は遵守されます。 |
| 番号の購入 | 費用の上限、1 日あたりの上限、残高の事前確認、所有済みかどうかの確認 |
| 通話制御 URL | https のみ、承認済みホストのみ(ホステッドモードでは、すべてのパブリックホスト)。URL に認証情報を含めることはできません。 |
| テナントの分離 | アカウントは認証情報のみから取得されます。アカウント ID を受け取るツールはありません。 |
| シークレット | 認証トークン、SIP パスワード、その他のシークレットは結果から伏せられます。ログにはルートテンプレートとステータスコードのみが記録され、電話番号やトークンは記録されません。 |
| 信頼されていないコンテンツ | メッセージ本文、発信者名、コールバックペイロードはデータであり、指示ではありません。これらを返すツールは各項目に untrusted: true を付け、トップレベルに notice と untrusted_fields を追加します。それ以外のフィールドは変更されません。 |
設定
すべての設定は環境変数です。認証情報(およびホストモード用のホスト設定)を除き、すべて任意です。.env.example にコメント付きで一覧が記載されています。
| 領域 | 変数(デフォルト) |
|---|---|
| ツールの選択 | VOBIZ_TOOLSETS(すべて)、VOBIZ_READ_ONLY(false) |
| 認証情報 | VOBIZ_AUTH_ID、VOBIZ_AUTH_TOKEN、VOBIZ_BASE_URL(https://api.vobiz.ai)、VOBIZ_ENV(development)、VOBIZ_TIMEOUT_MS(15000)、VOBIZ_LOG_LEVEL(info)、VOBIZ_DEFAULT_PAGE_SIZE(20) |
| 通話 | VOBIZ_ENABLE_CALLS(false)、VOBIZ_DEFAULT_ANSWER_URL、VOBIZ_VERIFY_CALLER_ID(true)、VOBIZ_ALLOWED_COUNTRY_CODES(すべて)、VOBIZ_BLOCKED_PREFIXES、VOBIZ_ALLOWED_DESTINATIONS、VOBIZ_ALLOWED_CALLER_IDS、VOBIZ_MAX_CALL_DURATION_SEC(600)、VOBIZ_MAX_CALLS_PER_MINUTE(5)、VOBIZ_MAX_CALLS_PER_HOUR(30)、VOBIZ_MAX_CONCURRENT_CALLS(3)、VOBIZ_CHECK_BALANCE(true)、VOBIZ_MIN_BALANCE(0)、VOBIZ_BALANCE_CURRENCY(メインウォレット)、VOBIZ_DUPLICATE_CALL_WINDOW_SEC(120)、VOBIZ_IDEMPOTENCY_FILE |
| メッセージング | VOBIZ_ENABLE_MESSAGING(false)、VOBIZ_MESSAGING_ALLOWED_COUNTRY_CODES(すべて)、VOBIZ_MAX_RECIPIENTS_PER_SEND(10)、VOBIZ_MAX_MESSAGES_PER_MINUTE(20)、VOBIZ_MAX_MESSAGES_PER_HOUR(200)、VOBIZ_VERIFY_SENDER(true) |
| アカウントの変更(番号、トランク、SIP、アプリケーション、サブアカウント、録音) | VOBIZ_ENABLE_PROVISIONING(false)、VOBIZ_MAX_NUMBER_COST(0 = 購入なし)、VOBIZ_MAX_NUMBER_PURCHASES_PER_DAY(1) |
| URL | VOBIZ_ALLOWED_URL_HOSTS、VOBIZ_ALLOW_ANY_URL_HOST(false) |
| リンク | VOBIZ_CONSOLE_URL、VOBIZ_PRIVACY_URL、VOBIZ_DOCS_URL、VOBIZ_DOCS_MCP_URL(公開 Vobiz URL) |
| 単一アカウント HTTP | PORT(3000)、HOST(127.0.0.1)、VOBIZ_HTTP_SECRET、VOBIZ_PUBLIC_URL、VOBIZ_REMOTE_ALLOW_CALLS(false)、VOBIZ_WEBHOOK_SIGNATURE(require)、VOBIZ_ANSWER_TEXT |
| ホスト型コネクター | VOBIZ_HOSTED_URL、VOBIZ_HOSTED_SECRET、VOBIZ_ACCESS_TOKEN_TTL_SEC(3600、最大86400)、VOBIZ_REFRESH_TOKEN_TTL_SEC(2592000)、VOBIZ_ALLOWED_ORIGINS(https://claude.ai,https://claude.com,https://chatgpt.com,https://chat.openai.com)、VOBIZ_HOSTED_EXCLUDED_TOOLS |
| ホスト型コネクター OAuth | VOBIZ_TRUSTED_CLIENTS(なし。redirect-host=Display Name)、VOBIZ_LOGIN_MAX_PER_IP(10)、VOBIZ_LOGIN_MAX_PER_AUTH_ID(10)、VOBIZ_TRUSTED_EGRESS_CIDRS(Anthropic が公開している範囲)、VOBIZ_TRUSTED_EGRESS_URL |
実行モード
| モード | コマンド | 対象 |
|---|---|---|---|
| stdio | npx -y @vobiz/mcp(または node dist/index.js) | Claude Desktop、Claude Code、Cursor、および1つのアカウントを使用するその他のローカルクライアント |
| 単一アカウント HTTP | npx -y @vobiz/mcp http(または npm run start:http) | パスシークレットの背後で Streamable HTTP を介して1つのアカウントを使用。ホスト型 IVR フロー、入力収集、署名付き Webhook |
| ホスト型マルチテナント | npx -y @vobiz/mcp hosted(または npm run start:hosted、Docker) | 公開コネクター。ユーザーはそれぞれ OAuth でサインインし、自分のアカウントのみを操作します |
| ダッシュボード | npm run dashboard → http://127.0.0.1:5178 | 同じツールを基盤とする、読み取り専用のローカルブラウザービュー |
単一アカウント HTTP エンドポイント
| パス | 用途 | 認証 |
|---|---|---|
/mcp/<VOBIZ_HTTP_SECRET> | Streamable HTTP MCP | パスシークレット |
/sse/<secret>、/message/<secret> | 古いクライアント向けのレガシー SSE MCP | パスシークレット |
/xml/flow/<id> | ホスト型 XML(応答、転送、保留、発信) | Vobiz 署名 + 128 ビット ID |
/xml/gather/<id> | Gather の Digits コールバック。後続の XML を返します | Vobiz 署名 + ID |
/webhooks/vobiz | 応答、切断、ステータスのコールバック | Vobiz 署名 |
/answer | 静的な <Speak> XML | なし |
/health | 稼働状態 | なし |
コールバック署名。 コールバックは X-Vobiz-Signature-V3 = base64(HMAC-SHA256(auth_token, URL-without-query + "." + nonce)) で検証されます。フォールバックとして V2 も受け入れられ、比較は一定時間で行われます。再利用された nonce は拒否され、重複イベントは1回だけ保存されます。
ホスト型コネクター(OAuth)
vobiz-mcp hosted は、OAuth 2.1 認可サーバーと MCP リソースサーバーを単一のプロセスに統合したものです。Claude のコネクターディレクトリ向けに構築されており、あらゆるリモート MCP クライアントで動作します。
サインインの流れ:
- Claude はトークンを付けずに
POST /mcpを呼び出します。サーバーはWWW-Authenticate: Bearer resource_metadata=".../.well-known/oauth-protected-resource/mcp"を含む401を返します。 - Claude は保護対象リソースのメタデータ(RFC 9728、
resource=<VOBIZ_HOSTED_URL>/mcp)と認可サーバーのメタデータ(RFC 8414)を読み取ります。AS メタデータには PKCE S256、動的クライアント登録(RFC 7591)、Client ID Metadata Documents が示されます。 - Claude は自身を登録するか、CIMD URL を使用して
/authorizeを開きます。ユーザーは Auth ID と Auth Token を入力し、フルアクセス、パーソナルアシスタント、読み取り専用のいずれかを選びます。また、リマインダー通話用に自分の電話番号、発信者 ID、タイムゾーンを指定します。サーバーは Vobiz で認証情報を確認し、1 回限りのコードとともにリダイレクトします。 /tokenはコードを(PKCE を検証して)1 時間有効なアクセストークンと 30 日有効なリフレッシュトークンに交換します。
トークンの取り扱い:
- トークンは AES-256-GCM で暗号化されるため、認証情報データベースは不要で、任意の数のレプリカで
VOBIZ_HOSTED_SECRETを共有できます。 - 各リクエストはサインインしたアカウントのみで実行され、アカウントごとのレート制限と冪等性が適用されます。
- Vobiz コンソールで Auth Token をローテーションすると、そのアカウントのすべてのトークンが直ちに無効になります。
サーバーカード。 GET https://mcp.vobiz.ai/mcp/server-card(別名 /.well-known/mcp/server-card.json)は、MCP サーバーカードを提供します。サーバー名、バージョン、Streamable HTTP エンドポイント、サポートされているプロトコルのバージョンが記載されており、接続前にサーバーを検出するクライアントやスキャナー向けです。公開され、1 時間キャッシュされます。ツールは記載されず、サインイン後に tools/list から取得します。
ツールの除外。 ホスト型コネクターでは、購入を行うツールや、サーバーが特定の 1 アカウントのコールバックをホストする必要があるツールを除外しています。デフォルトのリストは buy_phone_number、gather_dtmf、get_gather_result、list_webhook_events、hold_call、unhold_call です。VOBIZ_HOSTED_EXCLUDED_TOOLS で変更できます。ブラウザーの Origin ヘッダーは VOBIZ_ALLOWED_ORIGINS と照合されます。
デプロイ、DNS、スケーリング、ディレクトリへの登録については、docs/HOSTING.md と docs/PUBLISHING.md を参照してください。
プライバシーポリシー
このサーバーは Vobiz(Ilaimitado Private Limited)が公開しています。ポリシーの全文は https://www.vobiz.ai/privacy をご覧ください。
処理する情報:
- Vobiz Auth ID と Auth Token。Vobiz API へのリクエストの認証にのみ使用します。
- MCP クライアントが送信するツール引数。電話番号、メッセージのテキスト、通話設定などが含まれます。
- クライアントに返す Vobiz API のレスポンス。
保存する情報:
- ローカルモード: 認証情報は、お使いの環境または OS のキーチェーンに保存されます。冪等性レコードはメモリ内に保存されます。
VOBIZ_IDEMPOTENCY_FILEを設定している場合は、そのファイルに保存されます。 - ホステッドモード(
https://mcp.vobiz.ai/mcp):コネクターは会話の内容を保存しません。Vobiz Auth ID と Auth Token は、有効期限付きの暗号化された(AES-256-GCM)トークンの内部にのみ保持されます。これには、MCP クライアントが保持するアクセストークンとリフレッシュトークン、およびリマインダー通話が保留中の場合は、そのキューに入った通話ジョブが含まれます。以下を保存します。
| 項目 | 保存場所 | 保存期間 |
|---|---|---|
| 通話、メッセージ、番号購入の冪等性レコード(キー、リクエストのフィンガープリント、ツールの結果) | Firestore | 最長 24 時間 |
| 通話とメッセージのレートカウンター(アカウントごと、分単位および時間単位) | Firestore | ウィンドウ終了まで(最長 1 時間) |
| OAuth セッション(リフレッシュトークンのファミリー:ID、タイムスタンプ、Auth ID のハッシュ。リフレッシュトークンは再利用検出を伴ってローテーションされます)および使用済みの認証コード | Firestore | セッションごとに最長 90 日。コードの有効期限は 5 分です |
| リマインダー通話(宛先番号、メッセージのテキスト、タイムゾーン、発信者 ID、スケジュール、各試行の結果) | Firestore | リマインダーの履歴として保持されます。保留中のものは cancel_reminder_call で停止できます |
| オーディオライブラリのファイルとその名前 | Auth ID のハッシュを用いた非公開 Cloud Storage バケット | delete_audio で削除するまで |
決して行わないこと: 会話履歴、メモリ、ファイルを読み取ることはありません。広告にデータを使用せず、第三者への販売や共有も行いません。
ログ: ログに含まれるのはルートテンプレート、HTTP ステータスコード、所要時間です。トークン、メッセージのテキスト、電話番号が含まれることはありません。
保持期間: 通話記録、録音、メッセージは、Vobiz の規約(https://www.vobiz.ai/terms)に従って、お客様の Vobiz アカウントに保持されます。
お問い合わせ先: [email protected]
開発
git clone https://github.com/vobiz-ai/Vobiz-MCP-Server.git
cd Vobiz-MCP-Server
npm ci
cp .env.example .env # placeholders only; fill in your own credentials
npm run check # type-check, build, mocked tests
npm run test:live # live read-only smoke test with .env credentials (calls/messages/purchases forced off)
npm run test:live:hosted # live OAuth flow + hosted tools against the real API (no messages sent)
npm run inspector # MCP Inspector against dist/index.js
npm run docs:tools # regenerate docs/TOOLS.md
npm run skills:sync # refresh bundled skills from the docs repository
コードの構成:
- ツールは
src/tools/{calls,control,conferences,media,records,account,voice,provisioning,sip,subaccounts,messaging}.tsにあります。各ファイルは 1 つのツールセットで、src/server.tsに登録されています。 - スキルは
src/skills.tsにあります。 - ガードレールは
src/policy.ts、src/idempotency.ts、src/outcomes.tsにあります。 - VobizXML の生成は
src/xml.ts、ホステッドフローはsrc/flows.ts、コールバックの検証はsrc/webhooks.tsにあります。 - トランスポートは
src/index.ts(stdio)、src/http.ts(単一アカウント)、src/hosted.ts(OAuth マルチテナント)にあります。
テスト:
- モックテストはネットワークに接続せず、通話の発信、メッセージの送信、番号の購入を行うテストはありません。
- CI では、lint、ビルド、Node 22 および 24 でのテスト、
npm audit、.mcpbマニフェストの検証、パッケージのドライランを実行します。 - リリースはタグに基づいています(
v1.2.3)。provenance 付きで npm と MCP Registry に公開し、.mcpbバンドルを添付して、Docker イメージをプッシュします(docs/PUBLISHING.md を参照)。
トラブルシューティング
| 症状 | 対処方法 |
|---|---|
missing_credentials / auth_failed | VOBIZ_AUTH_ID / VOBIZ_AUTH_TOKEN を設定するか、ローテーションしてください。ホスト型モードでは、コネクターを再接続してください。 |
アカウント詳細で forbidden が発生する | アカウント詳細には、メインアカウント(MA_)の認証情報が必要です。残高、同時実行数、電話番号はサブアカウントで利用できます。 |
calls_disabled / messaging_disabled / provisioning_disabled | 機能を有効にしてください(環境変数、またはデスクトップ拡張機能の設定)。 |
confirmation_required | モデルがユーザーに確認を求めた後、confirm: true を指定して呼び出しを繰り返す必要があります。 |
not_allowed | 発信先または受信者の国、ブロックされたプレフィックス、許可リスト、アカウントに登録されていない送信者または発信者 ID、あるいは承認されていない URL ホストが原因です。 |
rate_limited | サーバーの上限(分、時間、同時実行数、メッセージ数)またはアカウントの CPS 上限に達しています。待ってから再試行してください。 |
duplicate_blocked | VOBIZ_DUPLICATE_CALL_WINDOW_SEC 内に同じ呼び出しが行われました。2 回目の呼び出しを意図している場合は、新しい idempotency_key を渡してください。 |
outcome_unknown | 再試行しないでください。list_live_calls、list_call_records、または list_messages を確認してください。 |
gather または hold で unsupported が発生する | VOBIZ_PUBLIC_URL を指定して、単一アカウントの HTTP モードを実行してください。 |
| コールバックが 401 で拒否される | VOBIZ_PUBLIC_URL は、Vobiz が呼び出す URL と完全に一致している必要があります。VOBIZ_WEBHOOK_SIGNATURE=verify_if_present を試してください。 |
| ホスト型サインインでリンクの有効期限切れと表示される | サインインページの有効期間は 15 分です。クライアントから接続をやり直してください。 |
関連項目
- Vobiz CLI(GitHub、ドキュメント):
vobiz mcp install <client>を実行すると、このサーバーを Claude Code、Cursor、Codex、VS Code、Gemini CLI、Windsurf、Zed、または Claude Desktop に追加できます。デフォルトでは、OAuth サインインを使用するホスト型コネクターを利用します。 - Vobiz Agent Skills(GitHub、ドキュメント):ここに同梱されているものと同じスキルを、スキルを読み込むあらゆるエージェント向けにパッケージ化したものです。
Team Vobiz が開発
Vobiz は、130 か国以上で SIP トランキング、音声 API、SMS、WhatsApp、AI 音声エージェントとの連携を提供する、グローバルなプログラマブル電話プラットフォームです。
サポート: [email protected] · ドキュメント · 課題 · コントリビューション · セキュリティ · 行動規範
ライセンス
MIT © Vobiz
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。