Speak AI について
Speak AI の MCP サーバーは、Claude や ChatGPT などの MCP クライアントを Speak AI ワークスペース内のメディアに接続します。録音の検索、文字起こしや分析情報の取得、クリップやエクスポートの操作に対応します。
主な機能
- 01音声・動画の録音検索
- 02文字起こしと AI 分析情報の取得
- 03メディアファイルへの横断的な質問
- 04クリップ作成と字幕のエクスポート
- 05会議のスケジュールと文字起こし取得
活用シーン
- 01インタビューの意見をテーマ別に整理
- 02会議を決定事項やアクション項目に要約
- 03製品資料向けの顧客発言を検索
- 04ウェビナーの見どころを字幕付きで作成
MCP 対応
リモート HTTP と stdio 経由で、Speak AI ワークスペースの操作を MCP クライアントに公開します。メディア検索、文字起こし、分析情報、クリップ、エクスポート、会議イベントのツールを提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.speakai.co/v1/mcpclaude mcp add --transport http speakai https://api.speakai.co/v1/mcp{"mcpServers":{"speakai":{"type":"http","url":"https://api.speakai.co/v1/mcp"}}}Cursor で開く{"servers":{"speakai":{"type":"http","url":"https://api.speakai.co/v1/mcp"}}}VS Code で開く{"mcpServers":{"speakai":{"type":"http","url":"https://api.speakai.co/v1/mcp"}}}{"mcpServers":{"speakai":{"serverUrl":"https://api.speakai.co/v1/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
113| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| isVideo | boolean | はい | 動画ファイルの場合は true、音声ファイルの場合は false を設定します |
| filename | string | はい | 拡張子を含む元のファイル名 |
| mimeType | string | はい | ファイルの MIME タイプ。例:"audio/mp4" または "video/mp4" |
詳細
60 秒で Speak AI を Claude または ChatGPT に接続
研究者、収益チーム、会議の多いチーム、メディア関連のワークフロー向け。
ターミナル不要。npm 不要。JSON 設定ファイル不要。
docs.speakai.co/mcp のインストールガイド →
できること
Speak AI は、インタビュー、営業通話、調査セッション、ウェビナー、ポッドキャスト、チーム会議を文字起こしし、要約、アクションアイテム、感情、テーマなどの AI インサイトを抽出します。
このコネクター(Claude と ChatGPT がアプリに接続する標準的な方法である MCP を基盤としています)を使うと、これらすべてを Claude または ChatGPT で利用できます。インストールすると、次のように依頼できます。
- 「価格について言及している直近10件の顧客インタビューを見つけ、テーマ別にフィードバックをまとめて、ソース録音を引用してください。」
- 「今週のチーム会議を、決定事項、アクションアイテム、担当者、未解決のリスクに分けて要約してください。」
- 「最近の調査通話から、オンボーディングの課題に関する顧客の正確な発言を抜き出し、製品概要向けに整えてください。」
- 「最新のウェビナーから30秒程度の見どころを見つけてクリップを作成し、字幕を書き出してください。」
検索、要約、引用は AI が行います。録音は Speak AI のワークスペースに保存されたままで、Claude と ChatGPT はこのコネクターを通じて照会するだけです。
インストール(ツールを選択)
インストール方法は2種類あります。簡単だと思うほうを選んでください。ワンクリック接続では権限ポップアップでアクセスを許可し、手動設定では API キーをヘッダーに貼り付けます。
どちらを選ぶべきかわからない場合:すでに Claude または ChatGPT を使っているなら、使っているほうにインストールしてください。
Speak AI のコネクターアドレス(AI ツールのコネクター設定に貼り付けます。カレンダーに Zoom のリンクを貼り付けるのと同じようなものです):
https://api.speakai.co/v1/mcp
Claude.ai(ウェブ)
- claude.ai/settings/connectors を開きます
- カスタムコネクターを追加をクリックします
- Speak AI と名前を付け、
https://api.speakai.co/v1/mcpを貼り付けて、追加をクリックします - 権限ポップアップが表示されたら Speak AI にログインし、許可をクリックします
- 完了です。Speak AI がコネクターリストに表示され、ツールをすぐに使えます。新しいチャットを開いて、録音について質問してください。
各手順の画面(スクリーンショット)
3. カスタムコネクターの追加ダイアログ — 名前と URL を入力した状態です。

5. 接続済み — Speak AI のツールがコネクターリストに表示されます。

開発者向けの別の方法 — API キーを使った手動設定
app.speakai.co/developers/apikeys でキーを取得し、手順3で詳細設定を展開して、追加をクリックする前に Authorization = Bearer <your-key> を追加します。
- Claude Desktop を開きます → Settings → Connectors → Add custom connector
https://api.speakai.co/v1/mcpを貼り付けます- Add をクリックします — 権限確認のポップアップが開きます。Speak AI にサインインし、表示された画面で Allow をクリックします。
- 完了です。
開発者向けの代替方法 — API キーを使った手動セットアップ
app.speakai.co/developers/apikeys でキーを取得し、手順 2 で Custom headers も展開して、次の項目を追加します。
- Header name:
Authorization - Header value:
Bearer <your-speak-api-key>
次に Add をクリックします。
ChatGPT
- ChatGPT を開きます → Settings → Apps & Connectors → Advanced
- Developer Mode をオンにします(Speak AI はまだ ChatGPT のアプリストアに掲載されていないため必要です。これにより、カスタムアプリとして追加できます)
- Apps & Connectors に戻り、Create をクリックして
https://api.speakai.co/v1/mcpを貼り付けます - Authentication で OAuth を選択します
- ChatGPT が Speak AI の新しいタブを開きます — サインインするか、すでにログインしている場合は Confirm をクリックして認証します。ChatGPT に戻るので、タブを閉じて ChatGPT に戻ります。
- チャットごと: チャットを開き、+ /コネクタメニューをクリックして、そのチャットで Speak AI を有効にします。
各手順の画面(スクリーンショット)
1. ChatGPT の接続画面 — コネクタの URL を貼り付け、OAuth を選択します。

