Sáltate la instalación. Funcionando en menos de 2 minutos.
Inicia una prueba gratuita en cloud.anythingmcp.com, añade Zoom con un clic y apunta tu cliente de IA (Claude, ChatGPT, Copilot o Cursor) al endpoint MCP generado. Sin Docker, sin git clone, sin experiencia de desarrollo.
Resumen
Deja que tu IA trabaje con Zoom: busca y lee tus reuniones, prográmalas, cámbialas y cancélalas, gestiona los registros de asistentes, consulta quién asistió a reuniones pasadas, lista las grabaciones en la nube y los webinars y obtén informes de uso. Con el inicio de sesión de tu cuenta de Zoom a través de una app de Zoom propia (OAuth).
Prueba a pedir
Prompts de ejemplo para Zoom
Haz clic en un prompt para copiarlo. Pégalo en Claude, ChatGPT, Cursor, Gemini, Copilot u OpenClaw para ejecutarlo contra este conector.
Claude es IA y puede equivocarse. Verifica siempre las respuestas.
💡 ¿Sin instalación? Usa cloud.anythingmcp.com directamente. Inicia sesión, pulsa Connectors → Zoom, pega tus credenciales, genera una MCP API key y listo. Sin Docker, sin
git clone, sin servidor local.
Zoom + Gemini
Deja que tu IA trabaje con Zoom: busca y lee tus reuniones, prográmalas, cámbialas y cancélalas, gestiona los registros de asistentes, consulta quién asistió a reuniones pasadas, lista las grabaciones en la nube y los webinars y obtén informes de uso. Con el inicio de sesión de tu cuenta de Zoom a través de una app de Zoom propia (OAuth).
Requisitos previos
Las instrucciones de configuración completas están incluidas en el conector (visibles en el store al seleccionarlo). Las variables de entorno requeridas:
ZOOM_CLIENT_ID, ZOOM_CLIENT_SECRET
Paso 1 — Obtener credenciales
- Inicia sesión en marketplace.zoom.us como propietario de la cuenta, administrador o usuario con el rol Zoom for developers. En la navegación inferior izquierda haz clic en Developer, luego en Develop (arriba a la derecha) → Build an app → General app → Create. Para las herramientas de reuniones basta con una cuenta Zoom Basic gratuita.
- En Basic Info, cambia el nombre de la app (por ejemplo "AnythingMCP") y elige cómo se gestiona: User-managed si la IA debe trabajar con tus propias reuniones y grabaciones (el caso habitual), Admin-managed si además debe leer otros usuarios, sus reuniones y los informes de uso. En ese caso la autoriza un administrador.
- En App Credentials, copia el Client ID y el Client Secret de desarrollo en
ZOOM_CLIENT_IDyZOOM_CLIENT_SECRET. Las credenciales de desarrollo bastan para tu propia cuenta: una app que nunca se publica solo pueden autorizarla usuarios de la cuenta que la creó. - En OAuth Information, pon
https://cloud.anythingmcp.com/api/mcp-oauth/callbacken OAuth Redirect URL y añade la misma URL a la OAuth Allow List. Si alojas AnythingMCP tú mismo, usahttps://tu-host-anythingmcp/api/mcp-oauth/callbacken ambos sitios. Haz clic en Continue y sáltate Features y Surface. - En Scopes, haz clic en Add Scopes y marca los scopes que se indican abajo. Para cada uno Zoom pide un motivo breve, por ejemplo "lets the user's AI assistant read their meetings".
- Instala el conector, haz clic en Authorize with Provider en la página del conector, inicia sesión en Zoom y haz clic en Allow. No necesitas Add App Now en Local Test: autorizar hace lo mismo.
- Empieza con
zoom_get_current_userpara comprobar quién ha iniciado sesión y después deja que la IA liste tus reuniones conzoom_list_meetings.
Scopes de lectura: 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 y webinar:read:webinar.
Scopes de escritura: meeting:write:meeting (crear), meeting:update:meeting (cambiar), meeting:delete:meeting (eliminar), meeting:write:registrant (añadir un inscrito) y meeting:update:registrant_status (aprobar, rechazar, cancelar).
Scopes de administrador (solo en una app Admin-managed, autorizada por un administrador, y solo si los necesitas): user:read:list_users:admin para zoom_list_users, user:read:user:admin para leer otros usuarios, la variante :admin de cada scope de reuniones, grabaciones y webinars de arriba (por ejemplo meeting:read:list_meetings:admin) para trabajar con las reuniones de otros usuarios, y report:read:user:admin, report:read:meeting:admin y report:read:list_meeting_participants:admin para las herramientas de informes. Si el selector de scopes no ofrece scopes :admin, cambia la app a Admin-managed en Basic Info.
Solo lectura: marca solo los scopes de lectura y desactiva zoom_create_meeting, zoom_update_meeting, zoom_add_meeting_registrant y zoom_update_meeting_registrant_status.
Desactivada al instalar: zoom_delete_meeting, que elimina una reunión, o toda la serie de una reunión periódica si no se indica una sola sesión. No se puede deshacer, y no se envía ningún correo de cancelación salvo que estén activados los indicadores de aviso. Actívala solo si la IA debe cancelar reuniones.
Mantener la sesión iniciada: la IA trabaja como el usuario de Zoom que autorizó. me representa a ese usuario siempre que una herramienta admite user_id; el ID o el correo de otro usuario solo funcionan con los scopes de administrador. Los access tokens duran una hora y se renuevan automáticamente. El refresh token dura 90 días y se sustituye en cada renovación, así que el conector sigue conectado mientras se use al menos una vez cada 90 días. Después de cambiar los scopes en la app, vuelve a hacer clic en Authorize with Provider: un token solo lleva los scopes concedidos cuando se emitió.
Notificaciones: primero confirmar: crear o cambiar una reunión puede enviar un correo a sus anfitriones alternativos y a los invitados, quien se inscribe recibe una confirmación, y aprobar, rechazar o cancelar una inscripción también envía un correo. La IA dice antes a quién se avisará y espera tu sí. zoom_get_meeting y zoom_create_meeting omiten la start_url, que iniciaría la reunión como anfitrión: el anfitrión la inicia desde la app de Zoom o con la join_url con su sesión iniciada.
Reuniones y reuniones pasadas: el ID de una reunión tiene de 9 a 11 dígitos. zoom_list_meetings devuelve solo reuniones programadas, nunca las instantáneas, y con el filtro upcoming o previous_meetings abarca como máximo 6 meses. Cada sesión de una reunión tiene su propio UUID: zoom_list_past_meeting_instances los lista, y zoom_get_past_meeting, zoom_list_past_meeting_participants, zoom_get_meeting_recordings, zoom_get_meeting_report y zoom_get_meeting_participants_report aceptan un ID de reunión (última sesión) o un UUID. Un UUID que empieza por / o contiene // se pasa ya codificado una vez para URL (/ajXp112QmuoKj4854875== se convierte en %2FajXp112QmuoKj4854875%3D%3D) y el conector aplica la segunda codificación que exige Zoom. Las reuniones pasadas se pueden leer durante 12 meses, los participantes y las sesiones durante 15 meses. zoom_list_recordings abarca como máximo un mes por llamada, y las grabaciones se comparten con su play_url o share_url.
Planes: para las herramientas de reuniones basta una cuenta Basic gratuita, pero en ella las reuniones con 3 o más participantes terminan a los 40 minutos. La inscripción, los participantes de reuniones pasadas, las grabaciones en la nube y los informes requieren Pro o superior (las grabaciones, además, la grabación en la nube activada). Los webinars requieren Pro o superior más el complemento Webinars; si no, Zoom responde con el código 200 "Webinar plan is missing". zoom_get_user_meetings_report abarca un mes por llamada dentro de los últimos 6 meses y solo lista reuniones con al menos dos participantes.
Límites de uso: los límites son por cuenta de Zoom y los comparten todas sus apps. Las cuentas gratuitas permiten de 1 a 4 solicitudes por segundo según el tipo y de 1000 a 6000 al día (los informes cuentan como solicitudes pesadas); Pro y superiores permiten de 10 a 80 por segundo. Crear y cambiar reuniones está limitado a 100 al día por anfitrión, y Zoom permite 3 solicitudes de inscripción y 10 cambios de estado al día por inscrito y reunión. Por encima del límite Zoom responde 429: espera un segundo, o hasta el día siguiente (UTC) en los límites diarios.
Errores frecuentes: 401 con código 124 "Invalid access token" significa que la sesión caducó o se revocó: vuelve a hacer clic en Authorize with Provider. 400 con código 4711 o 4700 ("does not contain scopes") significa que a la app le falta el scope que indica el mensaje: añádelo en Scopes y vuelve a autorizar. 400 con código 200 "No permission" u "Only available for Paid account" significa que el plan o el rol del usuario no lo permite. 404 con código 3001 es una reunión inexistente, 1001 un usuario inexistente, 3301 una reunión sin grabación. El código 300 significa que el next_page_token no es válido o caducó (dura 15 minutos). 3161 significa que el usuario no puede organizar ni programar reuniones.
El conector no cubre el informe de uso diario, la descarga de archivos de grabación, las transcripciones y los resúmenes de AI Companion, la creación o modificación de webinars, Zoom Phone, Team Chat, Rooms, los ajustes de la cuenta ni la gestión de usuarios.
Paso 2 — Instalar el adapter
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
Paso 3 — Añadir el conector en Gemini
La URL de tu servidor: en AnythingMCP abre MCP Servers → el servidor donde está este conector y copia su URL (
https://cloud.anythingmcp.com/mcp/…). Úsala donde esta guía muestraYOUR_SERVER_ID.
Gemini CLI lee los servidores MCP de ~/.gemini/settings.json (en Windows, %USERPROFILE%\.gemini\settings.json). Añade:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Crea una clave de API MCP en AnythingMCP en MCP Servers → tu servidor → API keys y pégala en lugar de
YOUR_MCP_API_KEY. - Guarda el archivo y reinicia
gemini. - Ejecuta
/mcpdentro de Gemini CLI (ogemini mcp listen tu terminal):anythingmcpdebería aparecer como conectado. - Empieza a escribir prompts: Gemini CLI ya puede llamar a las herramientas de
Zoom.
Herramientas disponibles
| 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… |
Ejemplos de prompts
- "¿Qué reuniones de Zoom tengo programadas la semana que viene? Indica el tema, la hora de inicio y el enlace para unirse de cada una."
- "¿Quién asistió al último Weekly sales sync y cuánto tiempo estuvo cada persona en la reunión?"
- "Programa una reunión de Zoom de 45 minutos llamada Planificación del T4 el 20 de octubre a las 15:00 hora de Madrid y pásame el enlace para unirse."
- "Lista mis grabaciones en la nube de septiembre con sus enlaces de reproducción."
FAQ
¿Dónde busca Gemini CLI los servidores MCP? En ~/.gemini/settings.json para tu usuario, o en .gemini/settings.json dentro de un proyecto. gemini mcp list muestra cada servidor y si se conecta.
Siguientes pasos
¿Te ha sido útil esta guía?