list_webinars
Retrieve a list of hosted webinars by user ID or email, specifying page size and number for efficient data management using Zoom API.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page_number | No | Page number | |
| page_size | No | Number of records returned | |
| user_id | Yes | The user ID or email address |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"page_number": {
"description": "Page number",
"minimum": 1,
"type": "number"
},
"page_size": {
"description": "Number of records returned",
"maximum": 300,
"minimum": 1,
"type": "number"
},
"user_id": {
"description": "The user ID or email address",
"type": "string"
}
},
"required": [
"user_id"
],
"type": "object"
}
Implementation Reference
- src/tools/webinars.js:13-24 (handler)The handler function that executes the list_webinars tool by calling the Zoom API to retrieve webinars for a user.handler: async ({ user_id, page_size, page_number }) => { try { const params = {}; if (page_size) params.page_size = page_size; if (page_number) params.page_number = page_number; const response = await zoomApi.get(`/users/${user_id}/webinars`, { params }); return handleApiResponse(response); } catch (error) { return handleApiError(error); } }
- src/tools/webinars.js:8-12 (schema)Zod schema defining the input parameters for the list_webinars tool.schema: { user_id: z.string().describe("The user ID or email address"), page_size: z.number().min(1).max(300).optional().describe("Number of records returned"), page_number: z.number().min(1).optional().describe("Page number") },
- src/server.js:48-48 (registration)Registration of the webinarsTools array, which includes the list_webinars tool, to the MCP server.registerTools(webinarsTools);