mcpField
Z
zoom-automation

zoom-automation

github.com/davepoon生産性3.7k123 回インストール1 日前に更新
リポジトリ

zoom-automation について

zoom-automationは、Composioを介してZoomの会議、ウェビナー、録画、参加者、利用レポートを操作するスキルです。Rube MCP経由でZoomを扱うユーザー向けです。

主な機能

  1. 01会議の予約と更新
  2. 02会議一覧と詳細の取得
  3. 03クラウド録画の管理
  4. 04参加者と利用レポートの確認
  5. 05ウェビナー一覧と参加登録

活用シーン

  1. 01会議を予約して参加者を登録
  2. 02期間を指定して録画を取得
  3. 03終了した会議の参加者を確認
  4. 04Zoomの日次利用統計を確認

MCP 対応

Rube MCPを通じてComposioのZoomツールキットを利用します。ワークフローの実行前にRube MCPを接続し、Zoomアカウントを認証します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davepoon/buildwithclaude --skill zoom-automation

インストール後、Claude Code で/zoom-automationを入力して読み込まれたか確認します。

詳細

Rube MCP による Zoom の自動化

Composio の Zoom ツールキットを使って、ミーティングのスケジュール設定、ウェビナーの管理、クラウド録画の取得、参加者の追跡、利用状況のレポート作成など、Zoom の操作を自動化します。

ツールキットのドキュメント:composio.dev/toolkits/zoom

前提条件

  • Rube MCP に接続されていること(RUBE_SEARCH_TOOLS が利用可能)
  • RUBE_MANAGE_CONNECTIONS でツールキット zoom を指定した、アクティブな Zoom 接続
  • 現在のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出します
  • ほとんどの機能には有料の Zoom アカウント(Pro プラン以上)が必要です

セットアップ

Rube MCP を入手する:クライアントの設定で、https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで動作します。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを検証します
  2. ツールキット zoom を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクに従って Zoom OAuth を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

1. ミーティングの作成とスケジュール設定

使用する場面:ユーザーが、特定の日時、長さ、設定で新しい Zoom ミーティングを作成したい場合

ツールの順序:

  1. ZOOM_GET_USER - 認証済みユーザーとライセンスの種類を確認します[前提条件]
  2. ZOOM_CREATE_A_MEETING - トピック、日時、長さ、設定を指定してミーティングを作成します[必須]
  3. ZOOM_GET_A_MEETING - join_url を含むミーティングの全詳細を取得します[任意]
  4. ZOOM_UPDATE_A_MEETING - ミーティングの設定を変更するか、スケジュールを変更します[任意]
  5. ZOOM_ADD_A_MEETING_REGISTRANT - 登録が有効なミーティングに参加者を登録します[任意]

主なパラメーター:

  • userId:ユーザーレベルのアプリでは常に "me" を使用します
  • topic:ミーティングの件名
  • type:1(即時)、2(スケジュール済み)、3(固定時刻なしの定期開催)、8(固定時刻の定期開催)
  • start_time:ISO 8601 形式(UTC の場合は yyyy-MM-ddTHH:mm:ssZ、タイムゾーンフィールドを指定する場合は yyyy-MM-ddTHH:mm:ss)
  • timezone:タイムゾーン ID(例:"America/New_York")
  • duration:長さ(分)
  • settings__auto_recording:"none"、"local"、"cloud" のいずれか
  • settings__waiting_room:待機室を有効にするかどうかを示すブール値
  • settings__join_before_host:ホストより先に参加できるかどうかを示すブール値(待機室が有効な場合は無効になります)
  • settings__meeting_invitees:メールアドレスを含む招待者オブジェクトの配列

注意点:

  • start_time は未来の日時である必要があります。Zoom は、入力したタイムゾーンにかかわらず、時刻を UTC で保存して返します
  • type 2 で start_time を設定しない場合、30 日後に期限切れとなる即時ミーティングになります
  • 参加者用の join_url とホスト用の start_url は作成レスポンスに含まれるため、保存しておきます
  • start_url の有効期限は 2 時間です(custCreate ユーザーの場合は 90 日です)
  • ミーティングの作成は、1 日あたり 100 リクエストにレート制限されています
  • 設定名のネストには二重アンダースコアを使います(例:settings__host_video)
2. ミーティングの一覧表示と管理

使用する場面:ユーザーが、今後のミーティング、開催中のミーティング、または過去のミーティングを確認したい場合

ツールの順序:

  1. ZOOM_LIST_MEETINGS - 種類(スケジュール済み、開催中、今後、過去)でミーティングを一覧表示します[必須]
  2. ZOOM_GET_A_MEETING - 特定のミーティングの詳細情報を取得します[任意]
  3. ZOOM_UPDATE_A_MEETING - ミーティングの詳細を変更します[任意]

