mcpField
M
MeetStream

MeetStream

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

MeetStream について

MeetStream MCP Serverは、MCPクライアントからZoom、Google Meet、Teams向けのMeetStream会議ボットを利用できるサービスです。ホスト型サービスとして、ボット管理、文字起こし、要約、ライブ操作、カレンダー連携を提供します。

主な機能

  1. 01会議ボットの作成と管理
  2. 02会議の録画と文字起こし取得
  3. 03AI会議要約の生成
  4. 04会議チャットや画像でのライブ操作
  5. 05カレンダーイベントとボット予約の管理

活用シーン

  1. 01予定された通話の録画と文字起こし
  2. 02会議の文字起こしや要約の取得
  3. 03進行中の会議でメッセージを送信
  4. 04カレンダーイベントへのボット予約

MCP 対応

Streamable HTTPのホスト型リモートサーバーとしてMCPクライアントに接続し、旧式のHTTP+SSEエンドポイントも提供します。OAuthログインまたはMeetStream APIキーで認証します。

設定

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

エンドポイントhttps://mcp.meetstream.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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://mcp.meetstream.ai/mcp認証が必要

ツール

詳細

MeetStream MCP サーバー

Claude、またはMCP対応クライアントから、MeetStreamの会議ボットAPIに直接アクセスできます。 URLを1つ追加してサインインするだけで、アシスタントが19個のツールを使って、ボットのライフサイクル全体(作成、録画、文字起こし、要約、リアルタイムでのやり取り、カレンダーの自動参加の管理)を実行できます。

https://mcp.meetstream.ai/mcp

MeetStreamがサーバーをホストしています。お使いのマシンにインストールしたり、実行したりする必要はなく、常に最新バージョンを利用できます。

クイックスタート

MeetStreamに接続する4つの手順:URLを追加し、Connectをクリックしてサインインし、Allowをクリックしてから、質問します

  1. https://mcp.meetstream.ai/mcpをAIツールに追加します。キーは追加しないでください。
  2. Connectをクリックします(Claude Codeでは/mcpを実行し、Authenticateを選択します)。ブラウザーでapp.meetstream.aiが開きます。
  3. MeetStreamにサインインし、Allowをクリックします。MeetStreamはこの接続用のAPIキーを作成します。キーが表示されたり、コピーを求められたりすることはありません。
  4. AIツールで「list my meetstream bots」と尋ねます。一覧が表示されるか、空の一覧が表示されれば、接続されています。

各ツールでの詳しい手順は接続をご覧ください。

使用するURL
URL用途
https://mcp.meetstream.ai/mcp現在のすべてのクライアント向け。 Streamable HTTPを使用します。応答はサーバー送信イベント(SSE)としてストリーミングされるため、別途SSEの設定をする必要はありません。
https://mcp.meetstream.ai/sse古いHTTP+SSEトランスポート(2024-11-05)のみをサポートするクライアント向けです。サインインとAPIキーの仕組みは同じです。
Your AI tool ──HTTPS + OAuth sign-in──► mcp.meetstream.ai ──► api.meetstream.ai

旧npmパッケージ@meetstream/mcp(npx @meetstream/mcp)は0.3.0で凍結されており、現在はメンテナンスされていません。現行のcreate_botの既定値や修正が反映される前のものです。代わりにホスト型URLを使用してください。


接続

キーを指定せずにURLを追加します。クライアントがMeetStreamのサインインを検出し、ブラウザーでapp.meetstream.aiを開くので、Allowをクリックします。ダッシュボードは、この接続用にMCP · <app name> · <date> · <number>という名前のAPIキーを作成します。接続を解除するには、APIキーのページでそのキーを削除します。

ブラウザーで開くページは次のとおりです。MeetStreamにサインインしていない場合は、先にサインインしてから、このページが表示されます。

MeetStreamの同意ページ:Claude CodeをMeetStreamに接続します。CancelとAllowのボタンがあります

このページには、接続を要求したアプリの名前が表示されます。アプリに心当たりがない場合は、Cancelをクリックしてください。サインインリンクの有効期限は15分です。

