mcpField
S
Stexa Voice Mcp

Stexa Voice Mcp

リモート
github.com/stexaaiコミュニケーション022 週間前に更新
リポジトリ

Stexa Voice Mcp について

Stexa Voice MCPは、AIエージェントから電話を発信し、通話記録を取得できるクラウドサービスです。通話状況や文字起こしを扱う音声ワークフロー向けで、APIキーまたはOAuth 2.1で認証します。

主な機能

  1. 01音声による発信
  2. 02通話状況の確認
  3. 03文字起こしと要約の取得
  4. 04条件を指定した最近の通話一覧
  5. 05APIキーまたはOAuth 2.1認証

活用シーン

  1. 01CRMイベントを契機に発信
  2. 02音声による予約リマインダー
  3. 03電話でサービス後の評価を収集
  4. 04通話の文字起こしをCRM記録に追加

MCP 対応

HTTP上のJSON-RPC 2.0を通じて、発信、通話状況、文字起こし、最近の通話を扱うツールをMCPクライアントに公開します。APIキーとOAuth 2.1に対応しています。

設定

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

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

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

すべてのエンドポイント
Streamable HTTPhttps://stexa.ru/mcp/v1/jsonrpc認証が必要

ツール

4
パラメーター型必須説明
phonestringはいE.164 形式の加入者番号(ロシアの場合は +7XXXXXXXXXX)。
scenario_idstringいいえボットシナリオの ID。指定しない場合は、テナントの default シナリオが使用されます。
varsobjectいいえスクリプトに代入する変数({{name}}、{{date}})。すべての値は文字列です。
wait_for_completionbooleanいいえM1.1.4:true の場合、最大 90 秒間ブロックして transcript を返します。M0:無視されます。
max_duration_sintegerいいえМаксимальная длительность звонка в секундах. M0: пишется в БД, не enforce'ится (это M1.1).

詳細

Stexa Voice MCP — 使用例とクイックスタート

Status Protocol Auth

MCP ツールとしての音声通話機能。 AI エージェントが、実際に電話をかけ、文字起こしを取得し、通話状況を確認できるようにします。すべて Model Context Protocol 経由で行えます。

stexa_call_outbound("+79991234567")  →  AI bot dials, speaks, records
stexa_get_transcript("oc:42")        →  [{"role": "bot", "text": "..."}, ...]

→ 英語ドキュメント · API キーを取得 · ライブデモ


このリポジトリの内容

パス説明
examples/claude-desktop/Claude Desktop 用の設定スニペット
examples/cursor/Cursor の .cursor/mcp.json 設定
examples/python/Python と httpx による直接 HTTP 呼び出し
examples/n8n/すぐにインポートできる n8n ワークフロー

クイックスタート(5 分)

ステップ 1 — API キーを取得する
  1. stexa.ru で登録します
  2. Cabinet → MCP Server → + Create key を開きます
  3. キーをコピーします(形式:stx_live_...)

OAuth 2.1 にも対応しており、本番環境での使用を推奨します。以下のOAuth の設定を参照してください。


ステップ 2 — MCP クライアントを接続する
Claude Desktop

設定ファイルに追加します:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "stexa-voice": {
      "url": "https://stexa.ru/mcp/v1/jsonrpc",
      "headers": {
        "Authorization": "Bearer stx_live_YOUR_KEY"
      }
    }
  }
}

Claude Desktop を再起動すると、Stexa のツールがツール選択メニューに自動的に表示されます。

OAuth を使用する場合(静的キーは不要):

{
  "mcpServers": {
    "stexa-voice": {
      "url": "https://stexa.ru/mcp/v1/jsonrpc",
      "auth": "oauth2"
    }
  }
}

初回使用時に Claude Desktop がブラウザーウィンドウを開き、OAuth の同意フローを開始します。


Cursor

プロジェクトのルートにある .cursor/mcp.json(またはグローバル設定の ~/.cursor/mcp.json)を作成または編集します:

{
  "mcpServers": {
    "stexa-voice": {
      "url": "https://stexa.ru/mcp/v1/jsonrpc",
      "headers": {
        "Authorization": "Bearer stx_live_YOUR_KEY"
      }
    }
  }
}

Python
pip install httpx
from examples.python.connect_and_call import StexaMCPClient

client = StexaMCPClient(api_key="stx_live_YOUR_KEY")

# Async call — returns immediately, poll for status
result = client.call_outbound("+79991234567")
call_id = result["call_id"]   # "oc:42"

# Or synchronous call — blocks up to 90s, returns transcript
result = client.call_outbound("+79991234567", wait=True)
print(result["transcript"])

完全な例: examples/python/connect_and_call.py


n8n
  1. n8n のインスタンスを開きます
  2. Workflows → Import from file に移動します
  3. examples/n8n/stexa_voice_workflow.json をアップロードします
  4. HTTP Request ノードのヘッダーに API キーを設定します
  5. ワークフローを有効化し、Webhook トリガーでテストします

ツールリファレンス

stexa_call_outbound

音声で発信します。AI ボット(Alina)が番号に電話をかけ、会話を行います。

必要なスコープ: call:write

