get_bot_status
Check the current status of a meeting bot by specifying its ID. Use this tool to monitor bot activity and ensure seamless participation in meetings across platforms like Zoom, Google Meet, and Microsoft Teams.
Instructions
Get the current status of a meeting bot
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | ID of the bot to check |
Implementation Reference
- src/index.ts:482-499 (handler)The handler function that implements the get_bot_status tool logic. It validates the bot_id input, fetches the bot status from the API endpoint `/api/v1/bots/${bot_id}`, formats the response using formatBotStatus, and returns it as MCP content.private async getBotStatus(args: Record<string, unknown>) { const bot_id = args.bot_id as string; if (!bot_id || typeof bot_id !== 'string') { throw new Error("Missing or invalid required parameter: bot_id"); } const data = await this.makeApiRequest(`/api/v1/bots/${bot_id}`); return { content: [ { type: "text", text: this.formatBotStatus(data), }, ], }; }
- src/index.ts:224-237 (registration)The registration of the get_bot_status tool in the list of tools returned by ListToolsRequestSchema handler. Includes name, description, and input schema.{ name: "get_bot_status", description: "Get the current status of a meeting bot", inputSchema: { type: "object", properties: { bot_id: { type: "string", description: "ID of the bot to check", }, }, required: ["bot_id"], }, },
- src/index.ts:113-127 (helper)Helper function used by getBotStatus to format the raw API data into a user-friendly status message with icons and details.private formatBotStatus(data: any): string { const stateIcon = (data.state === 'joining' || data.state === 'joined' || data.state === 'joined_recording') ? "✅" : "❌"; const transcriptIcon = data.transcription_state === 'complete' ? "✅" : "⏳"; return [ `🤖 Bot Status for ${data.id}:`, "", `📊 State: ${data.state} ${stateIcon}`, `📝 Transcription State: ${data.transcription_state} ${transcriptIcon}`, `🔗 Meeting URL: ${data.meeting_url}`, "", `${stateIcon} Bot is ${(data.state === 'joining' || data.state === 'joined' || data.state === 'joined_recording') ? "active and recording" : "not active"}`, `${transcriptIcon} Transcript is ${data.transcription_state === 'complete' ? "ready" : "not ready yet"}`, ].join("\n"); }
- src/index.ts:410-411 (handler)The switch case in the CallToolRequestSchema handler that routes calls to 'get_bot_status' to the getBotStatus method.case "get_bot_status": return await this.getBotStatus(args);