mcpField
V
Voxplo

Voxplo

リモート
voxplo.aiコミュニケーション117 週間前に更新
リポジトリ公式サイト

Voxplo について

Voxploは、AIエージェントから発信し、目的に沿った会話と結果取得を行うMCPサーバーです。電話での予定調整に対応し、要約、文字起こし、構造化データも取得できます。

主な機能

  1. 01目的に沿った電話発信
  2. 02電話での予定調整
  3. 03通話状況と結果の取得
  4. 04要約、文字起こし、抽出項目の確認

活用シーン

  1. 01発信による内容確認
  2. 02連絡先との会議日程調整
  3. 03通話記録と抽出データの確認

MCP 対応

MCPクライアントに `place_call`、`set_appointment`、`get_call`、`list_calls` ツールを提供します。ホスト型のStreamable HTTPサーバーとローカルのstdioサーバーを利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.voxplo.ai/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npmvoxplo-mcp0.1.1

ツール

4
パラメーター型必須説明
tostringはいE.164 形式の発信先電話番号。例:+14155550123。
fieldsarrayいいえ通話から抽出する構造化フィールド。
contextstringいいえアシスタントの背景コンテキスト。
navModeenumいいえ相手側の IVR を操作する方法:auto(キー入力メニューか会話型アシスタントかをリアルタイムで判定)、keypad(ミュートのままキーを押す)、speech(話す)。auto | keypad | speech
callerIdstringいいえ発信者番号(任意)。アカウントに登録された番号である必要があります。
objectivestringはい通話で達成する内容。
webhookUrlstringいいえ署名付きの結果を受け取る HTTPS URL(任意)。
listenFirstbooleanいいえtrue の場合、相手または IVR が先に話すまで無言で待ち、その後応答します。電話ツリーへの発信では常に推奨されます。
accountNumberstringいいえenter_account_number ツールが決定的にキー入力するアカウント番号/電話番号(キー入力文字のみ)。
toolAllowlistarrayいいえこの通話で使用できるツール。例:["send_digits","reached_human","add_participant","enter_account_number"]。省略するとデフォルトのセットが使われます。
callbackNumberstringいいえ回拨用の当社 DID 番号。enter_callback_number ツールがキー入力します(AI への折り返し通話モード)。

詳細

voxplo-mcp

AI エージェントに電話を持たせましょう。この MCP サーバーを使うと、あらゆる MCP クライアント(Claude、Cursor、ChatGPT developer mode など)から、Voxplo を通じて実際の AI 発信電話をかけられます。AI が相手に電話をかけ、目的に沿って会話を進め、要約、文字起こし、抽出した構造化フィールドを返します。

  • ホステッド(リモート)サーバー: https://mcp.voxplo.ai/mcp(Streamable HTTP + OAuth、インストール不要)
  • ローカル(stdio)サーバー: npx voxplo-mcp(このパッケージ)
  • ドキュメント: https://voxplo.ai/docs/agent-api/mcp
  • ツール: place_call、set_appointment、get_call、list_calls

オプション A:ホステッドサーバー(推奨)

インストール不要です。クライアントにリモート MCP サーバーとして https://mcp.voxplo.ai/mcp を追加してください。

{
  "mcpServers": {
    "voxplo": { "type": "streamable-http", "url": "https://mcp.voxplo.ai/mcp" }
  }
}

Claude では、「Settings」から「Connectors」、「Add custom connector」の順に選択し、https://mcp.voxplo.ai/mcp を貼り付けます。ブラウザーで Voxplo の同意画面が開くので、Developers page から取得した Agent API キーを貼り付けて承認してください。クライアントにキーそのものが渡ることはなく、OAuth トークンのみが渡されます。

オプション B:ローカルサーバー(このパッケージ)

前提条件:Node 18 以降、Voxplo Agent API キー(bys_ak_ で始まるもの。Developers page から取得できます)。

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)またはお使いの OS の同等の場所に追加します。

{
  "mcpServers": {
    "voxplo": {
      "command": "npx",
      "args": ["-y", "voxplo-mcp"],
      "env": { "VOXPLO_API_KEY": "bys_ak_your_key_here" }
    }
  }
}
Cursor

