get_bot_status
Check the current operational status of a meeting bot to verify its availability and functionality during online meetings.
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 for the 'get_bot_status' tool. It validates the bot_id input, makes an API request to fetch 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:227-236 (schema)Input schema definition for the 'get_bot_status' tool, specifying the 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:225-237 (registration)Registration of the 'get_bot_status' tool in the listTools response, including 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 the handler to format the bot status data into a user-friendly string with icons and status indicators.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"); }