Skip to main content
Glama

create_meeting_bot

Automate meeting attendance by creating a bot to join, record, and transcribe video calls on platforms like Zoom, Google Meet, and Teams using the Attendee MCP Server.

Instructions

Create a bot to join a meeting and record/transcribe it

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bot_nameNoName for the bot (optional, defaults to 'Go Bot')Go Bot
meeting_urlYesURL of the meeting (Zoom, Google Meet, or Teams)

Implementation Reference

  • The main handler function that executes the create_meeting_bot tool. Validates inputs, calls the backend API to create the bot, formats the creation response, and returns it as 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:205-223 (registration)
    Tool registration in the ListTools response, including name, description, and input schema definition.
    { 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:398-399 (registration)
    Dispatch case in the CallToolRequest handler that routes to the createMeetingBot implementation.
    case "create_meeting_bot": return await this.createMeetingBot(args);
  • Helper function to format the bot creation response into a user-friendly message.
    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"); }
  • Shared helper function used by the handler to make authenticated API requests to the backend.
    private async makeApiRequest( endpoint: string, method: string = "GET", body?: any ): Promise<any> { const url = `${API_BASE_URL}${endpoint}`; const headers: Record<string, string> = { "Content-Type": "application/json", }; if (API_KEY) { headers["Authorization"] = `Token ${API_KEY}`; } try { const response = await fetch(url, { method, headers, body: body ? JSON.stringify(body) : undefined, }); if (!response.ok) { const errorText = await response.text(); throw new Error(`API error ${response.status}: ${errorText}`); } return await response.json(); } catch (error) { if (error instanceof Error) { throw new Error(`Network error: ${error.message}`); } throw error; } }

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rexposadas/attendee-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server