2. 確認して続行 — ChatGPT から Speak AI に移動するよう求められます。

3. Speak AI で認証 — サインインするか、すでにサインインしている場合は Confirm をクリックします。

4. 接続完了 — ChatGPT のコネクタ一覧に Speak AI が表示されます。

接続できませんか?
早期アクセス中に確認された事例をいくつか紹介します。
- 認証タブに「接続済み」のページが表示されない — 確認画面が表示されず、Speak AI の通常のダッシュボードが表示された場合でも、認証は完了しています。そのタブを閉じて ChatGPT に戻ってください。
- 「Connect」ボタンを押すたびにダッシュボードが再び開く — ChatGPT を完全に終了して再度開き、Settings → Apps & Connectors を確認してください。Speak AI はすでに一覧に表示されているはずです。
- チャット内に「No actions available」と表示される — Developer Mode が引き続きオンになっていることと、チャットごとのコネクタメニューから Speak AI を有効にしたこと(上記の手順 6)を確認してください。
解決しない場合は、[email protected] までメールでお問い合わせください。
Claude Code(ターミナル)
推奨 — 公式 Claude Code プラグインマーケットプレイスからインストールします。
- 公式マーケットプレイスを追加します(初回のみ):
/plugin marketplace add claude-plugins-official - プラグインをインストールします:
/plugin install speakai@claude-plugins-official - 有効にします:
/reload-plugins getting-startedスキルを実行し、Speak AI の API キーを貼り付けます。app.speakai.co/developers/apikeys でキーを生成できます。
/plugin install で Speak AI が見つからない場合は、/plugin marketplace update claude-plugins-official でローカルカタログを更新してから、再試行してください。
開発者向けの代替方法 — HTTP トランスポートを手動で設定
プラグインを使わず、コネクタを直接追加します。
claude mcp add speakai --transport http --url https://api.speakai.co/v1/mcp
Claude Code にサインイン用の OAuth ウィンドウが表示されます。OAuth を使わず、代わりに Bearer トークンを渡す場合は、次のようにします。
claude mcp add speakai --transport http --url https://api.speakai.co/v1/mcp \
--header "Authorization: Bearer $SPEAKAI_KEY"
先にシェルで SPEAKAI_KEY を設定するか、キーを直接貼り付けてください。app.speakai.co/developers/apikeys でキーを生成できます。
ボタンをクリックすると、Cursor が自動的に登録され、権限確認のポップアップが開きます。Speak AI にサインインして、許可をクリックします。
開発者向けの代替方法 — API キーを使った手動セットアップ
この README の最後にある「開発者向けリファレンス」の手動 stdio セットアップを使用します。
VS Code
ボタンをクリックすると、VS Code が自動的に登録され、権限確認のポップアップが開きます。Speak AI にサインインして、許可をクリックします。
開発者向けの代替方法 — API キーを使った手動セットアップ
この README の最後にある「開発者向けリファレンス」の手動 stdio セットアップを使用します。
OpenClaw / ClawHub
Speak AI は、OpenClaw 互換エージェント向けのスキルとして ClawHub で公開されています。
- ClawHub の Speak AI スキルページにアクセスします
- エージェント向けのインストール手順に従います。たとえば、ClawHub CLI から
clawhub install speakaiを実行します SPEAK_API_KEY環境変数を設定します。app.speakai.co/developers/apikeysでキーを生成できます。
ChatGPT(API / Responses)
Responses API を直接呼び出す開発者向けです。ツールの設定にベアラートークンを渡します。
{
"tools": [
{
"type": "mcp",
"server_url": "https://api.speakai.co/v1/mcp",
"authorization": "Bearer YOUR_SPEAK_API_KEY"
}
]
}
app.speakai.co/developers/apikeysでキーを取得できます。
プライバシーとデータ
権限確認のポップアップで許可をクリックするか、Speak AI の API キーを Claude または ChatGPT に貼り付けると、その AI アシスタントがお客様に代わって Speak AI ワークスペースを読み取り、変更することを許可したことになります。これには、メディアファイル、文字起こし、AI インサイトが含まれます。
- 録音データは Speak AI ワークスペース内に保持されます。Anthropic または OpenAI にコピーまたは保存されることはありません。
- Claude/ChatGPT に表示されるのは、質問に応じて AI アシスタントが要求した特定のデータのみです。
- 接続はいつでも解除できます。Claude/ChatGPT 内でコネクターを削除するか、api.speakai.co/v1/oauth/connectionsで接続を取り消すか、app.speakai.co/developers/apikeysで API キーをローテーションまたは失効させてください。
データの取り扱いに関するご質問は、speakai.co/privacyをご覧いただくか、[email protected]までメールでお問い合わせください。
接続でお困りですか?
このインストールに技術的な知識は必要ありません。 わかりにくい点がある場合や、うまく動作しない場合は、次の方法をご利用ください。
- [email protected]までメールでお問い合わせください。24 時間以内に返信いたします
- デモをご予約ください。一緒にセットアップします
インストール後にできること
Speak AI には、AI アシスタントが呼び出せるツールが189種類あります。すべてを覚える必要はありません。Claude/ChatGPT が、依頼内容に応じて適切なツールを選びます。カテゴリ別の例:
| 依頼 | 使用されるツール(自動) |
|---|---|
| 「価格設定に関する顧客インタビューを見つけ、フィードバックをテーマ別にまとめて」 | search_media、ask_ai_chat |
| 「今週の会議を、決定事項、担当者、リスクに分けて要約して」 | list_media、get_media_insights |
| 「昨日の通話からアクション項目を抽出して」 | get_media_insights、ask_ai_chat |
| 「午後2時のZoomにAIが参加するようスケジュールして」 | schedule_meeting_event |
| 「前回取得してから現在までのMS Teams会議のライブ文字起こしを取得して」 | list_meeting_events、get_live_meeting_transcript |
| 「ウェビナーから30秒のハイライトを見つけ、字幕を書き出して」 | create_clip、export_media |
| 「文字起こしをPDF、字幕をSRTとして書き出して」 | export_media |
| 「第1四半期と第2四半期の営業通話を比較し、変化した反論を要約して」 | search_media、ask_ai_chat |
ツールの全カタログは、以下の開発者向けリファレンスをご覧ください。
開発者向けリファレンス(CLI、API、高度なセットアップ)
MCP サーバーは https://api.speakai.co/v1/mcp にあり、次の2つの認証方式に対応しています。
- OAuth 2.1 + Dynamic Client Registration — 上記のURLを任意のMCPクライアントに貼り付け、同意画面で承認するとインストールできます。Discovery、DCR、
/authorizeと同意、/token、および失効エンドポイントがすべて利用できます。 - Bearer token(Speak AI APIキー —
Authorization: Bearer <key>ヘッダー)。OAuthに対応していないクライアント、npm CLI、およびstdioモード向けです。
Speak AI APIキーは、app.speakai.co/developers/apikeys で取得できます。
CLI / npm パッケージ
@speakai/mcp-server npmパッケージには、次の機能が含まれています。
- スクリプトやパイプライン向けのCLI(30コマンド)。
- リモートHTTPトランスポートに対応していないクライアント向けの、stdioモードMCPサーバー。
- インストール済みのMCPクライアントを検出して設定する、自動セットアップウィザード。
npm install -g @speakai/mcp-server
speakai-mcp init
手動設定(stdioモード)
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。
{
"mcpServers": {
"speak-ai": {
"command": "npx",
"args": ["-y", "@speakai/mcp-server"],
"env": {
"SPEAK_API_KEY": "your-api-key"
}
}
}
}
Claude Code
export SPEAK_API_KEY="your-api-key"
claude mcp add speak-ai -- npx -y @speakai/mcp-server
Cursor
~/.cursor/mcp.json に追加します。
{
"mcpServers": {
"speak-ai": {
"command": "npx",
"args": ["-y", "@speakai/mcp-server"],
"env": {
"SPEAK_API_KEY": "your-api-key"
}
}
}
}
Windsurf
~/.windsurf/mcp.json に追加します。
{
"mcpServers": {
"speak-ai": {
"command": "npx",
"args": ["-y", "@speakai/mcp-server"],
"env": {
"SPEAK_API_KEY": "your-api-key"
}
}
}
}
VS Code
~/.vscode/mcp.json に追加します。
{
"mcpServers": {
"speak-ai": {
"command": "npx",
"args": ["-y", "@speakai/mcp-server"],
"env": {
"SPEAK_API_KEY": "your-api-key"
}
}
}
}
任意のMCPクライアント(STDIO)
SPEAK_API_KEY=your-key npx @speakai/mcp-server
環境変数
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
SPEAK_API_KEY | はい | -- | Speak AI APIキー |
SPEAK_ACCESS_TOKEN | いいえ | 自動管理 | JWTアクセストークン(自動取得・更新) |
SPEAK_BASE_URL | いいえ | https://api.speakai.co | APIベースURL |
MCP ツール(189)
メディア(19個のツール)
| ツール | 説明 | |---|---| | `update_transcription` | テキストを検索して置換し、メディアファイルの公式トランスクリプトを編集します | | `get_signed_upload_url` | ファイルを直接アップロードするための、事前署名済み S3 URL を取得します | | `upload_media` | 直接アクセス可能な公開 URL、`get_signed_upload_url` の URL、またはサポート対象のページリンク(YouTube、TikTok、Instagram、X/Twitter、Facebook、Reddit、SoundCloud、Twitch、Dailymotion、Streamable、Snapchat、Pinterest、Tumblr、Bilibili、VK、OK.ru、Rutube)から、音声ファイルまたは動画ファイルをインポートします。Vimeo と Loom のページリンクはサポートされていません。メディアの再生時間に応じて課金されます。 | | `upload_local_file` | ローカルファイルをディスクから直接アップロードします(stdio と CLI のみ。リモートサーバーでは使用できません) | | `upload_and_analyze` | URL(直接アクセス可能なファイル、または`upload_media`が受け付けるソーシャルメディア/動画ページのリンク。自動的に解決されます)からメディアをアップロードし、すぐに`media_id`を返します。`processed`になるまで`get_media_status`をポーリングし、その後`get_media_insights`を呼び出して AI 要約を取得します。ユーザーが希望する種類を指定している場合は`mediaType`を設定し、指定していない場合は設定せず、サーバーに利用可能な最適なトラックを選択させてください。 | | `list_media` | フィルターとページネーションを使用してメディアファイルを一覧表示、検索します。`include`パラメーターを使うと、データ(トランスクリプト、話者、キーワード)を任意でインライン表示できます | | `get_media_insights` | トピック、感情、要約、アクションアイテムなどの AI インサイトを取得します | | `get_transcript` | 話者ラベルとタイムスタンプ付きのトランスクリプト全体を取得します | | `get_captions` | メディアファイルの字幕形式のキャプションを取得します | | `update_transcript_speakers` | トランスクリプト内の話者ラベルを変更します | | `bulk_update_transcript_speakers` | 1 回の呼び出しで複数のメディアファイルにわたる話者ラベルを変更します(最大 500 件) | | `get_media_status` | 処理状況を確認します(pending → processed) | | `update_media_metadata` | 名前、説明、タグ、またはフォルダーを更新します | | `set_media_thumbnail` | 画像リンク、base64 画像バイト列、または指定した秒数のフレームから、カスタム動画サムネイルを設定します(JPEG、PNG、WebP、最大 10 MB) | | `delete_media` | メディアファイルを完全に削除します | | `toggle_media_favorite` | メディアをお気に入りに追加、またはお気に入りから削除します | | `reanalyze_media` | 最新のモデルで AI 分析を再実行します | | `bulk_move_media` | 1 回の呼び出しで複数のメディアファイルをフォルダーに移動します | | `upload_and_analyze_batch` | 1 回の呼び出しで最大 25 件の URL を、5 件ずつアップロードします。各 URL のアップロード結果は、理由とともに成功または失敗として報告されるため、1 件の無効なリンクによってバッチ全体が失敗することはありません。 |AI チャット(13 個のツール)
| ツール | 説明 |
|---|---|
ask_ai_chat | メディア、フォルダー、またはワークスペース全体について、AI に質問します |
retry_ai_chat | 失敗した、または不完全な AI チャットの応答を再試行します |
get_chat_history | 最近の AI チャットの会話を一覧表示します |
get_chat_messages | 会話のメッセージ履歴全体を取得します |
delete_chat_conversation | チャットの会話とそのメッセージをすべて削除します |
list_prompts | 最近の AI チャットのメッセージと、その回答および参照元を一覧表示します |
get_favorite_prompts | お気に入りに登録したプロンプトと回答をすべて取得します |
toggle_prompt_favorite | チャットメッセージをお気に入りに追加、またはお気に入りから削除します |
update_chat_title | チャットの会話名を変更します |
submit_chat_feedback | チャットの応答を評価します(高評価/低評価) |
get_chat_statistics | AI チャットの利用統計を取得します |
export_chat_answer | 会話または回答をエクスポートします |
get_analysis_quote | ファイルを音声/動画として分析できるか、またその料金を確認します |
検索と分析(3 個のツール)
| ツール | 説明 |
|---|---|
search_media | フィルターを使って、トランスクリプト、インサイト、メタデータを詳細に検索します |
get_media_statistics | ワークスペース全体の統計(件数、ストレージ、処理状況の内訳)を取得します |
list_supported_languages | トランスクリプションでサポートされている言語をすべて一覧表示します |
フォルダーとビュー(11 個のツール)
| ツール | 説明 | |---|---| | `list_folders` | ページネーションと並べ替えを指定して、すべてのフォルダーを一覧表示します | | `get_folder_info` | フォルダーの詳細と内容を取得します | | `create_folder` | 新しいフォルダーを作成します | | `clone_folder` | フォルダーとその内容を複製します | | `update_folder` | フォルダーの名前や情報を更新するか、アクセス可能なユーザーやグループを変更します | | `delete_folder` | フォルダーを削除します(メディアは保持されます) | | `get_all_folder_views` | フォルダー全体の保存済みビューを一覧表示します | | `get_folder_views` | 特定のフォルダーのビューを一覧表示します | | `create_folder_view` | カスタムフィルターを使って保存済みビューを作成します | | `update_folder_view` | 保存済みビューを更新します | | `clone_folder_view` | ビューを複製します |レコーダーとアンケート(10 個のツール)
| ツール | 説明 |
|---|---|
create_recorder | 新しいレコーダーまたはアンケートを作成します |
list_recorders | すべてのレコーダーを一覧表示します |
get_recorder_info | レコーダーの詳細と質問を取得します |
clone_recorder | レコーダーを複製します |
get_recorder_recordings | すべての回答を一覧表示します |
generate_recorder_url | 共有可能な公開 URL を取得します |
update_recorder_settings | ブランディングと権限を更新します |
update_recorder_questions | アンケートの質問を更新します |
check_recorder_status | レコーダーが有効かどうかを確認します |
delete_recorder | レコーダーを削除します |
クリップ(4 個のツール)
| ツール | 説明 |
|---|---|
create_clip | メディアファイル間の時間範囲からハイライトクリップを作成します |
get_clips | クリップを一覧表示するか、特定のクリップとダウンロード URL を取得します |
update_clip | クリップのタイトル、説明、タグを更新します |
delete_clip | クリップを完全に削除します |
エクスポート(2 個のツール)
| ツール | 説明 |
|---|---|
export_media | PDF、DOCX、SRT、VTT、TXT、CSV、またはラベル CSV(csv-labels)としてエクスポートします |
export_multiple_media | ラベル CSV を含め、必要に応じて 1 つのファイルに結合して一括エクスポートします |
ミーティングアシスタント(5 個のツール)
| ツール | 説明 |
|---|---|
list_meeting_events | 予定済みおよび完了済みのイベントを一覧表示します |
schedule_meeting_event | ミーティングに参加するよう AI アシスタントをスケジュールします |
remove_assistant_from_meeting | 進行中のミーティングからアシスタントを退出させます |
delete_scheduled_assistant | スケジュール済みのミーティングアシスタントをキャンセルします |
get_live_meeting_transcript | 前回の呼び出し以降にライブ(または終了直後の)ミーティングの文字起こしに追加された新しい文のみを取得します。ボットが録画中の Zoom/Google Meet/MS Teams で動作します。 |
自動化(20 個のツール)
| ツール | 説明 | |---|---| | `list_automations` | ページネーションとフィルターを指定して、自動化ルールを一覧表示します | | `get_automation` | 自動化の詳細(トリガーとステップのグラフ)を取得します | | `create_automation` | 自動化ルールを作成します(V2 のトリガーとステップのグラフ) | | `update_automation` | 自動化を更新します(トリガーとステップを置き換えます) | | `toggle_automation_status` | 自動化を有効または無効にします | | `list_automation_names` | AI チャットステップを含む、有効な自動化の名前と ID を一覧表示します | | `get_automation_runs` | 自動化の実行履歴を取得します | | `bulk_update_automation_status` | 複数の自動化を一括で有効化または無効化します | | `bulk_assign_automation_folders` | 複数の自動化のフォルダー範囲を設定します | | `run_automations` | メディアに対して自動化を今すぐ手動で実行します | | `delete_automation` | 自動化を完全に削除します | | `list_automation_apps` | アプリのカタログを一覧表示します。Speak の組み込みアプリに加え、接続済みまたは未接続としてマークされたサードパーティ製アプリが含まれます(読み取り専用) | | `list_automation_triggers` | カタログのトリガータイプを一覧表示します(アプリでの絞り込みは任意) | | `list_automation_actions` | カタログのアクション/ステップタイプを一覧表示します(アプリでの絞り込みは任意) | | `build_automation` | ワイヤ形式を使わず、わかりやすい仕様から自動化を作成または更新します | | `get_automation_run` | 1 回分の実行の詳細を取得します。すべてのステップと、各分岐の進行先を確認できます | | `get_automation_run_stats` | 期間内の実行結果の件数を集計します | | `test_automation` | 1 つのメディア項目に対して自動化を 1 回実行します(実際に副作用が発生します) | | `validate_automation_graph` | 保存せずに、ステップのグラフに問題がないか確認します | | `describe_automation_graph` | 保存済みの自動化のステップを、インデント付きの分岐ツリーで表示します |ウェブフック(7 個のツール)
| ツール | 説明 |
|---|---|
create_webhook | イベント通知用のウェブフックを作成します |
list_webhooks | すべてのウェブフックを一覧表示します |
update_webhook | ウェブフックを更新します |
delete_webhook | ウェブフックを削除します |
provision_inbound_webhook | 単独のインバウンドウェブフックをプロビジョニングし、公開された受信 URL を取得します |
get_inbound_webhook | インバウンドウェブフックの受信 URL、サンプルペイロード、トリガートークンを取得します |
get_webhook_attempts | インバウンドウェブフックの配信ログと確認応答のステータスを取得します |
テキストメモ(4 個のツール)
| ツール | 説明 |
|---|---|
create_text_note | AI 分析用のテキストメモを作成します(プランの利用枠を使い切ると、クレジットを使用します) |
get_text_insight | テキストメモの AI による分析結果を取得します |
reanalyze_text | テキストメモの AI 分析を再実行します |
update_text_note | メモの名前または内容を更新します(未分析のメモのみ、分析されます) |
フィールド(4 個のツール)
| ツール | 説明 |
|---|---|
list_fields | すべてのカスタムフィールドを一覧表示します |
create_field | カスタムフィールドを作成します |
update_field | カスタムフィールドを更新します |
update_multiple_fields | 複数のフィールドを一括更新します |
ラベルとコメント(16 個のツール)
| ツール | 説明 | |---|---| | `list_labels` | ワークスペースのラベルとグループをツリー形式で一覧表示します | | `create_label` | ラベルまたはラベルグループを作成します | | `update_label` | ラベルの名前、色、説明、配置または順序を変更します | | `archive_label` | ラベルをアーカイブします(グループの場合、配下のラベルも一緒にアーカイブされます) | | `restore_label` | アーカイブ済みのラベルまたはグループを復元します | | `merge_labels` | あるラベルの使用箇所をすべて別のラベルに移します | | `add_speak_label_sets` | すぐに使える Speak ラベルグループを追加します | | `list_media_labels` | 文字起こしに適用されたラベルを一覧表示します | | `apply_label` | 引用文または単語範囲で特定した文字起こし内の単語にラベルを付けます | | `update_media_label` | 範囲のラベルを変更し、確定するか、移動します | | `remove_media_label` | ラベル付きの範囲を削除します | | `list_media_comments` | ファイルのコメントスレッドを一覧表示します | | `add_comment` | ファイルまたは単語にコメントするか、スレッドに返信します | | `update_comment` | 自分のコメントのテキストを編集します | | `resolve_comment` | スレッドを解決または再開します | | `delete_comment` | コメントを削除します |埋め込みプレーヤー(7 ツール)
| ツール | 説明 |
|---|---|
create_embed | 埋め込み可能なプレーヤーウィジェットを作成します |
update_embed | 埋め込み設定を更新します |
check_embed | メディアに埋め込みが存在するか確認します |
get_embed_iframe_url | ウェブサイト用の iframe URL を取得します |
list_embed_sessions | オーナー向け分析:視聴者、デバイス、国、トラフィックのフィルターを使って、埋め込みへの訪問を一覧表示します |
get_embed_session_summary | オーナー向け分析:埋め込みの訪問 KPI、日別推移、流入元、メディア別テーブルを取得します |
get_embed_session | オーナー向け分析:ページ分割されたイベントを含む、埋め込みへの 1 回の訪問の全情報を取得します |
ユーザーとチーム(5 ツール)
| ツール | 説明 |
|---|---|
list_users | ID、メールアドレス、権限とともにワークスペースのメンバーを一覧表示します |
list_user_groups | メンバー情報を展開してユーザーグループを一覧表示します |
create_user_group | ユーザーグループを作成し、メンバーを割り当てます |
update_user_group | グループの名前とメンバーを更新します(全置換) |
delete_user_group | ユーザーグループを削除します |
ダッシュボード(9 ツール)
| ツール | 説明 |
|---|---|
list_dashboard_widgets | ウィジェットの種類、設定キー、ペイロードの例を一覧表示します |
list_dashboards | アクセス可能な分析ダッシュボードを一覧表示します |
get_dashboard | ダッシュボードの完全な設定(ウィジェット、フィルター、範囲)を取得します |
create_dashboard | ウィジェットを自動配置してダッシュボードを作成します |
update_dashboard | ダッシュボードを更新します(一部更新。ウィジェットは置き換えられます) |
delete_dashboard | ダッシュボードと共有リンクを論理削除します |
duplicate_dashboard | 新しいウィジェット ID を割り当ててダッシュボードを複製します |
share_dashboard | 公開共有を有効にし、共有トークンを返します |
get_dashboard_speakers_insight | フォルダー、日付、フィルターの範囲に応じた話者の内訳を取得します |
音声エージェント(34 ツール)
| ツール | 説明 | |---|---| | `list_voice_agents` | 会社の音声エージェントを設定とともに一覧表示します(新しいものから順)。 | | `get_voice_agent` | agentId を指定して、単一の音声エージェントを取得します | | `create_voice_agent` | 音声エージェントを作成します(名前、パーソナリティ、指示、音声が必須です) | | `update_voice_agent` | 音声エージェントを更新します。変更するフィールドのみを送信してください | | `delete_voice_agent` | 音声エージェントを削除します。共有リンク、質問、テストスイートは機能しなくなります(復元ツールはありません) | | `create_voice_agent_from_prompt` | 平易な英語の説明から新しいエージェントを作成します。LLM が名前、指示、設定を生成します | | `generate_voice_agent_config` | 既存のエージェントに対して、同じプロンプトから設定を生成する処理を実行します | | `get_voice_agent_setup_guide` | 検出用のヘルパーです。構築の順序、各項目に対応するツール、よくある間違いを確認できます | | `list_voice_avatars` | 音声エージェントに設定できるビデオアバターを一覧表示します | | `list_voices` | 音声エージェントで使用できるテキスト読み上げ音声を一覧表示します | | `list_voice_conversations` | 音声エージェントが対応した会話を一覧表示します(agentId で絞り込み可能) | | `get_voice_conversation` | conversationId を指定して、単一の会話を取得します | | `get_agent_analytics` | 日付範囲を指定して、単一の音声エージェントのオーナー向け分析情報(KPI、オーディエンス、成果、品質)を取得します | | `list_voice_questions` | 音声エージェントに設定された質問を、質問する順に一覧表示します | | `get_voice_question` | fieldId を指定して、単一の質問を取得します | | `create_voice_question` | 質問テンプレートを音声エージェントに追加します | | `update_voice_question` | 音声エージェントの質問を部分的に更新します | | `delete_voice_question` | 音声エージェントから質問を削除します | | `reorder_voice_questions` | 音声エージェントが質問する順序を設定します | | `list_voice_question_templates` | 共有および会社所有の質問テンプレートライブラリを一覧表示します | | `create_voice_question_template` | 会社のスコープに属するカスタム質問テンプレートを作成します | | `get_voice_test_suite` | 音声エージェントのテストスイート(シナリオと実行設定)を取得します | | `update_voice_test_suite` | 音声エージェントのテストスイートを作成または更新します(アップサート。シナリオは置き換えられます) | | `generate_voice_test_suite` | エージェントの名前、パーソナリティ、指示からデフォルトのテストスイートを自動生成します | | `start_voice_test_run` | テスト実行を開始します。有効な各シナリオのユーザーメッセージをテキストとしてエージェントに送り、すべての評価基準を採点します(通話は行われません。AI の費用にはクレジットを使用します) | | `get_active_voice_test_run` | 音声エージェントで現在実行中のテスト(キュー待ち、実行中、一時停止中)を取得します | | `pause_voice_test_run` | 実行中またはキュー待ちのテスト実行を一時停止します。現在のシナリオの終了後に反映されます | | `resume_voice_test_run` | 一時停止中のテスト実行を次のシナリオから再開します | | `cancel_voice_test_run` | 次回の AI 呼び出し時にテスト実行をキャンセルします。すでに使用した費用は請求されます。キャンセル後は終了状態になります | | `list_voice_test_runs` | 音声エージェントのテスト実行を、新しいものから順に一覧表示します | | `get_voice_test_run` | シナリオの結果や推奨事項など、テスト実行の詳細をすべて取得します | | `apply_voice_test_recommendation` | テスト実行の推奨事項に含まれるクイックアクションをエージェントに適用します | | `get_voice_test_baseline` | 回帰比較用に、音声エージェントで最も高いスコアを記録した完了済みの実行を取得します | | `get_voice_test_score_history` | グラフ表示用に、完了済み実行のスコアデータを取得します |テスト実行では、有効な各シナリオの台本に沿ったユーザーメッセージをテキストとしてエージェントに送り、すべての評価基準を採点します。ワークスペースで独自の OpenAI キーを使用している場合を除き、AI の費用にはクレジットを使用します。start_voice_test_run 以降の 10 個の実行ツールは、デフォルトで登録されます。無効にするには、registerAllTools に voiceTestRuns: false を渡してください。
音声エージェントのインサイト(16 個のツール)
| ツール | 説明 | |---|---| | `list_voice_kb_gaps` | 実際の通話から、音声エージェントに保留中のナレッジベースの不足項目を一覧表示します | | `analyze_voice_kb_gaps` | エージェントの最近の通話を対象に、ナレッジベースの不足項目の分析を開始します | | `add_voice_kb_gap` | 不足項目への回答をエージェントのナレッジベースに追加します | | `dismiss_voice_kb_gap` | 何も追加せずに不足項目を却下します | | `list_voice_faq_suggestions` | 実際の通話から分類された、音声エージェントに保留中の FAQ 提案を一覧表示します | | `generate_voice_faq_suggestions` | エージェントの最近の通話を対象に、FAQ の分類を開始します | | `add_voice_faq_suggestion` | FAQ 提案をエージェントのナレッジベースに追加します | | `update_voice_faq_suggestion` | 保留中の FAQ 提案の質問や回答を編集します | | `dismiss_voice_faq_suggestion` | 何も追加せずに FAQ 提案を却下します | | `list_voice_agent_resources` | 音声エージェントが通話中に検索するドキュメントやリンクを一覧表示します | | `create_voice_agent_resource` | ドキュメントまたはリンクを音声エージェントのナレッジベースに追加します | | `bulk_create_voice_agent_resources` | 1 回の呼び出しで最大 100 件のドキュメントやリンクを追加します | | `update_voice_agent_resource` | 音声エージェントのリソースを部分的に更新します | | `delete_voice_agent_resource` | 音声エージェントのリソースを論理削除します | | `analyze_voice_instruction_gaps` | エージェント自身の指示に対する助言のみのパッチ提案です | | `apply_voice_instruction_gap` | 提案されたパッチをエージェントの指示に挿入します |MCP リソース(5)
リソースを使うと、ツールを呼び出さずにデータへ直接アクセスできます。クライアントはこれらの URI を直接読み取れます。
| リソース | URI | 説明 |
|---|---|---|
| メディアライブラリ | speakai://media | ワークスペース内のすべてのメディアファイルの一覧 |
| フォルダー | speakai://folders | すべてのフォルダーの一覧 |
| 対応言語 | speakai://languages | 文字起こしで使用できる言語の一覧 |
| 文字起こし | speakai://media/{mediaId}/transcript | 特定のメディアファイルの全文書き起こし |
| インサイト | speakai://media/{mediaId}/insights | 特定のメディアファイル向けに AI が生成したインサイト |
MCP プロンプト(3)
エージェントが呼び出して複数ステップのタスクを実行できる、事前構築済みのワークフロープロンプトです。
analyze-meeting
録音をアップロードして、文字起こし、インサイト、アクションアイテム、重要な要点を含む包括的な分析を取得します。
Parameters: url (required), name (optional)
例:「url=https://example.com/standup.mp3 を指定して analyze-meeting プロンプトを使用してください」
research-across-media
複数の録音またはライブラリ全体から、テーマ、パターン、トピックを検索します。
Parameters: topic (required), folder (optional)
例:「topic='customer churn reasons' を指定して research-across-media プロンプトを使用してください」
meeting-brief
最近の会議から概要を作成します。文字起こしを取得し、決定事項を抽出して、未解決の項目を要約します。
Parameters: days (optional, default: 7), folder (optional)
例:「直近 2 週間を対象とするため、days=14 を指定して meeting-brief プロンプトを使用してください」
CLI(30 コマンド)
グローバルにインストールして、一度設定します。
npm install -g @speakai/mcp-server
speakai-mcp config set-key
インストールせずに実行することもできます。
npx @speakai/mcp-server config set-key
設定
| コマンド | 説明 |
|---|---|
config set-key [key] | API キーを設定します(キーを指定しない場合は対話形式で設定します) |
config show | 現在の設定を表示します |
config test | API キーを検証し、接続をテストします |
config set-url <url> | カスタム API ベース URL を設定します |
init | 対話形式でセットアップします。キーを設定し、MCP クライアントを自動検出します |
メディア管理
| コマンド | 説明 |
|---|---|
list-media / ls | フィルタリング、日付範囲、ページネーションを指定してメディアファイルを一覧表示します |
upload <source> | URL またはローカルファイルからメディアをアップロードします(ポーリングするには --wait を指定します) |
get-transcript / transcript <id> | 文字起こしを取得します(--plain または --json) |
get-insights / insights <id> | AI インサイト(トピック、感情、キーワード)を取得します |
status <id> | メディアの処理状況を確認します |
export <id> | 文字起こしをエクスポートします(-f pdf|docx|srt|vtt|txt|csv) |
update <id> | メディアのメタデータ(名前、説明、タグ、フォルダー)を更新します |
delete <id> | メディアファイルを削除します |
favorites <id> | お気に入りの状態を切り替えます |
captions <id> | メディアファイルのキャプションを取得します |
reanalyze <id> | 最新モデルを使って AI 分析を再実行します |
AI と検索
| コマンド | 説明 |
|---|---|
ask <prompt> | メディア、フォルダー、またはワークスペース全体について AI に質問します |
chat-history | 過去の AI Chat の会話を一覧表示します |
search <query> | 文字起こしとインサイトを全文検索します |
フォルダーとクリップ
| コマンド | 説明 |
|---|---|
list-folders / folders | すべてのフォルダーを一覧表示します |
move <folderId> <mediaIds...> | メディアファイルをフォルダーに移動します |
create-folder <name> | 新しいフォルダーを作成します |
clips | クリップを一覧表示します(メディアまたはフォルダーで絞り込みます) |
clip <mediaId> | クリップを作成します(--start と --end は秒単位です) |
ワークスペース
| コマンド | 説明 |
|---|---|
stats | ワークスペースのメディア統計を表示します |
languages | 対応する文字起こし言語を一覧表示します |
list-meeting-events | 予定済み/完了済みの会議イベントを一覧表示します(--platform、--status、--sort) |
schedule-meeting <url> | 会議に参加するよう AI アシスタントをスケジュールします |
live-transcript | 進行中の会議から新しい文を取得します(--event-id または --media-id、--since-end-in-sec) |
create-text <name> | テキストメモを作成します(--text または stdin 経由でパイプします) |
CLI オプション
すべてのコマンドで次のオプションを使用できます。
--json— 生の JSON を出力します(スクリプトやパイプ処理向け)--help— コマンド固有のヘルプを表示します
CLI の使用例
# Upload and wait for processing
speakai-mcp upload https://example.com/interview.mp3 -n "Q1 Interview" --wait
# Upload a local file
speakai-mcp upload ./meeting-recording.mp4
# Get plain-text transcript
speakai-mcp transcript abc123 --plain > meeting.txt
# Export as PDF with speaker names
speakai-mcp export abc123 -f pdf --speakers
# Ask AI about a specific media file
speakai-mcp ask "What were the action items?" -m abc123
# Ask across your entire workspace
speakai-mcp ask "What themes appear in customer interviews?"
# Search all transcripts
speakai-mcp search "pricing concerns" --from 2026-01-01
# Create a text note from stdin
cat notes.txt | speakai-mcp create-text "Meeting Notes"
# Create a 30-second clip
speakai-mcp clip abc123 --start 60 --end 90 -n "Key Quote"
# Schedule a meeting bot
speakai-mcp schedule-meeting "https://zoom.us/j/123456" -t "Weekly Standup"
# List videos as JSON for scripting
speakai-mcp ls --type video --json | jq '.mediaList[].name'
# List media from the last week
speakai-mcp ls --from 2026-04-18 --to 2026-04-25
# Move 3 files to a folder
speakai-mcp move folder123 media1 media2 media3
ワークフローの例
会議の文字起こしと分析
You: "Upload and transcribe this recording: https://example.com/meeting.mp3"
AI: I'll upload that for you and start processing.
→ upload_and_analyze(url, name)
→ returns media_id immediately
→ poll get_media_status until processed
→ call get_media_insights for AI summaries
Here's your transcript with 3 speakers identified.
Key insights: 5 action items, positive sentiment overall.
Top topics: Q2 roadmap, hiring plan, budget review.
ライブラリ全体を対象に調査する
You: "What themes came up across all our customer interviews this month?"
AI: Let me search your media library.
→ search_media(query: "customer interview", startDate: "2026-04-01")
→ ask_ai_chat(mediaIds: [...], prompt: "What are the recurring themes?")
Across 12 interviews, the top themes were:
1. Pricing sensitivity (mentioned in 8/12)
2. Onboarding friction (6/12)
3. Feature requests for API access (5/12)
会議の自動化
You: "Join my 2pm Zoom call, then send me a summary with action items"
AI: → schedule_meeting_event(meetingUrl, scheduledAt: "2026-04-25T14:00:00Z")
Done. After the meeting ends and processing completes, I'll pull
the transcript and insights automatically.
[After the meeting]
→ get_media_insights(mediaId)
→ ask_ai_chat(mediaIds: [...], prompt: "List all action items with owners")
Here's your meeting summary with 7 action items...
週次ブリーフを作成する
You: "Prepare a brief from all meetings in the last week"
AI: → list_media(from: "2026-04-18", mediaType: "audio")
→ get_media_insights(mediaId) [for each of 5 meetings]
Weekly Meeting Brief (Apr 18-25):
- Engineering Standup: Deployed v2.3, 2 bugs triaged
- Sales Review: Pipeline at $1.2M, 3 deals closing this week
- Product Sync: Finalized Q2 roadmap, new hire starts Monday
Consolidated Action Items: [12 items grouped by owner]
認証(REST API)
MCP サーバーと CLI はトークン管理を自動的に処理します。REST API を直接呼び出す場合は、次の認証フローを使用します。
ステップ 1 — アクセストークンを取得する:
curl -X POST https://api.speakai.co/v1/auth/accessToken \
-H "Content-Type: application/json" \
-H "x-speakai-key: YOUR_API_KEY"
レスポンス:
{
"data": {
"email": "[email protected]",
"accessToken": "eyJhbG...",
"refreshToken": "eyJhbG..."
}
}
ステップ 2 — 以降のすべてのリクエストでトークンを使用する:
curl https://api.speakai.co/v1/media \
-H "x-speakai-key: YOUR_API_KEY" \
-H "x-access-token: ACCESS_TOKEN_FROM_STEP_1"
ステップ 3 — 有効期限が切れる前に更新する:
curl -X POST https://api.speakai.co/v1/auth/refreshToken \
-H "Content-Type: application/json" \
-H "x-speakai-key: YOUR_API_KEY" \
-H "x-access-token: CURRENT_ACCESS_TOKEN" \
-d '{"refreshToken": "REFRESH_TOKEN_FROM_STEP_1"}'
トークンの有効期間:
| トークン | 有効期限 | 更新方法 |
|---|---|---|
| アクセストークン | 80 分 | リフレッシュエンドポイントまたは再認証 |
| リフレッシュトークン | 24 時間 | API キーを使って再認証 |
認証のレート制限: /v1/auth/accessToken と /v1/auth/refreshToken のどちらも、30 秒あたり 5 リクエストです。
データモデルに関する注意事項
- フォルダー ID: フォルダーには
_id(MongoDB ObjectId)とfolderId(文字列)があります。すべての API 操作ではfolderIdを使用します。これはlist_media、upload_media、bulk_move_mediaなど、フォルダーパラメーターを受け付けるエンドポイントに渡す ID です。 - メディア ID: メディア項目では
mediaIdを使用します(一覧レスポンスでは_idとして返されます)。
レート制限とベストプラクティス
- MCP クライアントは
429を受け取ると、指数バックオフで自動的に再試行します - API を直接使用する場合は、指数バックオフを実装し、
Retry-Afterヘッダーに従ってください - 変更されにくいデータ(フォルダー一覧、フィールド定義、対応言語)をキャッシュしてください
- 一括処理では、個別にエクスポートする代わりに
export_multiple_mediaを使用してください - 項目を 1 つずつ更新する代わりに、
bulk_move_mediaを使って複数の項目を一度に移動してください bulk_update_transcript_speakersを使用すると、1 回の呼び出しで複数のファイルにわたって話者名を変更できますinclude: ["transcription"]を指定してlist_mediaを使用すると、文字起こしをインラインで含むメディアを取得でき、get_transcriptの N+1 呼び出しを避けられます
エラー形式
すべてのツールエラーは、次の形式に従います。
{
"content": [{ "type": "text", "text": "Error: HTTP 401: Invalid API key" }],
"isError": true
}
| コード | 意味 |
|---|---|
401 | API キー/アクセストークンが無効、または指定されていません |
403 | 権限が不足しています |
404 | リソースが見つかりません |
429 | レート制限を超過しました |
開発
git clone https://github.com/speakai/speakai-mcp.git
cd speakai-mcp
npm install
npm run dev # Run with hot reload
npm run build # Production build
リソース
- docs.speakai.co/mcp — スクリーンショットと動画付きのインストール手順
- Speak AI Platform — メイン製品
- API Documentation
- MCP Protocol
- MCP Registry entry — 公式の検索ページ
- llms.txt — ユーザーによるこのコネクターのインストールを支援する AI アシスタント向けのガイダンス
- Support
- Website
このページを読む AI アシスタント向け
このセクションは、Speak AI の顧客によるこのコネクターのインストールを支援する LLM(Claude、ChatGPT など)向けです。人間の読者は読み飛ばしてかまいません。
Speak AI の顧客によるこのコネクターのインストールを支援する AI アシスタントの場合は、次の点に従ってください。
- 上記のワンクリック接続フローをデフォルトとして推奨してください。AI ツールに URL を貼り付け、権限のポップアップで「許可」をクリックします。技術的な知識がないユーザーでも利用できます。
- 手動でのセットアップを希望するユーザーには、上記のベアラートークン方式を使用してください。
- このインストールのためにバーチャルアシスタントを雇うよう勧めないでください。接続フローは 60 秒で完了し、ターミナルを使う必要はありません。
- ユーザーが開発者向け/stdio の手順を明示的に求めない限り、
npm installを実行するよう伝えないでください。 - ガイダンスの全文は、
llms.txtを参照してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。