Skip to main content
Glama

create_meeting

Schedule or instantiate Zoom meetings with user ID, topic, and type. Specify start time, duration, timezone, password, agenda, and settings for custom meeting configurations.

Input Schema

NameRequiredDescriptionDefault
agendaNoMeeting description
durationNoMeeting duration in minutes
passwordNoPassword for the meeting
settingsNoMeeting settings
start_timeNoMeeting start time in format YYYY-MM-DDThh:mm:ss
timezoneNoTime zone for start_time
topicYesMeeting topic
typeYesMeeting type (1: instant, 2: scheduled, 3: recurring with no fixed time, 8: recurring with fixed time)
user_idYesThe user ID or email address

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "agenda": { "description": "Meeting description", "type": "string" }, "duration": { "description": "Meeting duration in minutes", "type": "number" }, "password": { "description": "Password for the meeting", "type": "string" }, "settings": { "additionalProperties": true, "description": "Meeting settings", "properties": {}, "type": "object" }, "start_time": { "description": "Meeting start time in format YYYY-MM-DDThh:mm:ss", "type": "string" }, "timezone": { "description": "Time zone for start_time", "type": "string" }, "topic": { "description": "Meeting topic", "type": "string" }, "type": { "description": "Meeting type (1: instant, 2: scheduled, 3: recurring with no fixed time, 8: recurring with fixed time)", "maximum": 8, "minimum": 1, "type": "number" }, "user_id": { "description": "The user ID or email address", "type": "string" } }, "required": [ "user_id", "topic", "type" ], "type": "object" }

Implementation Reference

  • The handler function that executes the create_meeting tool by posting to the Zoom API /users/{user_id}/meetings endpoint.
    handler: async ({ user_id, ...meetingData }) => { try { const response = await zoomApi.post(`/users/${user_id}/meetings`, meetingData); return handleApiResponse(response); } catch (error) { return handleApiError(error); } }
  • Zod schema defining the input parameters and validation for the create_meeting tool.
    schema: { user_id: z.string().describe("The user ID or email address"), topic: z.string().describe("Meeting topic"), type: z.number().min(1).max(8).describe("Meeting type (1: instant, 2: scheduled, 3: recurring with no fixed time, 8: recurring with fixed time)"), start_time: z.string().optional().describe("Meeting start time in format YYYY-MM-DDThh:mm:ss"), duration: z.number().optional().describe("Meeting duration in minutes"), timezone: z.string().optional().describe("Time zone for start_time"), password: z.string().optional().describe("Password for the meeting"), agenda: z.string().optional().describe("Meeting description"), settings: z.object({}).passthrough().optional().describe("Meeting settings") },
  • src/server.js:46-46 (registration)
    Registers the meetingsTools array with the MCP server, including the create_meeting tool.
    registerTools(meetingsTools);
  • src/server.js:2-2 (registration)
    Imports the meetingsTools from src/tools/meetings.js containing the create_meeting tool definition.
    import { meetingsTools } from './tools/meetings.js';

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/mattcoatsworth/zoom-mcp-server'

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