From zoom-skills
Official Zoom MCP server for AI-agent access to semantic meeting search, Zoom chat/docs search, meeting assets, recording resources, and Zoom Docs import/export.
How this skill is triggered — by the user, by Claude, or both
Slash command
/zoom-skills:zoom-mcpThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Zoom hosts an MCP server at `mcp-us.zoom.us` for AI-agent access to:
RUNBOOK.mdconcepts/mcp-architecture.mdconcepts/oauth-setup.mdexamples/create-zoom-doc.mdexamples/meeting-lifecycle.mdexamples/search-and-act.mdexamples/search-chat-docs.mdexamples/transcript-retrieval.mdreferences/error-codes.mdreferences/tools.mdteam-chat/references/tools.mdtroubleshooting/common-errors.mdwhiteboard/references/authentication-and-identifiers.mdwhiteboard/references/tools.mdZoom hosts an MCP server at mcp-us.zoom.us for AI-agent access to:
Current default Zoom MCP server tool names verified by tools/list:
create_new_file_with_markdownget_file_contentget_meeting_assetsget_recording_resourcerecordings_listsearch_meetingssearch_zoomSome MCP clients namespace server tools in the UI, for example zoom-mcp:recordings_list.
Treat the raw tool names above as authoritative.
Whiteboard-specific MCP work is split into the child skill whiteboard/SKILL.md.
Write-capable Team Chat MCP work is split into the child skill team-chat/SKILL.md.
1. Add to an MCP client (Claude Code example):
claude mcp add --transport http zoom-mcp \
https://mcp-us.zoom.us/mcp/zoom/streamable \
--header "Authorization: Bearer YOUR_ZOOM_OAUTH_TOKEN" \
--scope user
2. Verify discovery:
search_meetings,
create_new_file_with_markdown, search_zoom, get_meeting_assets,
get_recording_resource, get_file_content, and recordings_list.tools/list is the authoritative discovery source.3. Run the first useful call:
recordings_list
from: "2026-03-01"
to: "2026-03-06"
page_size: 10
1. User OAuth is the recommended execution path
A Server-to-Server OAuth token can:
tools/listUse user OAuth as the default execution path for Zoom MCP tool use unless you have already validated S2S scope coverage and tool execution for your app.
2. Zoom MCP uses MCP-specific granular scopes
The Zoom MCP scope set is not the same as the older broad REST scopes. The key scopes for this surface are:
meeting:read:searchmeeting:read:assetsai_companion:read:searchcloud_recording:read:list_user_recordingscloud_recording:read:contentdocs:write:import for Zoom Docs creationdocs:read:export for Zoom Docs/My Notes Markdown content export3. AI Companion features are feature prerequisites, not scope substitutes
Semantic meeting search, meeting assets, and recording-content retrieval depend on account features such as Smart Recording and Meeting Summary for useful results. These feature settings do not replace the required OAuth scopes.
4. Whiteboard is a separate MCP surface
The Zoom MCP endpoint and the Whiteboard MCP endpoint are separate. Route Whiteboard-specific requests to whiteboard/SKILL.md.
5. Team Chat write tools are a separate MCP surface
The default Zoom MCP server includes read-only search_zoom for Team Chat and Docs search.
The Team Chat MCP server is separate and exposes write/update tools for messages, contacts,
channels, and channel members. Route write-capable Team Chat MCP requests to
team-chat/SKILL.md.
6. Use REST for deterministic meeting CRUD
The current Zoom MCP tool surface does not expose deterministic meeting create, update, or delete tools. If the user needs explicit meeting CRUD operations, route to ../rest-api/SKILL.md.
| Transport | URL |
|---|---|
| Streamable HTTP (recommended) | https://mcp-us.zoom.us/mcp/zoom/streamable |
| SSE (fallback) | https://mcp-us.zoom.us/mcp/zoom/sse |
Whiteboard child skill:
Team Chat child skill:
search_meetings uses AI Companion retrieval rather than a plain metadata filter. In this
use the live MCP server as authoritative for response schema and scope behavior.
Two result families matter most:
Use search_zoom instead of search_meetings when the task is cross-Zoom knowledge discovery
over Team Chat messages, Zoom Docs, or My Notes. Use get_file_content after search_zoom
when the user asks to inspect the Markdown content of a returned Zoom Doc or My Notes file.
Use examples/transcript-retrieval.md for the main retrieval workflow.
| Tool | Key Parameters | Required Scope |
|---|---|---|
create_new_file_with_markdown | content*, file_name, parent_id | docs:write:import |
get_file_content | fileId* | docs:read:export |
get_meeting_assets | meetingId* | meeting:read:assets |
get_recording_resource | meetingId*, types, clip_num, play_time, raw_passcode, encode_passcode | cloud_recording:read:content |
recordings_list | from, to, meeting_id, trash, trash_type, page_size, next_page_token | cloud_recording:read:list_user_recordings |
search_meetings | q, from, to, include_zoom_my_notes, page_size, next_page_token | meeting:read:search |
search_zoom | search_entities*, query, page_size | ai_companion:read:search |
* Required parameter
Full parameter and output guidance: references/tools.md
Search meeting content, then retrieve assets:
search_meetings
q: "Q4 planning discussion"
from: "2026-03-01"
to: "2026-03-06"
→ choose a returned meeting
→ get_meeting_assets meetingId: "MEETING_ID_OR_UUID"
List recordings, then retrieve recording resources:
recordings_list
from: "2026-03-01"
to: "2026-03-06"
→ choose a recording target
→ get_recording_resource meetingId: "MEETING_UUID_OR_RECORDING_ID"
Create a Zoom Doc from Markdown:
create_new_file_with_markdown
file_name: "Q4 Planning Notes"
content: "# Decisions\n\n- ..."
Search Zoom Chat or Docs, then read a returned file:
search_zoom
query: "Q4 planning decisions"
search_entities:
- entity_type: "zoom_doc"
filters:
doc_view: "notes"
page_size: 10
→ choose a returned Zoom Doc file_id
→ get_file_content fileId: "FILE_ID"
| Code | Meaning | Fix |
|---|---|---|
401 Unauthorized | Missing or rejected bearer token at the endpoint | Re-register the MCP server with a valid bearer token |
-32001 Invalid access token | Token expired, malformed, or missing required scopes | Refresh OAuth token and verify the MCP-specific scopes |
-32602 Can not found tool | Requested tool name is not exposed by the active MCP server | Re-run tools/list and use the current tool names for that endpoint |
404 | Possible downstream resource-not-found response | Re-discover the target with search_meetings or recordings_list |
Full error reference: references/error-codes.md
npx claudepluginhub zoom/skills --plugin zoom-skillsGuides developers building Zoom integrations. Helps choose the right SDK/API, covers OAuth flows, app types, and Marketplace setup. Use for cross-product Zoom tasks.
Creates, schedules, and manages Zoom meetings, webinars, recordings, and participants via Rube MCP/Composio. Useful for automating meeting workflows.
Automates Zoom meeting scheduling, management, cloud recordings, webinars, and participant tracking via Composio toolkit and Rube MCP tools.