Skip to main content
Glama

get_recording

Retrieve the recording URL for a specific bot from the Attendee MCP Server to access meeting recordings.

Instructions

Get the recording URL for a bot

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bot_idYesID of the bot to get recording for

Implementation Reference

  • The handler function that retrieves the recording details for a bot by making an API request to /api/v1/bots/{bot_id}/recording and formats the response including URL, file size, and duration.
    private async getRecording(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}/recording`);
    
      const formatFileSize = (bytes?: number) => {
        if (!bytes) return "Unknown size";
        const sizes = ['B', 'KB', 'MB', 'GB'];
        const i = Math.floor(Math.log(bytes) / Math.log(1024));
        return Math.round(bytes / Math.pow(1024, i) * 100) / 100 + ' ' + sizes[i];
      };
    
      const formatDuration = (ms?: number) => {
        if (!ms) return "Unknown duration";
        const seconds = Math.floor(ms / 1000);
        const minutes = Math.floor(seconds / 60);
        const hours = Math.floor(minutes / 60);
        
        if (hours > 0) {
          return `${hours}h ${minutes % 60}m ${seconds % 60}s`;
        } else if (minutes > 0) {
          return `${minutes}m ${seconds % 60}s`;
        } else {
          return `${seconds}s`;
        }
      };
    
      return {
        content: [
          {
            type: "text",
            text: [
              `πŸŽ₯ Recording for bot ${bot_id}:`,
              "",
              `πŸ“ URL: ${data.url}`,
              `πŸ“Š Size: ${formatFileSize(data.file_size)}`,
              `⏱️ Duration: ${formatDuration(data.duration_ms)}`,
              "",
              "πŸ’‘ This is a short-lived URL that expires after a certain time.",
            ].join("\n"),
          },
        ],
      };
    }
  • Input schema definition for the get_recording tool, specifying bot_id as required string parameter.
    inputSchema: {
      type: "object",
      properties: {
        bot_id: {
          type: "string",
          description: "ID of the bot to get recording for",
        },
      },
      required: ["bot_id"],
    },
  • src/index.ts:419-420 (registration)
    Switch case that registers and dispatches the get_recording tool call to the handler method.
    case "get_recording":
      return await this.getRecording(args);
  • src/index.ts:326-339 (registration)
    Tool registration in the listTools response, defining name, description, and input schema for get_recording.
    {
      name: "get_recording",
      description: "Get the recording URL for a bot",
      inputSchema: {
        type: "object",
        properties: {
          bot_id: {
            type: "string",
            description: "ID of the bot to get recording for",
          },
        },
        required: ["bot_id"],
      },
    },

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