Skip to main content
Glama
ChatterBoxIO

ChatterBox MCP Server

by ChatterBoxIO

joinMeeting

Join Zoom, Google Meet, or Microsoft Teams meetings to capture transcripts and audio recordings for meeting analysis and documentation.

Instructions

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

Input Schema

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

Implementation Reference

  • The handler function that implements the joinMeeting tool logic by making a POST request to the Chatterbox API to deploy a meeting bot and capture transcript/audio.
    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: 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-72 (registration)
    Registration of the joinMeeting tool with MCP server, including name, description, and reference to schema/handler.
    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",
  • Helper function for handling API errors in tool handlers, specifically invoked in joinMeeting 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" } }; }

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