Skip to main content
Glama
Angad-2002

Attendee MCP Server

by Angad-2002

make_bot_speak

Convert text to speech for a bot to speak during meetings, supporting multiple languages and voice options for clear audio output.

Instructions

Make a bot speak text during a meeting using text-to-speech

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bot_idYesID of the bot that should speak
textYesText for the bot to speak
voice_language_codeNoVoice language code (optional, defaults to 'en-US')en-US
voice_nameNoVoice name (optional, defaults to 'en-US-Casual-K')en-US-Casual-K

Implementation Reference

  • The main handler function for the 'make_bot_speak' tool. It validates inputs, constructs TTS settings, sends a POST request to the API endpoint `/api/v1/bots/{bot_id}/speech`, and returns a success message.
    private async makeBotSpeak(args: Record<string, unknown>) {
      const bot_id = args.bot_id as string;
      const text = args.text as string;
      const voice_language_code = (args.voice_language_code as string) || "en-US";
      const voice_name = (args.voice_name as string) || "en-US-Casual-K";
      
      if (!bot_id || typeof bot_id !== 'string') {
        throw new Error("Missing or invalid required parameter: bot_id");
      }
      
      if (!text || typeof text !== 'string') {
        throw new Error("Missing or invalid required parameter: text");
      }
      
      const speechData = {
        text,
        text_to_speech_settings: {
          google: {
            voice_language_code,
            voice_name
          }
        }
      };
    
      await this.makeApiRequest(`/api/v1/bots/${bot_id}/speech`, "POST", speechData);
    
      return {
        content: [
          {
            type: "text",
            text: `✅ Bot ${bot_id} will speak: "${text}"\n\n🔊 Voice: ${voice_name} (${voice_language_code})\n💡 The bot should now be speaking in the meeting!`,
          },
        ],
      };
    }
  • The input schema definition for the 'make_bot_speak' tool, specifying parameters like bot_id (required), text (required), voice_language_code, and voice_name with types, descriptions, and defaults.
    inputSchema: {
      type: "object",
      properties: {
        bot_id: {
          type: "string",
          description: "ID of the bot that should speak",
        },
        text: {
          type: "string",
          description: "Text for the bot to speak",
        },
        voice_language_code: {
          type: "string",
          description: "Voice language code (optional, defaults to 'en-US')",
          default: "en-US",
        },
        voice_name: {
          type: "string",
          description: "Voice name (optional, defaults to 'en-US-Casual-K')",
          default: "en-US-Casual-K",
        },
      },
      required: ["bot_id", "text"],
    },
  • src/index.ts:422-423 (registration)
    Registration in the switch statement of the CallToolRequestHandler that dispatches calls to 'make_bot_speak' to the makeBotSpeak handler method.
    case "make_bot_speak":
      return await this.makeBotSpeak(args);
  • src/index.ts:275-302 (registration)
    Tool registration in the ListToolsRequestHandler response, including name, description, and full input schema.
    {
      name: "make_bot_speak",
      description: "Make a bot speak text during a meeting using text-to-speech",
      inputSchema: {
        type: "object",
        properties: {
          bot_id: {
            type: "string",
            description: "ID of the bot that should speak",
          },
          text: {
            type: "string",
            description: "Text for the bot to speak",
          },
          voice_language_code: {
            type: "string",
            description: "Voice language code (optional, defaults to 'en-US')",
            default: "en-US",
          },
          voice_name: {
            type: "string",
            description: "Voice name (optional, defaults to 'en-US-Casual-K')",
            default: "en-US-Casual-K",
          },
        },
        required: ["bot_id", "text"],
      },
    },

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/Angad-2002/attendee-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server