同じブロックを、プロジェクト内の .cursor/mcp.json(またはグローバル設定の ~/.cursor/mcp.json)に追加します。

ステージング環境またはセルフホストのインスタンスを指定するには、env ブロックに "VOXPLO_API_BASE": "https://staging.example.com" を追加します。

ツール

place_call

目的に沿って、AI による発信電話をかけます。すぐに callId を返し、通話は非同期で実行されます。ステータスが終端状態になるまで、その callId を指定して get_call をポーリングしてください。

入力:

フィールド型必須説明
tostringはいE.164 形式の発信先番号(例:+14155550123)
objectivestringはい通話で達成する内容
contextstringいいえアシスタントに与える背景情報
fieldsarrayいいえ抽出する構造化フィールド(最大 20 項目:{ name, type?, description? })
webhookUrlstringいいえ通話終了時に署名付きの結果を受信する HTTPS URL
callerIdstringいいえ発信者番号の上書き。アカウントに登録されている番号を指定してください

戻り値: { callId, status }。成功時の status は queued です。

set_appointment

打ち合わせを設定するため、AI による発信電話をかけます。アシスタントが相手に電話をかけ、日時を調整します。結果(get_call をポーリング)は outcome(appointment_set | callback_requested | declined | no_answer | failed)を含み、予定が設定された場合は予定の詳細(startISO、timezone、durationMinutes、attendee、subject)も含みます。すぐに callId を返します。

入力:

フィールド型必須説明
tostringはいE.164 形式の発信先
subjectstringはい打ち合わせの内容
durationMinutesnumberいいえ打ち合わせの所要時間(分。既定値は 30)
timePreferencestringいいえ自然言語で指定する時間帯。例:「来週の平日午前」
slotsarrayいいえ提案する具体的な開始日時:[{ startISO }]。オフセット付き ISO-8601 形式
timezonestringいいえ予定の IANA タイムゾーン。例:Asia/Jerusalem
autoBookbooleanいいえ合意した日時を、接続済みのカレンダーにも予約するかどうか
webhookUrlstringいいえ署名付きの結果を受信する HTTPS URL
callerIdstringいいえ発信者番号の上書き。アカウントに登録されている番号を指定してください
get_call

通話の現在のステータスと結果を取得します。

入力:

フィールド型必須説明
callIdstringはいplace_call または set_appointment から取得した callId

戻り値: { id, status, summary, transcript, extracted, recordingUrl, to, objective, startedAt, endedAt, durationSec, error? }

list_calls

アカウントから発信した最近の通話を(新しい順に)一覧表示します。

入力:

フィールド型必須説明
limitnumberいいえ返す通話の最大数(デフォルトは20、最大100)

戻り値: { calls: [ { id, to, objective, status, summary, createdAt, startedAt, endedAt, durationSec, error? } ] }

通話ステータス

ステータス終端状態?意味
queuedいいえ通話が受け付けられ、まだ発信していません
ringingいいえ発信先を呼び出し中です
in_progressいいえ通話中です
completedはい通話が正常に終了しました
no_answerはい発信先が応答しませんでした
voicemailはい留守番電話につながりました
declinedはい通話が拒否されました
failedはい技術的な障害が発生しました

最初の通話を発信する

  1. 上記のとおり、MCP クライアントを設定します。
  2. アシスタントに次のように依頼します:「明日の午後2時の会議時刻を確認する目的で、+14155550123 に電話をかけてください。」
  3. アシスタントが place_call を呼び出し、callId を取得します。
  4. 「通話 <callId> の状況を確認してください。完了しましたか?」と尋ねます。
  5. アシスタントが get_call を呼び出し、ステータス、概要、抽出されたフィールドがあればそれを返します。

安全性

発信先はサーバー側で審査され(高額課金、衛星通信など、その他の高リスクな発信経路はブロックされます)、求められた場合は通話中に AI であることを開示します。また、発信ツールには openWorldHint: true が注釈として付けられているため、クライアントは発信前に確認を求めます。詳細:https://voxplo.ai/security

開発

テストを実行します:

node --test

スモークテスト(ダミーキーを使用すると、標準エラー出力に「ready on stdio」と表示されます):

VOXPLO_API_KEY=bys_ak_test node src/server.js

リンク

コメント

MCP は初めてですか?

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

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