引数型必須説明
phonestring✅E.164 形式の電話番号(+79991234567)
scenario_idstring—カスタムシナリオ ID(デフォルト:テナントのデフォルト)
varsobject—テンプレート置換用の変数 {{name}}、{{date}}
wait_for_completionboolean—最大 90 秒待機し、文字起こし全文を返します(デフォルト:false)
max_duration_sinteger—通話の最大時間(秒)、30~600(デフォルト:300)

レスポンス(非同期):

{
  "call_id": "oc:42",
  "status": "queued",
  "estimated_start_in_s": 5
}

レスポンス(wait_for_completion=true):

{
  "call_id": "oc:42",
  "status": "completed",
  "duration_s": 87,
  "transcript": [
    {"role": "bot", "text": "Hello, this is Alina from Stexa. May I speak with..."},
    {"role": "client", "text": "Yes, speaking."}
  ],
  "summary": "Client confirmed the appointment for Tuesday at 3 PM."
}

stexa_get_call_status

stexa_call_outbound で開始した通話の現在の状況を確認します。

必要なスコープ: call:read

引数型必須説明
call_idstring✅stexa_call_outbound の戻り値(形式:oc:N)

ステータスの推移:

queued → ringing → talking → completed
                            → failed (no_answer / busy / error)

レスポンス:

{
  "call_id": "oc:42",
  "status": "talking",
  "phone": "+7953****5875",
  "started_at": "2026-05-25T10:30:00+00:00",
  "duration_s": 34
}

stexa_get_transcript

完了済み(または進行中)の通話の会話記録を取得します。

必要なスコープ: transcript:read

引数型必須説明
call_idstring✅stexa_call_outbound の戻り値
include_summaryboolean—AI 生成の要約を含めます(デフォルト:true)

レスポンス:

{
  "call_id": "oc:42",
  "status": "completed",
  "duration_s": 87,
  "transcript": [
    {"role": "bot", "text": "Hello, this is Alina..."},
    {"role": "client", "text": "Yes, I remember. Tuesday at 3 PM works."}
  ],
  "summary": "Client confirmed appointment, expressed satisfaction."
}

通話がまだ進行中の場合は、partial_transcript とともに status: "in_progress" を返します。


stexa_list_recent_calls

フィルターを指定して最近の通話を一覧表示します。新しい通話を発信する前に、「このクライアントに以前発信したことがあるか」を確認する場合に便利です。

必要なスコープ: call:read

引数型説明
phonestring電話番号で絞り込みます
sincestringISO-8601 タイムスタンプ(デフォルト:7日前)
limitinteger結果の件数、1~100(デフォルト:20)
originstringall / mcp / manual / scheduled

OAuth 2.1 の設定

静的 API キーを埋め込めない本番環境の連携の場合:

エンドポイントURL
認可サーバーのメタデータhttps://stexa.ru/.well-known/oauth-authorization-server
保護されたリソースのメタデータhttps://stexa.ru/.well-known/oauth-protected-resource
動的クライアント登録https://stexa.ru/mcp/v1/oauth/register

サポートされているフロー:

  • Authorization Code + PKCE(RFC 7636)— ユーザー向けアプリ用
  • 動的クライアント登録(RFC 7591)— エージェントの自動登録用

クライアントの登録:

curl -X POST https://stexa.ru/mcp/v1/oauth/register \
  -H "Content-Type: application/json" \
  -d '{
    "client_name": "My AI Agent",
    "redirect_uris": ["https://my-agent.example.com/callback"],
    "scope": "call:write call:read transcript:read"
  }'

Authorization Code フローで使用する client_id と client_secret が返されます。


認証スコープ

スコープアクセス権
call:writestexa_call_outbound
call:readstexa_get_call_status, stexa_list_recent_calls
transcript:readstexa_get_transcript

Cabinet で作成した API キーには、デフォルトで3つすべてのスコープが含まれます。


レート制限

レベル上限
IP ごと(全体)60 リクエスト / 分
API キーごと(全体)120 リクエスト / 分
API キーごとの stexa_call_outbound10 通話 / 分

サーバー情報

Endpoint:         POST https://stexa.ru/mcp/v1/jsonrpc
Health:           GET  https://stexa.ru/mcp/v1/health
Protocol version: 2024-11-05
Transport:        HTTP (JSON-RPC 2.0)
Discovery:        GET  https://stexa.ru/mcp/v1/jsonrpc (tools/list, no auth)

ユースケース

  • AI が起点となる発信キャンペーン — CRM イベントが発生すると、エージェントが通話を発信します
  • 予約リマインダー — Claude が訪問の24時間前にクライアントへ音声でリマインドします
  • 通話後のフィードバック — サービス後に音声通話で NPS を収集します
  • CRM への通話記録 — 実際の会話内容でリード情報を充実させます
  • 美容サロン/クリニック/自動車サービスの予約 — 音声ボットが予約を処理します

リンク


ライセンス

Stexa Voice MCP はプロプライエタリなクラウドサービスです(利用規約 · プライバシー)。 このリポジトリのサンプルコードは MIT License の下で利用できます。

コメント

MCP は初めてですか?

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

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