# Zoom — how to use (mcp.ai)

Zoom is a video conferencing and online meeting platform featuring breakout rooms, screen sharing, and integrations with various enterprise tools

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_zoom?ms=1781542020000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `zoom_add_a_meeting_registrant`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/zoom`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/zoom/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/zoom/add/a/meeting/registrant` — 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
  - body: { 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 }
- `POST https://api.mcp.ai/api/zoom/add/a/webinar/registrant` — 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.
  - body: { 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 }
- `POST https://api.mcp.ai/api/zoom/create/a/meeting` — 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
  - body: { 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 }
- `POST https://api.mcp.ai/api/zoom/delete/meeting/recordings` — 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
  - body: { action?: string, meetingId: string }
- `POST https://api.mcp.ai/api/zoom/get/a/meeting` — 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'.
  - body: { meetingId: integer, occurrence_id?: string, show_previous_occurrences?: boolean }
- `POST https://api.mcp.ai/api/zoom/get/a/meeting/summary` — 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.
  - body: { meetingId: string }
- `POST https://api.mcp.ai/api/zoom/get/a/webinar` — 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.
  - body: { webinarId: string, occurrence_id?: string, show_previous_occurrences?: boolean }
- `POST https://api.mcp.ai/api/zoom/get/daily/usage/report` — 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.
  - body: { year?: integer, month?: integer, group_id?: string }
- `POST https://api.mcp.ai/api/zoom/get/meeting/recordings` — 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
  - body: { ttl?: integer, meetingId: string, include_fields?: string }
- `POST https://api.mcp.ai/api/zoom/get/past/meeting/participants` — 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.
  - body: { meetingId: string, page_size?: integer, next_page_token?: string }
- `POST https://api.mcp.ai/api/zoom/list/all/recordings` — 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 
  - body: { mc?: string, to?: string, from?: string, trash?: boolean, userId: string, page_size?: integer, meeting_id?: integer, trash_type?: string, next_page_token?: string }
- `POST https://api.mcp.ai/api/zoom/list/archived/files` — 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.
  - body: { to?: string, from?: string, group_id?: string, page_size?: integer, next_page_token?: string, query_date_type?: string }
- `POST https://api.mcp.ai/api/zoom/list/devices` — 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`
  - body: { 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 }
- `POST https://api.mcp.ai/api/zoom/list/meetings` — 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
  - body: { to?: string, from?: string, type?: string, userId: string, timezone?: string, page_size?: integer, page_number?: integer, next_page_token?: string }
- `POST https://api.mcp.ai/api/zoom/list/webinar/participants` — 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.
  - body: { page_size?: integer, webinarId: string, next_page_token?: string }
- `POST https://api.mcp.ai/api/zoom/list/webinars` — 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
  - body: { type?: string, userId: string, page_size?: integer, page_number?: integer }
- `POST https://api.mcp.ai/api/zoom/update/a/meeting` — 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
  - body: { 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 }

## More
- Page: https://mcp.ai/zoom
- Agent spec (llms.txt): https://mcp.ai/zoom/llms.txt
- Postman collection: https://mcp.ai/zoom/postman.json
