create_meeting_bot
Automate meeting attendance by deploying a bot to join, record, and transcribe sessions on Zoom, Google Meet, or Microsoft Teams via the Attendee MCP Server.
Instructions
Create a bot to join a meeting and record/transcribe it
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bot_name | No | Name for the bot (optional, defaults to 'Go Bot') | Go Bot |
| meeting_url | Yes | URL of the meeting (Zoom, Google Meet, or Teams) |
Implementation Reference
- src/index.ts:459-480 (handler)The handler function that executes the create_meeting_bot tool. Validates input, makes POST request to /api/v1/bots endpoint using makeApiRequest helper, formats response with formatBotCreated, and returns MCP content.private async createMeetingBot(args: Record<string, unknown>) { const meeting_url = args.meeting_url as string; const bot_name = (args.bot_name as string) || "Claude Bot"; if (!meeting_url || typeof meeting_url !== 'string') { throw new Error("Missing or invalid required parameter: meeting_url"); } const data = await this.makeApiRequest("/api/v1/bots", "POST", { meeting_url, bot_name, }); return { content: [ { type: "text", text: this.formatBotCreated(data), }, ], }; }
- src/index.ts:208-222 (schema)Input schema for create_meeting_bot tool defining parameters: meeting_url (required string), bot_name (optional string with default).inputSchema: { type: "object", properties: { meeting_url: { type: "string", description: "URL of the meeting (Zoom, Google Meet, or Teams)", }, bot_name: { type: "string", description: "Name for the bot (optional, defaults to 'Go Bot')", default: "Go Bot", }, }, required: ["meeting_url"], },
- src/index.ts:205-223 (registration)Tool registration in listTools handler: defines name, description, and input schema for create_meeting_bot.{ name: "create_meeting_bot", description: "Create a bot to join a meeting and record/transcribe it", inputSchema: { type: "object", properties: { meeting_url: { type: "string", description: "URL of the meeting (Zoom, Google Meet, or Teams)", }, bot_name: { type: "string", description: "Name for the bot (optional, defaults to 'Go Bot')", default: "Go Bot", }, }, required: ["meeting_url"], }, },
- src/index.ts:407-408 (registration)Dispatcher case in CallToolRequestSchema handler that routes calls to create_meeting_bot to the specific handler function.case "create_meeting_bot": return await this.createMeetingBot(args);
- src/index.ts:129-140 (helper)Helper function to format the response after creating a bot, used in the handler.private formatBotCreated(data: any): string { return [ "✅ Successfully created meeting bot!", "", `🤖 Bot ID: ${data.id}`, `🔗 Meeting URL: ${data.meeting_url}`, `📊 State: ${data.state}`, `📝 Transcription State: ${data.transcription_state}`, "", `💡 You can check the bot status using bot ID: ${data.id}`, ].join("\n"); }