主なパラメーター:

  • userId:認証済みユーザーには "me" を使用します
  • type:"scheduled"(デフォルト)、"live"、"upcoming"、"upcoming_meetings"、"previous_meetings"
  • page_size:1 ページあたりのレコード数(デフォルトは 30)
  • next_page_token:前回のレスポンスから取得したページネーショントークン
  • from / to:日付範囲のフィルター

注意点:

  • ZOOM_LIST_MEETINGS は即時ミーティングを除外し、期限切れになっていないスケジュール済みミーティングのみを表示します
  • 過去のミーティングには、type: "previous_meetings" を使用します
  • ページネーションでは、完全な結果を取得するため、next_page_token が空になるまで常に次のページを取得します
  • トークンの有効期限:next_page_token は 15 分後に期限切れになります
  • ミーティング ID は 10 桁を超える場合があるため、標準の整数ではなく長整数として保存します
3. 録画を管理する

使用する場面:ユーザーがクラウド録画を一覧表示、取得、削除したい場合

ツールの順序:

  1. ZOOM_LIST_ALL_RECORDINGS - 日付範囲を指定して、ユーザーのすべてのクラウド録画を一覧表示します[必須]
  2. ZOOM_GET_MEETING_RECORDINGS - 特定のミーティングの録画を取得します[任意]
  3. ZOOM_DELETE_MEETING_RECORDINGS - 録画をゴミ箱に移動、または完全に削除します[任意]
  4. ZOOM_LIST_ARCHIVED_FILES - アーカイブ済みのミーティング/ウェビナーファイルを一覧表示します[任意]

主なパラメーター:

  • userId:認証済みユーザーには "me" を使用します
  • from / to:yyyy-mm-dd 形式の日付範囲(最大1か月)
  • meetingId:特定の録画を取得するためのミーティングIDまたはUUID
  • action:削除時は "trash"(復元可能)または "delete"(完全削除)を指定します
  • include_fields:録画をダウンロードするためのJWTを取得するには "download_access_token" を設定します
  • trash:ゴミ箱内の録画を一覧表示するには true を設定します

注意点:

  • 日付範囲の上限は1か月です。範囲がこれを超えると、APIが from を自動調整します
  • アカウントでクラウド録画を有効にしている必要があります
  • / で始まるUUID、または // を含むUUIDは、URLエンコードを二重に行う必要があります
  • ZOOM_DELETE_MEETING_RECORDINGS のデフォルトのアクションは "trash"(復元可能)です。"delete" は完全削除です
  • パスコードで保護された録画のダウンロードURLには、Authorizationヘッダー内のOAuthトークンが必要です
  • Proプラン以上が必要です
4. ミーティングの参加者とレポートを取得する

使用する場面:ユーザーが過去のミーティングの参加者や使用統計を確認したい場合

ツールの順序:

  1. ZOOM_GET_PAST_MEETING_PARTICIPANTS - 終了したミーティングの参加者を一覧表示します[必須]
  2. ZOOM_GET_A_MEETING - 今後のミーティングの詳細と登録情報を取得します[任意]
  3. ZOOM_GET_DAILY_USAGE_REPORT - 日ごとの使用統計(ミーティング、参加者、分数)を取得します[任意]
  4. ZOOM_GET_A_MEETING_SUMMARY - AIが生成したミーティングの要約を取得します[任意]

主なパラメーター:

  • meetingId:ミーティングID(最新の開催回)またはUUID(特定の開催回)
  • page_size:1ページあたりのレコード数(デフォルトは30)
  • next_page_token:参加者リストが大きい場合のページネーション用トークン

注意点:

  • ZOOM_GET_PAST_MEETING_PARTICIPANTS は、有料プランで終了したミーティングに対してのみ機能します
  • 1人だけのミーティング(他の参加者がいない場合)では、結果は空になります
  • UUIDのエンコード:/ で始まるUUID、または // を含むUUIDは、二重エンコードする必要があります
  • 参加者を取りこぼさないよう、next_page_token が空になるまで必ずページネーションを行ってください
  • ZOOM_GET_A_MEETING_SUMMARY には、AI Companionが有効な有料プランが必要です。無料アカウントでは400エラーが発生します
  • ZOOM_GET_DAILY_USAGE_REPORT には厳しいレート制限があります。頻繁な呼び出しは避けてください
5. ウェビナーを管理する

使用する場面:ユーザーがウェビナーを一覧表示したり、ウェビナーの参加者を登録したりしたい場合

ツールの順序:

  1. ZOOM_LIST_WEBINARS - 予定済みまたは今後のウェビナーを一覧表示します[必須]
  2. ZOOM_GET_A_WEBINAR - ウェビナーの詳細情報を取得します[任意]
  3. ZOOM_ADD_A_WEBINAR_REGISTRANT - ウェビナーに参加者を登録します[任意]

主なパラメーター:

  • userId:認証済みユーザーには "me" を使用します
  • type:"scheduled"(デフォルト)または "upcoming"
  • page_size:1ページあたりのレコード数(デフォルトは30)
  • next_page_token:ページネーション用トークン

