# Zoom — MCP server on mcp.ai > Zoom is a video conferencing and online meeting platform featuring breakout rooms, screen sharing, and integrations with various enterprise tools By: mcp.ai · official Page: https://mcp.ai/zoom ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_zoom?ms=1781542320000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/zoom/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/zoom/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/zoom/skill.md Postman collection (v2.1): https://mcp.ai/zoom/postman.json ## Tools - zoom_add_a_meeting_registrant(org?: string, zip?: string, city?: string, email: string, phone?: string, state?: string, address?: string, country?: string, comments?: string, industry?: string, language?: string, job_title?: string, last_name?: string, meetingId: integer, first_name: string, auto_approve?: boolean, occurrence_ids?: string, no_of_employees?: string, custom_questions?: object[], purchasing_time_frame?: string, role_in_purchase_process?: string) — This text guides on creating and customizing a user's registration for a zoom meeting, with a max of 4,999 registrants. preconditions include the host being licensed. api scopes and a light rate limit - zoom_add_a_webinar_registrant(org?: string, zip?: string, city?: string, email: string, phone?: string, state?: string, address?: string, country?: string, comments?: string, industry?: string, language?: string, job_title?: string, last_name?: string, source_id?: string, webinarId: integer, first_name: string, occurrence_ids?: string, no_of_employees?: string, custom_questions?: object[], purchasing_time_frame?: string, role_in_purchase_process?: string) — Zoom users with a webinar plan can create and manage webinars, broadcasting to up to 10,000 attendees. registration requires a pro plan, specific permissions, and is governed by a "light" rate limit. - zoom_create_a_meeting(type?: integer, topic?: string, agenda?: string, userId: string, duration?: integer, password?: string, timezone?: string, start_time?: string, template_id?: string, pre_schedule?: boolean, schedule_for?: string, settings__audio?: string, tracking_fields?: object[], default_password?: boolean, recurrence__type?: integer, settings__use__pmi?: boolean, settings__jbh__time?: integer, settings__resources?: object[], settings__watermark?: boolean, settings__cn__meeting?: boolean, settings__focus__mode?: boolean, settings__host__video?: boolean, settings__in__meeting?: boolean, recurrence__end__times?: integer, settings__contact__name?: string, settings__waiting__room?: boolean, recurrence__monthly__day?: integer, recurrence__weekly__days?: string, settings__approval__type?: integer, settings__calendar__type?: integer, settings__contact__email?: string, recurrence__monthly__week?: integer, settings__auto__recording?: string, settings__encryption__type?: string, settings__private__meeting?: boolean, recurrence__end__date__time?: string, settings__internal__meeting?: boolean, settings__meeting__invitees?: object[], settings__mute__upon__entry?: boolean, recurrence__repeat__interval?: integer, settings__alternative__hosts?: string, settings__join__before__host?: boolean, settings__participant__video?: boolean, settings__registration__type?: integer, settings__close__registration?: boolean, settings__email__notification?: boolean, settings__show__share__button?: boolean, recurrence__monthly__week__day?: integer, settings__breakout__room__rooms?: object[], settings__authentication__option?: string, settings__breakout__room__enable?: boolean, settings__audio__conference__info?: string, settings__authentication__domains?: string, settings__meeting__authentication?: boolean, settings__allow__multiple__devices?: boolean, settings__host__save__video__order?: boolean, settings__authentication__exception?: object[], settings__push__change__to__calendar?: boolean, settings__global__dial__in__countries?: string[], settings__auto__start__meeting__summary?: boolean, settings__participant__focused__meeting?: boolean, settings__alternative__host__update__polls?: boolean, settings__language__interpretation__enable?: boolean, settings__registrants__confirmation__email?: boolean, settings__registrants__email__notification?: boolean, settings__additional__data__center__regions?: string[], settings__continuous__meeting__chat__enable?: boolean, settings__auto__start__ai__companion__questions?: boolean, settings__language__interpretation__interpreters?: object[], settings__sign__language__interpretation__enable?: boolean, settings__alternative__hosts__email__notification?: boolean, settings__sign__language__interpretation__interpreters?: object[], settings__approved__or__denied__countries__or__regions__enable?: boolean, settings__approved__or__denied__countries__or__regions__method?: string, settings__approved__or__denied__countries__or__regions__denied__list?: string[], settings__approved__or__denied__countries__or__regions__approved__list?: string[], settings__continuous__meeting__chat__auto__add__invited__external__users?: boolean) — Enable zoom meeting creation via user-level apps with "me". "start url" for hosts expires in 2 hours, or 90 days for "custcreate" users. renew via api, capped at 100 requests/day. requires "meeting:wr - zoom_delete_meeting_recordings(action?: string, meetingId: string) — Summary: to delete all meeting recordings, ensure the user's account has cloud recording enabled. required permissions include `recording:write:admin` and `recording:write` with a `light` rate limit l - zoom_get_a_meeting(meetingId: integer, occurrence_id?: string, show_previous_occurrences?: boolean) — The text provides details on api permissions for reading meeting information, categorizing permissions into general and granular scopes, and labels the rate limit as 'light'. - zoom_get_a_meeting_summary(meetingId: string) — Meeting summary info requires a pro+ host plan, ai companion enabled, excluding e2ee meetings. scopes include meeting summary:read and admin versions. rate limit: light. - zoom_get_a_webinar(webinarId: string, occurrence_id?: string, show_previous_occurrences?: boolean) — Access zoom webinar details requires pro or higher plan and webinar add-on. scopes include `webinar:read:admin` and `webinar:read`. granular scopes and a 'light' rate limit also apply. - zoom_get_daily_usage_report(year?: integer, month?: integer, group_id?: string) — The daily report provides zoom service usage details, like new users, meetings, participants, and minutes per day for a month, requiring a pro plan or higher. it has a 'heavy' rate limit. - zoom_get_meeting_recordings(ttl?: integer, meetingId: string, include_fields?: string) — To download meeting recordings, use `download url`. include oauth token in the header for passcode-protected ones. supports `recording:read` and `phone recording:read:admin` scopes, with a `light` rat - zoom_get_past_meeting_participants(meetingId: string, page_size?: integer, next_page_token?: string) — Api allows paid users (pro+) to fetch past meeting attendee info, excluding solo participants. requires double encoding for certain uuids, with `meeting:read` scope and others. rate limit is medium. - zoom_list_all_recordings(mc?: string, to?: string, from?: string, trash?: boolean, userId: string, page_size?: integer, meeting_id?: integer, trash_type?: string, next_page_token?: string) — This text details how to list zoom cloud recordings for a user, notably by using "me" for user-level apps and requiring an oauth token for access. it requires a pro plan, cloud recording enabled, and - zoom_list_archived_files(to?: string, from?: string, group_id?: string, page_size?: integer, next_page_token?: string, query_date_type?: string) — Zoom's archiving solution enables administrators to automatically record and archive meeting data to third-party platforms for compliance, needing the meeting and webinar archiving feature enabled. - zoom_list_devices(page_size?: integer, device_type?: integer, platform_os?: string, search_text?: string, device_model?: string, device_status?: integer, device_vendor?: string, next_page_token?: string, is_enrolled_in_zdm?: boolean) — This api lets you list devices. **scopes:** `device:read:admin`,`device:write:admin` **[rate limit label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `heavy` - zoom_list_meetings(to?: string, from?: string, type?: string, userId: string, timezone?: string, page_size?: integer, page_number?: integer, next_page_token?: string) — This zoom api lists a user's scheduled meetings using the `me` value for user-level apps, excluding instant meetings and only showing unexpired ones. it requires specific scopes and has a `medium` rat - zoom_list_webinar_participants(page_size?: integer, webinarId: string, next_page_token?: string) — Get a list of past webinar participants with a pro plan or above plus an add-on. requires specific scopes and has a medium rate limit. - zoom_list_webinars(type?: string, userId: string, page_size?: integer, page_number?: integer) — The api lists all scheduled webinars for zoom users with a webinar plan, using `me` for user-level apps. it only shows unexpired webinars for hosts broadcasting to up to 10,000 attendees. requires pro - zoom_update_a_meeting(type?: integer, topic?: string, agenda?: string, duration?: integer, password?: string, timezone?: string, meetingId: integer, start_time?: string, template_id?: string, pre_schedule?: boolean, schedule_for?: string, occurrence_id?: string, settings__audio?: string, tracking_fields?: object[], recurrence__type?: integer, settings__use__pmi?: boolean, settings__jbh__time?: integer, settings__resources?: object[], settings__watermark?: boolean, settings__cn__meeting?: boolean, settings__focus__mode?: boolean, settings__host__video?: boolean, settings__in__meeting?: boolean, recurrence__end__times?: integer, settings__custom__keys?: object[], settings__contact__name?: string, settings__waiting__room?: boolean, recurrence__monthly__day?: integer, recurrence__weekly__days?: string, settings__approval__type?: integer, settings__calendar__type?: integer, settings__contact__email?: string, settings__enforce__login?: boolean, recurrence__monthly__week?: integer, settings__auto__recording?: string, settings__encryption__type?: string, settings__private__meeting?: boolean, recurrence__end__date__time?: string, settings__internal__meeting?: boolean, settings__meeting__invitees?: object[], settings__mute__upon__entry?: boolean, recurrence__repeat__interval?: integer, settings__alternative__hosts?: string, settings__join__before__host?: boolean, settings__participant__video?: boolean, settings__registration__type?: integer, settings__close__registration?: boolean, settings__email__notification?: boolean, settings__show__share__button?: boolean, recurrence__monthly__week__day?: integer, settings__authentication__name?: string, settings__breakout__room__rooms?: object[], settings__authentication__option?: string, settings__breakout__room__enable?: boolean, settings__audio__conference__info?: string, settings__authentication__domains?: string, settings__enforce__login__domains?: string, settings__meeting__authentication?: boolean, settings__allow__multiple__devices?: boolean, settings__host__save__video__order?: boolean, settings__authentication__exception?: object[], settings__global__dial__in__numbers?: object[], settings__global__dial__in__countries?: string[], settings__auto__start__meeting__summary?: boolean, settings__participant__focused__meeting?: boolean, settings__alternative__host__update__polls?: boolean, settings__language__interpretation__enable?: boolean, settings__registrants__confirmation__email?: boolean, settings__registrants__email__notification?: boolean, settings__continuous__meeting__chat__enable?: boolean, settings__auto__start__ai__companion__questions?: boolean, settings__language__interpretation__interpreters?: object[], settings__sign__language__interpretation__enable?: boolean, settings__alternative__hosts__email__notification?: boolean, settings__sign__language__interpretation__interpreters?: object[], settings__approved__or__denied__countries__or__regions__enable?: boolean, settings__approved__or__denied__countries__or__regions__method?: string, settings__approved__or__denied__countries__or__regions__denied__list?: string[], settings__approved__or__denied__countries__or__regions__approved__list?: string[], settings__continuous__meeting__chat__auto__add__invited__external__users?: boolean) — To update a meeting via api, ensure `start time` is future-dated; `recurrence` is needed. limit: 100 requests/day, 100 updates/meeting in 24 hrs. requires `meeting:write` and `meeting:write:admin` sco ## Links Docs: https://mcp.ai/docs/mcps/zoom Website: https://mcp.ai/mcps/zoom