get_bot_status
Retrieve the current operational status of a meeting bot by providing its unique ID. This tool helps monitor bot activity and ensures it functions correctly during 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:470-487 (handler)The primary handler function for the 'get_bot_status' tool. It validates the bot_id argument, fetches the bot status from the backend API endpoint `/api/v1/bots/{bot_id}`, formats the response using the formatBotStatus helper, and returns it as MCP tool 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)Registration of the 'get_bot_status' tool in the ListToolsRequestSchema handler, including name, description, and input schema requiring 'bot_id'.{ 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 response into a user-friendly markdown string with emojis indicating status and readiness.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:401-402 (handler)Routing case in the central CallToolRequestSchema handler that dispatches 'get_bot_status' tool calls to the specific getBotStatus method.case "get_bot_status": return await this.getBotStatus(args);