Salta l'installazione. Attivo in meno di 2 minuti.
Avvia una prova gratuita su cloud.anythingmcp.com, aggiungi Zoom con un clic, poi punta il tuo client AI (Claude, ChatGPT, Copilot o Cursor) all'endpoint MCP generato. Niente Docker, niente git clone, nessuna esperienza di sviluppo richiesta.
In breve
Fai lavorare la tua AI con Zoom: trova e leggi le tue riunioni, pianificale, modificale e annullale, gestisci le registrazioni dei partecipanti, vedi chi ha partecipato alle riunioni passate, elenca le registrazioni cloud e i webinar e ottieni i report di utilizzo. Con l'accesso del tuo account Zoom tramite una tua app Zoom (OAuth).
Prova a chiedere
Prompt di esempio per Zoom
Clicca su un prompt per copiarlo. Incollalo in Claude, ChatGPT, Cursor, Gemini, Copilot o OpenClaw per eseguirlo contro questo connettore.
Claude è un'AI e può sbagliare. Verifica sempre le risposte.
💡 Niente installazione? Vai direttamente su cloud.anythingmcp.com. Accedi, clicca Connectors → Zoom, inserisci le credenziali, genera una MCP API key e hai finito. Niente Docker, niente
git clone, niente server locale.
Zoom
Fai lavorare la tua AI con Zoom: trova e leggi le tue riunioni, pianificale, modificale e annullale, gestisci le registrazioni dei partecipanti, vedi chi ha partecipato alle riunioni passate, elenca le registrazioni cloud e i webinar e ottieni i report di utilizzo. Con l'accesso del tuo account Zoom tramite una tua app Zoom (OAuth).
Setup
- Accedi a marketplace.zoom.us come proprietario dell'account, admin o utente con il ruolo Zoom for developers. Nella navigazione in basso a sinistra clicca su Developer, poi su Develop (in alto a destra) → Build an app → General app → Create. Per i tool delle riunioni basta un account Zoom Basic gratuito.
- In Basic Info rinomina l'app (per esempio "AnythingMCP") e scegli come viene gestita: User-managed se l'AI deve lavorare con le tue riunioni e registrazioni (il caso normale), Admin-managed se deve leggere anche gli altri utenti, le loro riunioni e i report di utilizzo. In quel caso l'autorizza un admin.
- In App Credentials copia Client ID e Client Secret di sviluppo in
ZOOM_CLIENT_IDeZOOM_CLIENT_SECRET. Le credenziali di sviluppo bastano per il tuo account: un'app mai pubblicata può essere autorizzata solo dagli utenti dell'account che l'ha creata. - In OAuth Information imposta OAuth Redirect URL su
https://cloud.anythingmcp.com/api/mcp-oauth/callbacke aggiungi lo stesso URL alla OAuth Allow List. Se ospiti AnythingMCP in proprio, usa in entrambi i puntihttps://tuo-host-anythingmcp/api/mcp-oauth/callback. Clicca su Continue e salta Features e Surface. - In Scopes clicca su Add Scopes e spunta gli scope elencati qui sotto. Per ognuno Zoom chiede una breve motivazione, per esempio "lets the user's AI assistant read their meetings".
- Installa il connettore, clicca su Authorize with Provider nella pagina del connettore, accedi a Zoom e clicca su Allow. Non serve Add App Now in Local Test: l'autorizzazione fa la stessa cosa.
- Comincia con
zoom_get_current_userper controllare chi ha effettuato l'accesso, poi fai elencare le tue riunioni all'AI conzoom_list_meetings.
Scope di lettura: user:read:user, meeting:read:list_meetings, meeting:read:meeting, meeting:read:list_registrants, meeting:read:past_meeting, meeting:read:list_past_instances, meeting:read:list_past_participants, cloud_recording:read:list_user_recordings, cloud_recording:read:list_recording_files, webinar:read:list_webinars e webinar:read:webinar.
Scope di scrittura: meeting:write:meeting (creare), meeting:update:meeting (modificare), meeting:delete:meeting (eliminare), meeting:write:registrant (aggiungere un iscritto) e meeting:update:registrant_status (approvare, rifiutare, annullare).
Scope admin (solo su un'app Admin-managed, autorizzata da un admin, e solo se ti servono): user:read:list_users:admin per zoom_list_users, user:read:user:admin per leggere altri utenti, la variante :admin di ogni scope di riunioni, registrazioni e webinar indicato sopra (per esempio meeting:read:list_meetings:admin) per lavorare con le riunioni di altri utenti, e report:read:user:admin, report:read:meeting:admin e report:read:list_meeting_participants:admin per i tool dei report. Se la scelta degli scope non offre scope :admin, passa l'app a Admin-managed in Basic Info.
Solo lettura: spunta solo gli scope di lettura e disattiva zoom_create_meeting, zoom_update_meeting, zoom_add_meeting_registrant e zoom_update_meeting_registrant_status.
Disattivato all'installazione: zoom_delete_meeting, che elimina una riunione, oppure l'intera serie di una riunione ricorrente se non si indica una singola occorrenza. Non si può annullare, e nessuna email di cancellazione parte se i flag di promemoria non sono attivi. Attivalo solo se l'AI deve annullare riunioni.
Restare connessi: l'AI lavora come l'utente Zoom che ha autorizzato. me indica quell'utente ovunque un tool accetti user_id; l'ID o l'email di un altro utente funzionano solo con gli scope admin. Gli access token durano un'ora e vengono rinnovati automaticamente. Il refresh token dura 90 giorni e viene sostituito a ogni rinnovo, quindi il connettore resta connesso finché viene usato almeno una volta ogni 90 giorni. Dopo aver cambiato gli scope nell'app, clicca di nuovo su Authorize with Provider: un token contiene solo gli scope concessi al momento in cui è stato emesso.
Notifiche: prima conferma: creare o modificare una riunione può inviare un'email agli host alternativi e agli invitati, chi viene iscritto riceve una conferma, e anche approvare, rifiutare o annullare un'iscrizione invia un'email. L'AI dice prima chi verrà avvisato e aspetta il tuo sì. zoom_get_meeting e zoom_create_meeting omettono la start_url, che avvierebbe la riunione come host: l'host la avvia dall'app Zoom, oppure con la join_url dopo aver effettuato l'accesso.
Riunioni e riunioni passate: l'ID di una riunione ha da 9 a 11 cifre. zoom_list_meetings restituisce solo riunioni pianificate, mai quelle istantanee, e con il filtro upcoming o previous_meetings copre al massimo 6 mesi. Ogni occorrenza di una riunione ha un proprio UUID: zoom_list_past_meeting_instances li elenca, e zoom_get_past_meeting, zoom_list_past_meeting_participants, zoom_get_meeting_recordings, zoom_get_meeting_report e zoom_get_meeting_participants_report accettano un ID di riunione (ultima occorrenza) o un UUID. Un UUID che inizia con / o contiene // va passato già codificato una volta per URL (/ajXp112QmuoKj4854875== diventa %2FajXp112QmuoKj4854875%3D%3D) e la seconda codifica richiesta da Zoom la fa il connettore. Le riunioni passate restano leggibili per 12 mesi, partecipanti e occorrenze per 15 mesi. zoom_list_recordings copre al massimo un mese per chiamata, e le registrazioni si condividono con la loro play_url o share_url.
Piani: per i tool delle riunioni basta un account Basic gratuito, ma lì le riunioni con 3 o più partecipanti terminano dopo 40 minuti. Iscrizioni, partecipanti delle riunioni passate, registrazioni cloud e report richiedono Pro o superiore (le registrazioni anche la registrazione cloud attiva). I webinar richiedono Pro o superiore più l'add-on Webinars, altrimenti Zoom risponde con il codice 200 "Webinar plan is missing". zoom_get_user_meetings_report copre un mese per chiamata negli ultimi 6 mesi ed elenca solo riunioni con almeno due partecipanti.
Limiti di frequenza: i limiti valgono per account Zoom e sono condivisi da tutte le sue app. Gli account gratuiti consentono da 1 a 4 richieste al secondo a seconda del tipo e da 1.000 a 6.000 al giorno (i report contano come richieste pesanti); Pro e superiori da 10 a 80 al secondo. Creare e modificare riunioni è limitato a 100 al giorno per host, e Zoom consente 3 richieste di iscrizione e 10 cambi di stato al giorno per iscritto e riunione. Oltre il limite Zoom risponde 429: attendi un secondo, oppure fino al giorno successivo (UTC) per i limiti giornalieri.
Errori comuni: 401 con codice 124 "Invalid access token" significa che l'accesso è scaduto o è stato revocato: clicca di nuovo su Authorize with Provider. 400 con codice 4711 o 4700 ("does not contain scopes") significa che all'app manca lo scope indicato nel messaggio: aggiungilo in Scopes e autorizza di nuovo. 400 con codice 200 "No permission" o "Only available for Paid account" significa che il piano o il ruolo dell'utente non lo consente. 404 con codice 3001 è una riunione inesistente, 1001 un utente inesistente, 3301 una riunione senza registrazione. Il codice 300 significa che il next_page_token non è valido o è scaduto (dura 15 minuti). 3161 significa che l'utente non può ospitare o pianificare riunioni.
Il connettore non copre il report di utilizzo giornaliero, il download dei file di registrazione, trascrizioni e riepiloghi di AI Companion, la creazione o modifica di webinar, Zoom Phone, Team Chat, Rooms, le impostazioni dell'account o la gestione degli utenti.
Prerequisiti: ZOOM_CLIENT_ID, ZOOM_CLIENT_SECRET
Installazione locale del connettore
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Apri http://localhost:3000/connectors/store, scegli Zoom e inserisci le variabili elencate nei Prerequisiti.
Tool disponibili
| Tool | What it does |
|---|---|
zoom_get_current_user | Read the signed-in Zoom user: id, first and last name, display name, email, type (1 Basic, 2 Licensed), role, time zone, personal meeting… |
zoom_list_users | List the users of the Zoom account (admin only, scope user:read:list_users:admin): id, name, email, type, status, role_id, department, time… |
zoom_get_user | Read one Zoom user by id or email: name, email, type, role, department, time zone, language, personal meeting id and URL, status and last… |
zoom_list_meetings | List a host's scheduled meetings (not instant ones): id, uuid, topic, type, start_time, duration, timezone, agenda, join_url, created_at.… |
zoom_get_meeting | Read one meeting: topic, type, status, start_time, duration, timezone, agenda, join_url, passcode, host, occurrences of a recurring… |
zoom_create_meeting | Schedule a Zoom meeting for a host |
zoom_update_meeting | Change a meeting: only the fields given are changed, settings are merged |
zoom_delete_meeting | Delete a meeting, or one occurrence of a recurring meeting with occurrence_id; without it the whole series is deleted |
zoom_list_meeting_registrants | List the registrants of a meeting with registration (Pro plan): id, first_name, last_name, email, status, create_time, join_url and answers |
zoom_add_meeting_registrant | Register a person for a meeting that has registration on |
zoom_update_meeting_registrant_status | Approve or deny pending registrants, or cancel approved ones |
zoom_get_past_meeting | Read a meeting that has ended: uuid, topic, host name and email, start_time, end_time, duration, total_minutes, participants_count and… |
zoom_list_past_meeting_participants | List who took part in an ended meeting (paid plan): name, user_email, join_time, leave_time, duration in seconds, status and internal_user |
zoom_list_past_meeting_instances | List the ended occurrences of a meeting id, each with uuid and start_time, to read one occurrence with the UUID tools |
zoom_list_recordings | List a user's cloud recordings in a date range of at most one month (Pro plan): per meeting uuid, id, topic, start_time, duration… |
zoom_get_meeting_recordings | Read the cloud recording of one meeting or webinar: topic, start_time, duration, total_size, share_url, recording_play_passcode and… |
zoom_list_webinars | List a host's unexpired webinars (Webinars add-on): id, uuid, topic, type, start_time, duration, timezone, agenda, join_url, created_at |
zoom_get_webinar | Read one webinar: topic, type, start_time, duration, timezone, agenda, join_url, registration_url, occurrences, recurrence and settings… |
zoom_get_user_meetings_report | Report of the meetings and webinars a user held in up to one month within the last 6 months (Pro plan, admin scope report:read:user:admin)… |
zoom_get_meeting_report | Report on one ended meeting (Pro plan, admin scope report:read:meeting:admin): uuid, topic, host user_name and user_email, start_time… |
zoom_get_meeting_participants_report | Participant report of an ended meeting with 2 or more people (Pro plan, admin scope report:read:list_meeting_participants:admin): name… |
Esempi di prompt
- "Quali riunioni Zoom ho in programma la prossima settimana? Per ognuna indica argomento, ora di inizio e link per partecipare."
- "Chi ha partecipato all'ultimo Weekly sales sync e per quanto tempo è rimasta ogni persona nella riunione?"
- "Pianifica una riunione Zoom di 45 minuti chiamata Pianificazione Q4 il 20 ottobre alle 15:00 ora di Roma e mandami il link per partecipare."
- "Elenca le mie registrazioni cloud di settembre con i link per riprodurle."
Prossimi passi
Questa guida ti è stata utile?