get_bot_status
Check the current operational status of a meeting bot to verify its availability and activity during video calls.
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:470-487 (handler)The core handler function for the 'get_bot_status' tool. Validates the bot_id parameter, makes an API request to retrieve the bot status, 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:225-237 (registration)Registers the 'get_bot_status' tool in the ListToolsRequestSchema handler, providing 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:401-402 (registration)In the CallToolRequestSchema switch dispatcher, routes calls to the getBotStatus handler method.case "get_bot_status": return await this.getBotStatus(args);
- src/index.ts:227-236 (schema)Input schema definition for the 'get_bot_status' tool, specifying required 'bot_id' parameter.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 the handler to format the raw API response into a readable markdown string with status icons.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"); }