跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 Zoom,然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
摘要
让你的 AI 使用 Zoom:查找和读取你的会议,安排、修改和取消会议,管理报名者,查看过去会议的参会者,列出云录制和网络研讨会,并获取使用报告。通过你自己的 Zoom 应用,使用你的 Zoom 账户登录(OAuth)。
试试这样问
Zoom 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → Zoom、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
Zoom + Gemini
让你的 AI 使用 Zoom:查找和读取你的会议,安排、修改和取消会议,管理报名者,查看过去会议的参会者,列出云录制和网络研讨会,并获取使用报告。通过你自己的 Zoom 应用,使用你的 Zoom 账户登录(OAuth)。
前提条件
完整的设置说明已内置在连接器中 (在 store 中选择连接器时可见)。所需环境变量:
ZOOM_CLIENT_ID, ZOOM_CLIENT_SECRET
步骤 1 — 获取凭证
- 以账户所有者、管理员或拥有 Zoom for developers 角色的用户身份登录 marketplace.zoom.us。在左下角导航中点击 Developer,然后点击右上角的 Develop → Build an app → General app → Create。如果只用会议相关的工具,免费的 Zoom Basic 账户就够了。
- 在 Basic Info 中重命名应用(例如“AnythingMCP”),并选择管理方式:如果 AI 只处理你自己的会议和录制(通常情况),选 User-managed;如果还要读取其他用户、他们的会议和使用报告,选 Admin-managed,此时由管理员授权。
- 在 App Credentials 下复制开发用的 Client ID 和 Client Secret,分别填入
ZOOM_CLIENT_ID和ZOOM_CLIENT_SECRET。用于你自己的账户时,开发凭据就够了:从未发布的应用只能由创建它的账户中的用户授权。 - 在 OAuth Information 下把 OAuth Redirect URL 设为
https://cloud.anythingmcp.com/api/mcp-oauth/callback,并把同一地址加入 OAuth Allow List。如果你自行托管 AnythingMCP,两处都改用https://your-anythingmcp-host/api/mcp-oauth/callback。点击 Continue,跳过 Features 和 Surface。 - 在 Scopes 中点击 Add Scopes,勾选下面列出的 scope。Zoom 会要求为每个 scope 填写简短理由,例如“lets the user's AI assistant read their meetings”。
- 安装连接器,在连接器页面点击 Authorize with Provider,登录 Zoom 并点击 Allow。不需要点击 Local Test 下的 Add App Now:授权的效果相同。
- 先运行
zoom_get_current_user,确认当前登录的用户,然后让 AI 用zoom_list_meetings列出你的会议。
读取 scope: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 和 webinar:read:webinar。
写入 scope:meeting:write:meeting(创建)、meeting:update:meeting(修改)、meeting:delete:meeting(删除)、meeting:write:registrant(添加报名者)和 meeting:update:registrant_status(批准、拒绝、取消)。
管理员 scope(仅限由管理员授权的 Admin-managed 应用,并且只在需要时添加):zoom_list_users 需要 user:read:list_users:admin,读取其他用户需要 user:read:user:admin,处理其他用户的会议需要上面每个会议、录制和网络研讨会 scope 的 :admin 版本(例如 meeting:read:list_meetings:admin),报告工具需要 report:read:user:admin、report:read:meeting:admin 和 report:read:list_meeting_participants:admin。如果 scope 选择器中没有 :admin scope,请在 Basic Info 中把应用切换为 Admin-managed。
只读设置:只勾选读取 scope,并关闭 zoom_create_meeting、zoom_update_meeting、zoom_add_meeting_registrant 和 zoom_update_meeting_registrant_status。
安装时默认关闭:zoom_delete_meeting,用于删除会议;对于周期性会议,如果不指定某一场次,会删除整个系列。删除无法撤销,并且除非设置了提醒标志,否则不会发送取消邮件。只有在 AI 需要取消会议时才打开它。
保持登录状态:AI 以授权的 Zoom 用户身份工作。凡是工具接受 user_id 的地方,me 都代表该用户;其他用户的 ID 或邮箱只有在拥有管理员 scope 时才可用。访问令牌有效期为一小时,会自动续期。刷新令牌有效期为 90 天,每次续期都会被替换,因此只要连接器至少每 90 天使用一次,就会一直保持登录。在应用中更改 scope 后,请再次点击 Authorize with Provider:令牌只包含签发时授予的 scope。
通知:先确认:创建或修改会议时,Zoom 可能会给备用主持人和受邀者发邮件;添加报名者会给对方发送确认邮件,批准、拒绝或取消报名也会发邮件。AI 会先说明谁会收到通知,并等你同意。zoom_get_meeting 和 zoom_create_meeting 不会返回 start_url,因为它可以以主持人身份启动会议:主持人应从 Zoom 应用启动会议,或在登录状态下通过 join_url 启动。
会议和过去的会议:会议 ID 为 9 到 11 位数字。zoom_list_meetings 只返回已安排的会议,不包括即时会议;使用 upcoming 或 previous_meetings 筛选时最多覆盖 6 个月。会议的每一场都有自己的 UUID:zoom_list_past_meeting_instances 会列出它们,而 zoom_get_past_meeting、zoom_list_past_meeting_participants、zoom_get_meeting_recordings、zoom_get_meeting_report 和 zoom_get_meeting_participants_report 接受会议 ID(最近一场)或 UUID。以 / 开头或包含 // 的 UUID 需要先进行一次 URL 编码再传入(/ajXp112QmuoKj4854875== 变为 %2FajXp112QmuoKj4854875%3D%3D),Zoom 要求的第二次编码由连接器完成。过去的会议可读取 12 个月,参会者和场次可读取 15 个月。zoom_list_recordings 每次调用最多覆盖一个月,录制内容通过其 play_url 或 share_url 分享。
套餐:会议相关工具用免费的 Basic 账户即可,但在该套餐下,3 人及以上的会议会在 40 分钟后结束。报名、过去会议的参会者、云录制和报告需要 Pro 或更高套餐(录制还需要开启云录制)。网络研讨会需要 Pro 或更高套餐加上 Webinars 附加组件,否则 Zoom 会返回代码 200“Webinar plan is missing”。zoom_get_user_meetings_report 每次调用覆盖最近 6 个月内的一个月,并且只列出至少有两名参会者的会议。
速率限制:限制按 Zoom 账户计算,由该账户的所有应用共享。免费账户根据请求类型每秒允许 1 到 4 个请求,每天 1,000 到 6,000 个(报告计为重型请求);Pro 及以上每秒允许 10 到 80 个。每位主持人每天最多创建和修改 100 次会议,并且每个报名者在每个会议上每天最多 3 次报名请求和 10 次状态更改。超过限制时 Zoom 返回 429:请等待一秒,如果是每日限制,则等到下一天(UTC)。
常见错误:401 代码 124“Invalid access token”表示登录已过期或被撤销:请再次点击 Authorize with Provider。400 代码 4711 或 4700(“does not contain scopes”)表示应用缺少消息中提到的 scope:请在 Scopes 中添加并重新授权。400 代码 200“No permission”或“Only available for Paid account”表示套餐或用户角色不允许该操作。404 代码 3001 表示会议不存在,1001 表示用户不存在,3301 表示该会议没有录制。代码 300 表示 next_page_token 无效或已过期(有效期 15 分钟)。3161 表示该用户不能主持或安排会议。
连接器不涵盖每日使用报告、下载录制文件、转录和 AI Companion 摘要、创建或修改网络研讨会、Zoom Phone、Team Chat、Rooms、账户设置和用户管理。
步骤 2 — 安装 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
步骤 3 — 在 Gemini 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
Gemini CLI 从 ~/.gemini/settings.json(Windows 上为 %USERPROFILE%\.gemini\settings.json)读取 MCP 服务器。添加:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- 在 AnythingMCP 的 MCP Servers → 你的服务器 → API keys 中创建 MCP API 密钥,并用它替换
YOUR_MCP_API_KEY。 - 保存文件并重启
gemini。 - 在 Gemini CLI 中运行
/mcp(或在终端运行gemini mcp list),anythingmcp应显示为已连接。 - 开始输入提示,Gemini CLI 现在可以调用
Zoom的工具。
可用工具
| 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… |
示例提示
- “我下周安排了哪些 Zoom 会议?列出每个会议的主题、开始时间和入会链接。”
- “上一次的每周销售例会有谁参加了?每个人在会议中待了多长时间?”
- “在 10 月 20 日北京时间 15:00 安排一个 45 分钟的 Zoom 会议,主题为 Q4 规划,并把入会链接发给我。”
- “列出我 9 月份的云录制及其播放链接。”
FAQ
Gemini CLI 从哪里读取 MCP 服务器? 用户级配置位于 ~/.gemini/settings.json,项目级配置位于项目内的 .gemini/settings.json。gemini mcp list 会列出每个服务器及其连接状态。
下一步
这份指南对你有帮助吗?