Skip to main content
Glama
ChatterBoxIO

ChatterBox MCP Server

by ChatterBoxIO

joinMeeting

Join Zoom or Google Meet meetings via meeting ID and password, capture transcripts, and record audio for comprehensive meeting summaries.

Instructions

Join a Zoom or Google Meet meeting using the provided meeting ID and password and capture transcript and audio recording

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
botNameYesThe name of the bot
meetingIdYesThe ID of the Zoom ('###########') or Google Meet ('xxx-xxx-xxx') meeting
meetingPasswordNoThe password for the Zoom meeting (optional)
platformYesThe online conference platform (zoom or googlemeet)
webhookUrlNoURL to receive webhook events for meeting status (optional)

Implementation Reference

  • Async handler function that sends a POST request to the Chatterbox API endpoint to join the specified meeting platform with the given details and returns the session ID or handles errors.
    async ({ platform, meetingId, meetingPassword, botName, webhookUrl }: { platform: string; meetingId: string; meetingPassword?: string; botName: string; webhookUrl?: string; }) => { try { const response = await fetch( `${CHATTERBOX_API_ENDPOINT}/join`, { method: 'POST', headers: { "Content-Type": "application/json", "Authorization": `Bearer ${CHATTERBOX_API_KEY}` }, body: JSON.stringify({ platform, meetingId, meetingPassword: meetingPassword || '', botName: botName || '', webhookUrl: webhookUrl || '' }) } ); const data = await response.json(); return { content: [{ type: "text", text: `Meeting bot deployed. Session ID: ${data.sessionId}` }] }; } catch (error) { return handleApiError(error, "joinMeeting"); } }
  • Zod schema defining the input parameters for the joinMeeting tool: platform, meetingId, optional meetingPassword, botName, and optional webhookUrl.
    { platform: z.enum(["zoom", "googlemeet", "teams"]).describe("The online conference platform (zoom, googlemeet, or teams)"), meetingId: z.string().describe("The ID of the Zoom ('###########') or Google Meet ('xxx-xxx-xxx') or Microsoft Teams ('##########') meeting"), meetingPassword: z.string().optional().describe("The password or the passcode for the Zoom or Google Meet or Microsoft Teams meeting (optional)"), botName: z.string().describe("The name of the bot"), webhookUrl: z.string().optional().describe("URL to receive webhook events for meeting status (optional)"), },
  • src/index.ts:70-115 (registration)
    Registration of the joinMeeting tool on the MCP server, including name, description, input schema, and handler function.
    server.tool( "joinMeeting", "Join a Zoom, Google Meet, or Microsoft Teams meeting using the provided meeting ID and password and capture transcript and audio recording", { platform: z.enum(["zoom", "googlemeet", "teams"]).describe("The online conference platform (zoom, googlemeet, or teams)"), meetingId: z.string().describe("The ID of the Zoom ('###########') or Google Meet ('xxx-xxx-xxx') or Microsoft Teams ('##########') meeting"), meetingPassword: z.string().optional().describe("The password or the passcode for the Zoom or Google Meet or Microsoft Teams meeting (optional)"), botName: z.string().describe("The name of the bot"), webhookUrl: z.string().optional().describe("URL to receive webhook events for meeting status (optional)"), }, async ({ platform, meetingId, meetingPassword, botName, webhookUrl }: { platform: string; meetingId: string; meetingPassword?: string; botName: string; webhookUrl?: string; }) => { try { const response = await fetch( `${CHATTERBOX_API_ENDPOINT}/join`, { method: 'POST', headers: { "Content-Type": "application/json", "Authorization": `Bearer ${CHATTERBOX_API_KEY}` }, body: JSON.stringify({ platform, meetingId, meetingPassword: meetingPassword || '', botName: botName || '', webhookUrl: webhookUrl || '' }) } ); const data = await response.json(); return { content: [{ type: "text", text: `Meeting bot deployed. Session ID: ${data.sessionId}` }] }; } catch (error) { return handleApiError(error, "joinMeeting"); } } );
  • Helper function for handling API errors, specifically called in the joinMeeting handler with context 'joinMeeting'.
    function handleApiError(error: unknown, context: string): ToolResponse { console.error(`Error in ${context}:`, error); if (error instanceof Error) { return { content: [{ type: "text", text: error.message }], isError: true, _meta: { errorCode: "ERROR", errorMessage: error.message } }; } return { content: [{ type: "text", text: "Server error" }], isError: true, _meta: { errorCode: "ERROR", errorMessage: "Server error" } }; }

Other Tools

Related Tools

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/ChatterBoxIO/chatterboxio-mcp-server'

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