send_video_to_meeting
Play MP4 videos in Google Meet meetings using a bot. Provide the bot ID and HTTPS video URL to display media during the meeting.
Instructions
Send a video to the meeting through the bot (Google Meet only)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | ID of the bot that should play the video | |
| video_url | Yes | HTTPS URL of the MP4 video to play |
Implementation Reference
- src/index.ts:734-766 (handler)The handler function for send_video_to_meeting. It extracts bot_id and video_url from args, validates them (string, https://, ends with .mp4), makes a POST request to the API endpoint /api/v1/bots/{bot_id}/output_video with the video URL, and returns a formatted success message.private async sendVideoToMeeting(args: Record<string, unknown>) { const bot_id = args.bot_id as string; const video_url = args.video_url as string; if (!bot_id || typeof bot_id !== 'string') { throw new Error("Missing or invalid required parameter: bot_id"); } if (!video_url || typeof video_url !== 'string') { throw new Error("Missing or invalid required parameter: video_url"); } if (!video_url.startsWith('https://')) { throw new Error("Video URL must start with https://"); } if (!video_url.endsWith('.mp4')) { throw new Error("Video URL must end with .mp4"); } await this.makeApiRequest(`/api/v1/bots/${bot_id}/output_video`, "POST", { url: video_url }); return { content: [ { type: "text", text: `β Video sent to meeting from bot ${bot_id}\nπ¬ Video URL: ${video_url}\n\nπ‘ The video should now be playing in the meeting (Google Meet only)!`, }, ], }; }
- src/index.ts:370-383 (schema)The input schema defining parameters bot_id (string) and video_url (string, HTTPS MP4), both required.inputSchema: { type: "object", properties: { bot_id: { type: "string", description: "ID of the bot that should play the video", }, video_url: { type: "string", description: "HTTPS URL of the MP4 video to play", }, }, required: ["bot_id", "video_url"], },
- src/index.ts:367-384 (registration)Tool registration in listTools response, including name, description, and input schema.{ name: "send_video_to_meeting", description: "Send a video to the meeting through the bot (Google Meet only)", inputSchema: { type: "object", properties: { bot_id: { type: "string", description: "ID of the bot that should play the video", }, video_url: { type: "string", description: "HTTPS URL of the MP4 video to play", }, }, required: ["bot_id", "video_url"], }, },
- src/index.ts:437-438 (registration)Dispatcher case in CallToolRequest handler that routes to the sendVideoToMeeting method.case "send_video_to_meeting": return await this.sendVideoToMeeting(args);