Skip to main content
Glama

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
NameRequiredDescriptionDefault
bot_idYesID of the bot to check

Implementation Reference

  • 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);
  • 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"],
    },
  • 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");
    }

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