注意点:

  • ウェビナー機能には、ウェビナーのアドオンが付属するProプラン以上が必要です
  • 無料/ベーシックアカウントではウェビナーツールを使用できません
  • 有効期限が切れていないウェビナーのみが表示されます
  • ZOOM_ADD_A_WEBINAR_REGISTRANT を使用するには、ウェビナーで登録が有効になっている必要があります

共通パターン

IDの解決
  • ユーザーID:ユーザーレベルのアプリでは、認証済みユーザーを指すために常に "me" を使用します
  • ミーティングID:数値ID(長整数として保存)。最新の開催回に使用します
  • ミーティングUUID:繰り返しミーティングの特定の開催回に使用します。/ で始まる場合、または // を含む場合は二重エンコードします
  • 開催回ID:繰り返しミーティングの特定の開催回を指定するために使用します
ページネーション

Zoom のほとんどのリストエンドポイントでは、トークンベースのページネーションを使用します。

  • next_page_token が空になるか、存在しなくなるまで追跡します
  • トークンは 15 分後に有効期限が切れます
  • page_size を明示的に設定します(デフォルトは 30 ですが、エンドポイントによって異なります)
  • page_number は使用しないでください(多くのエンドポイントで非推奨です)
時刻の処理
  • Zoom はすべての時刻を内部的に UTC で保存します
  • 現地時間で入力する場合は、start_time と併せて timezone フィールドを指定します
  • ISO 8601 形式を使用します:yyyy-MM-ddTHH:mm:ssZ(UTC)または yyyy-MM-ddTHH:mm:ss(timezone フィールドを指定)
  • 日付のみのフィールドには yyyy-mm-dd 形式を使用します

既知の注意点

プラン要件
  • ほとんどの録画機能と参加者機能には、Pro プラン以上が必要です
  • ウェビナー機能には Webinar アドオンが必要です
  • AI ミーティング要約には、AI Companion 機能を有効にする必要があります
  • アーカイブされたファイルには、Zoom サポートによる「Meeting and Webinar Archiving」の有効化が必要です
レート制限
  • ミーティングの作成:1 日あたり 100 件のリクエスト、ミーティングごとに 24 時間以内で 100 回更新できます
  • ZOOM_GET_PAST_MEETING_PARTICIPANTS:中程度のスロットリングがあるため、バッチ処理では遅延を追加します
  • ZOOM_GET_DAILY_USAGE_REPORT:厳しいレート制限があります
  • ZOOM_GET_A_MEETING、ZOOM_GET_MEETING_RECORDINGS:軽度のレート制限があります
  • ZOOM_LIST_MEETINGS、ZOOM_LIST_ALL_RECORDINGS:中程度のレート制限があります
パラメーターに関する注意点
  • 入れ子になった設定には、二重アンダースコア表記を使用します(例:settings__waiting_room)
  • start_url は 2 時間後に有効期限が切れます。必要に応じて API 経由で更新します
  • waiting_room が true の場合、join_before_host は自動的に無効になります
  • 定期ミーティングのフィールド(recurrence__*)は、タイプ 3 と 8 にのみ適用されます
  • password フィールドは最大 10 文字で、英数字および @、-、_、* のみ使用できます

クイックリファレンス

タスクツールスラッグ主なパラメーター
ミーティングを作成ZOOM_CREATE_A_MEETINGuserId、topic、start_time、type
ミーティングの詳細を取得ZOOM_GET_A_MEETINGmeetingId
ミーティングを更新ZOOM_UPDATE_A_MEETINGmeetingId、更新するフィールド
ミーティングを一覧表示ZOOM_LIST_MEETINGSuserId、type、page_size
ユーザー情報を取得ZOOM_GET_USERuserId
録画を一覧表示ZOOM_LIST_ALL_RECORDINGSuserId、from、to
録画を取得ZOOM_GET_MEETING_RECORDINGSmeetingId
録画を削除ZOOM_DELETE_MEETING_RECORDINGSmeetingId、action
過去の参加者ZOOM_GET_PAST_MEETING_PARTICIPANTSmeetingId、page_size
日次利用状況レポートZOOM_GET_DAILY_USAGE_REPORT日付パラメーター
ミーティングの要約ZOOM_GET_A_MEETING_SUMMARYmeetingId
ウェビナーを一覧表示ZOOM_LIST_WEBINARSuserId、type
ウェビナーを取得ZOOM_GET_A_WEBINARウェビナー ID
ミーティングに登録ZOOM_ADD_A_MEETING_REGISTRANTmeetingId、参加者の詳細
ウェビナーに登録ZOOM_ADD_A_WEBINAR_REGISTRANTウェビナー ID、参加者の詳細
アーカイブファイルを一覧表示ZOOM_LIST_ARCHIVED_FILESfrom、to

Composio 提供

コメント