From zoom-skills
Integrates Zoom MCP server for AI agents to search meetings semantically, retrieve assets/recordings, and create Zoom Docs using tools like search_meetings and recordings_list.
npx claudepluginhub zoom/skills --plugin zoom-skillsThis skill uses the workspace's default tool permissions.
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/transcript-retrieval.mdreferences/error-codes.mdreferences/tools.mdtroubleshooting/common-errors.mdwhiteboard/references/authentication-and-identifiers.mdwhiteboard/references/tools.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Provides ClickHouse patterns for MergeTree schemas, query optimization, aggregations, window functions, joins, and data ingestion for high-performance analytics.
Zoom hosts an MCP server at mcp-us.zoom.us for AI-agent access to:
Current tool names from the Zoom MCP server:
create_new_file_with_markdownget_meeting_assetssearch_meetingsget_recording_resourcerecordings_listSome 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.
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:
recordings_list, search_meetings, get_meeting_assets,
get_recording_resource, and create_new_file_with_markdown.tools/list is the authoritative discovery source.3. Run the first useful call:
recordings_list
userId: "me"
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:assetscloud_recording:read:list_user_recordingscloud_recording:read:contentdocs:write:import for Zoom Docs creation3. 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. 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:
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 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_meeting_assets | meetingId* | meeting:read:assets |
search_meetings | q, from, to, page_size, next_page_token | meeting:read:search |
get_recording_resource | meetingId*, types, clip_num, play_time, raw_passcode, encode_passcode | cloud_recording:read:content |
recordings_list | userId*, from, to, meeting_id, trash, trash_type, page_size, next_page_token | cloud_recording:read:list_user_recordings |
* 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
userId: "me"
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- ..."
| 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