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
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| agenda | No | Meeting description | |
| duration | No | Meeting duration in minutes | |
| password | No | Password for the meeting | |
| settings | No | Meeting settings | |
| start_time | No | Meeting start time in format YYYY-MM-DDThh:mm:ss | |
| timezone | No | Time zone for start_time | |
| topic | Yes | Meeting topic | |
| type | Yes | Meeting type (1: instant, 2: scheduled, 3: recurring with no fixed time, 8: recurring with fixed time) | |
| user_id | Yes | The user ID or email address |
Implementation Reference
- src/tools/meetings.js:42-49 (handler)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); } }
- src/tools/meetings.js:31-41 (schema)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';