Claude Code
claude mcp add --transport http meetstream https://mcp.meetstream.ai/mcp
# then run /mcp in Claude Code and choose Authenticate
Claude(ウェブ版およびデスクトップ版)

Customize → Connectors → + → Add custom connector。名前にmeetstreamを設定し、URLにhttps://mcp.meetstream.ai/mcpを指定します。OAuthの各フィールドは空欄のままにして、Connectをクリックします。

Cursor

~/.cursor/mcp.jsonを設定するか、MeetStream Cursorプラグインをインストールし、Cursorの「Settings」→「MCP」でmeetstreamの横にあるConnectをクリックします。

{
  "mcpServers": {
    "meetstream": { "url": "https://mcp.meetstream.ai/mcp" }
  }
}
VS Code

.vscode/mcp.jsonを設定し、サーバーを起動します。VS Codeから求められたらサインインしてください。

{
  "servers": {
    "meetstream": { "type": "http", "url": "https://mcp.meetstream.ai/mcp" }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.jsonを設定します。Cascadeを初めて使うときにサインインを求められます。お使いのWindsurfのバージョンでサインインを完了できない場合は、APIキーのヘッダー(下記)を使用してください。

{
  "mcpServers": {
    "meetstream": { "serverUrl": "https://mcp.meetstream.ai/mcp" }
  }
}
Codex

~/.codex/config.tomlを設定し、codex mcp login meetstreamを実行します。

[mcp_servers.meetstream]
url = "https://mcp.meetstream.ai/mcp"
その他のMCPクライアント

リモート(Streamable HTTP)サーバーとしてhttps://mcp.meetstream.ai/mcpを指定します。MCP認証をサポートするクライアントは、保護されたリソースのメタデータ(RFC 9728)、認可サーバーのメタデータ(RFC 8414)、動的クライアント登録(RFC 7591)、PKCEを使用した認可コードフローにより、自動的にサインインします。アクセストークンの有効期間は1時間で、自動的に更新されます。

または API キーを使用する

OAuth に対応していないクライアントや、スクリプト、CI で使用する場合は、app.meetstream.ai/api-keys でキーを作成し、ヘッダーとして送信します。

{
  "mcpServers": {
    "meetstream": {
      "url": "https://mcp.meetstream.ai/mcp",
      "headers": { "Authorization": "Bearer ms_YOUR_API_KEY" }
    }
  }
}
  • Claude Code:claude mcp add --transport http meetstream https://mcp.meetstream.ai/mcp --header "Authorization: Bearer $MEETSTREAM_API_KEY"
  • Codex:[mcp_servers.meetstream] ブロックに bearer_token_env_var = "MEETSTREAM_API_KEY" を追加します。
  • X-MeetStream-Api-Key: <key> も使用できます。ヘッダーを設定できないコネクターの UI では、https://mcp.meetstream.ai/mcp?key=<key> を使用します。サーバーがクエリ文字列をログに記録することはありませんが、URL 内のキーがクライアント側の履歴に残る可能性があるため、OAuth またはヘッダーの使用を推奨します。
古いクライアント(HTTP+SSE)

/mcp はメインのエンドポイントで、応答はすでにサーバー送信イベント(text/event-stream)としてストリーミングされます。古い 2024-11-05 HTTP+SSE トランスポートのみをサポートするクライアントは、同じサインインまたはキーのオプションを使用して https://mcp.meetstream.ai/sse に接続します。ストリームの最初のイベントには、セッションごとのメッセージエンドポイントが示されます。キーがイベントに含まれることはありません。

接続を確認する

クライアントに 「my meetstream bots を一覧表示して」 などと尋ねます。エラーではなくデータ(または正常な空の一覧)が返されれば、接続されています。


あとは尋ねるだけです

「https://meet.google.com/abc-defg-hij のスタンドアップに参加して、Deepgram で文字起こしを録音し、終了したら文字起こしをください。」

「今日のボットを一覧表示して、午後 3 時の顧客との通話の AI 要約をください。」

「ボットが参加している会議に『we'll follow up by email』と送信してから、ロゴを見せてください。」

「明日の役員会議に、カレンダーからボットをスケジュールしてください。」


機能一覧 - 19 個のツール

ボットのライフサイクル
ツール機能
create_botZoom/Google Meet/Microsoft Teams の会議にボットを送信します(join_at を指定するとスケジュールできます)。デフォルトは音声のみです。record_video を有効にすると動画をオンにし、video_layout: "grid_view" が指定されていない限り、スピーカービューで録画します。参加者ごとの動画は、リクエストがない限りオフのままです。設定可能な項目:文字起こしプロバイダーと言語、ウェブフック用の callback_url、動画録画、参加者ごとの音声/動画ストリーム、MIA 会話型エージェント、サインイン済みの参加(アカウントに登録済みのドメインに対する google_login_domain/teams_login_domain、任意の sign_in_email/strict_email)、認証済みの Zoom 参加(zoom_zak_url/zoom_obf_url)、カスタム属性、保持期間、冪等性キー(安全に再試行できます。繰り返し呼び出すと元のボットが返され、重複は作成されません)。bot_id と、プロバイダーが設定されている場合は transcript_id を返します。
list_botsアカウント上のすべてのボットを一覧表示します(ページネーション対応)。
get_bot_status現在のライフサイクル状態を返します。状態は Joining、InWaitingRoom、InMeeting、Recording、Leaving、Stopped、NotAllowed、Denied、Error、Done のいずれかです。
get_bot_detailプラットフォーム、タイミング、ステータスのタイムライン、正規の transcript_id、caption_file(meeting_captions プロバイダーの場合)、元のリクエストペイロードなど、セッションのメタデータ全体を返します。
get_bot_summaryMeetStream に組み込まれた AI 会議要約を返します。外部の LLM 呼び出しは不要です。
remove_botボットをアクティブな会議からすぐに退出させます。録画データは保持されます。
delete_bot_dataボットの音声、動画、文字起こしを完全に削除します。confirm: true が必要です。ユーザーがデータの削除を明示的に依頼した場合にのみ呼び出してください。取り消しはできません。
文字起こし
ツール内容
get_transcriptbot_id を指定して文字起こしを取得します。Webhook では通知されない transcript_id を /detail → /transcriptions 経由で自動的に解決します。準備が整うまでポーリングするには wait: true を指定します。未処理のプロバイダー出力を取得するには raw: true を指定します。セグメントは { speaker, transcript, start_time, end_time } として返されます。
list_transcriptionsボットのすべての文字起こし実行を一覧表示します。プロバイダー、ステータス、署名付きダウンロード URL(有効期間は 1 時間)が含まれます。
transcribe_audio選択したプロバイダーで、ボットが録音した音声を文字起こしし直します。会議後に別のプロバイダーや言語で再試行する場合に便利です。
メディアと会議データ
ツール内容
get_media_urlsaudio(1 時間)、video(10 分)、audio_streams/video_streams(参加者ごと。作成時に separate_audio_streams/separate_video_streams が必要)、または screenshots の署名付き URL を取得します。
get_participants会議で検出された全員の表示名、氏名、ステータス、ストリーム ID を取得します。
get_chats通話中に記録された会議内チャットメッセージを取得します。
get_speaker_timeline話者セグメントのタイムラインとして、誰がいつ話したかを取得します。
会議中のライブ操作
ツール内容
send_chat_messageボット経由でライブ会議にチャットメッセージを投稿します。
send_imageボットのビデオフレームとして画像または GIF を表示します。img_url は一般公開されている必要があります(base64 は不可)。
カレンダー
ツール内容
list_calendar_events接続済みの Google Calendar の今後の予定を取得します。(カレンダーの接続(OAuth 認証情報を使った POST /calendar/create_calendar)は一度だけ行う設定で、通常は MeetStream CLI またはダッシュボードから実行します。)
schedule_calendar_bot特定のカレンダー予定に対して、ボットを予約(action: "schedule")または解除("unschedule")します。
リファレンス
ツール内容
webhook_events_guideWebhook リファレンスを返します。ペイロードの構造(event と bot_event)、2 層構造の bot.stopped 終端モデル、ステータスコード、ストリーミングプロバイダーに関する注意事項を含み、実際の本番環境で受信したデータと照合済みです。Webhook ハンドラーのコードを書く前に、モデルにこのツールを呼び出させてください。

ドキュメントを読むだけの場合との違い

各ツールの説明と webhook_events_guide には、実際の本番環境でのボット実行と照合して確認された、ライブ検証済みの事実が盛り込まれています。これらは、現在公開 API ドキュメントに記載されている誤った情報とは異なります。

  • すべての配信には event が含まれ、そのほとんどには具体的な名前を示す bot_event も含まれます。ルーティングには event を、詳細の確認には bot_event を使用してください。
  • 終了イベントは 2 層構造です。すべての終了は event: "bot.stopped" として 1 回届き、終了理由は bot_event(bot.stopped、bot.kicked、bot.notallowed、bot.denied、bot.failed)で示されます。ロビーでのタイムアウト、拒否、失敗には status_code: 500 が含まれます。bot_status ではなく bot_event に基づいて分岐してください。キックされた場合も正常に退出した場合も、どちらも Stopped と報告されるためです。
  • ストリーミング専用の文字起こしプロバイダー(deepgram_streaming、assemblyai_streaming、jigsawstack_streaming、meetstream_streaming、meeting_captions)は、通話後の文字起こしを生成しないため、transcription.processed は発生しません。ただし、bot.done は発生します。これらのプロバイダーで通話後に文字起こしを取得すると、無期限に 202 が返るため、ポーリング回数に上限を設けてください。
  • transcript_id は Webhook のペイロードに含まれません。モデルに推測させるのではなく、get_transcript が自動的に解決します。
  • あらゆる箇所で安全なデフォルトを設定しています。すべての create_bot 呼び出しに automatic_leave のタイムアウトを設定し、recording_permission_denied_timeout は 60 を下限とします(API はそれより小さい値を指定すると 400 を返します)。

仕組み

サーバーは独自の API キーを保持しません。各リクエスト(または SSE セッション)には、呼び出し元のキー、またはキーをラップした OAuth トークンが含まれます。認証情報のないリクエストには、セットアップ手順を記載した 401 と、OAuth クライアントをサインインフローに誘導する WWW-Authenticate ヘッダーが返されます。Streamable HTTP はステートレスなので、共有状態なしでサービスを水平方向にスケールできます。OAuth トークンは暗号化された自己完結型の値であるため、トークンデータベースも必要ありません。

MeetStream がサーバーを運用しています。サーバーは Go で記述されており、ソースは公開されていません。このリポジトリには、ユーザー向けドキュメントと MCP Registry のエントリー(server.json)が含まれています。問題を報告するには、こちらで issue を作成してください。

トラブルシューティング

症状解決方法
サインインページにリンクの有効期限が切れたと表示されるサインインリンクの有効期間は15分です。クライアントから接続を再開してください
mcp.meetstream.ai から 401 が返されるクライアントからサインイン(OAuth)するか、Authorization: Bearer <key> / X-MeetStream-Api-Key を送信してください。サーバーには独自のキーはありません
ツール呼び出しで API から 401 が返されるキーが無効か、取り消されています(OAuth 接続の場合、アプリ名の付いたキーが削除されています)。再接続するか、app.meetstream.ai/api-keys で新しいキーを生成してください
get_transcript が ready: false を返す会議の処理がまだ完了していないか、(ストリーミングプロバイダーの場合)通話後の文字起こしがありません。まず get_bot_status を確認してください
カレンダーツールが空の結果やエラーを返すまだカレンダーが接続されていません。まず CLI で meetstream calendar connect を実行して、カレンダーを接続してください
クライアントが古い SSE トランスポートにしか対応していないhttps://mcp.meetstream.ai/sse を使用してください

ターミナルを使いたい場合は、MeetStream CLI をご覧ください。ドキュメント:docs.meetstream.ai · API 仕様:openapi.json · Recall.ai からの移行:@meetstream/migrate

プライバシーとテレメトリー

ホスト型サーバーは、呼び出されたツールの種類と各呼び出しの成功可否について、匿名の件数を記録します。API キー、OAuth トークン、会議 URL、文字起こし、その他のコンテンツを記録することはありません。サーバーログに含まれるのはリクエストパスのみで、クエリー文字列は記録されません。

MIT © MeetStream.ai

コメント

MCP は初めてですか?

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

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