zoom-mcp
$
npx mdskill add anthropics/knowledge-work-plugins/zoom-mcpAccess Zoom meeting data, assets, and transcripts via MCP.
- Retrieves semantic search results and meeting-linked assets.
- Connects to hosted Zoom MCP server at mcp-us.zoom.us.
- Executes tools like get_meeting_assets and search_meetings.
- Delivers structured data for planning or troubleshooting.
SKILL.md
.github/skills/zoom-mcpView on GitHub ↗
--- name: zoom-mcp description: Guidance for the bundled Zoom MCP connectors. Use after routing to an MCP workflow when planning or troubleshooting tool-based access to meetings, recordings, meeting assets, or transcripts. Route Zoom Docs requests to the dedicated Docs MCP server and Whiteboard-specific requests to `zoom-mcp/whiteboard`. user-invocable: false triggers: - "zoom mcp" - "zoom mcp server" - "zoom mcp tools" - "zoom tools/list" - "zoom tools/call" - "ai companion transcript" - "agentic retrieval" - "zoom semantic meeting search" - "zoom search meetings by content" - "zoom meeting assets mcp" - "zoom recording resource mcp" - "zoom docs via mcp" - "zoom transcript via mcp" - "meeting transcript via mcp" --- # Zoom MCP Guidance for the bundled Zoom MCP connector in this Claude plugin. Prefer `design-mcp-workflow` or [setup-zoom-mcp](../setup-zoom-mcp/SKILL.md) first, then route here for tool-surface details, auth expectations, and MCP-specific constraints. # Zoom MCP Server This plugin bundles Zoom's hosted MCP server at `mcp-us.zoom.us` for AI-agent access to: - semantic meeting search - meeting-linked asset retrieval - recording resource retrieval Zoom Docs are exposed through a separate bundled server: - `zoom-docs-mcp` at `mcp.zoom.us` - purpose-built for Zoom Docs creation and retrieval Current tool names from the main Zoom MCP server: - `get_meeting_assets` - `search_meetings` - `get_recording_resource` - `recordings_list` Some MCP clients namespace server tools in the UI, for example `zoom-mcp:recordings_list`. Treat the raw tool names above as authoritative. Zoom Docs-specific MCP work should use the dedicated `zoom-docs-mcp` server. Whiteboard-specific MCP work is covered by the dedicated skill [whiteboard/SKILL.md](whiteboard/SKILL.md). ## Quick Start **1. Export the token expected by the bundled connector:** ```bash export ZOOM_MCP_ACCESS_TOKEN="your_zoom_user_oauth_access_token" ``` **2. Enable or restart the plugin so Claude restarts the bundled MCP server definition.** **3. Verify discovery:** - Confirm the client can see `recordings_list`, `search_meetings`, `get_meeting_assets`, and `get_recording_resource`. - If the client exposes raw protocol inspection, `tools/list` is the authoritative discovery source. - The current catalog is documented in [references/tools.md](references/tools.md). **4. Run the first useful call:** ```text recordings_list userId: "me" from: "2026-03-01" to: "2026-03-06" page_size: 10 ``` ## Critical Notes **1. User OAuth is the documented execution path** Use a **General app** with **user-level OAuth** as the execution path for Zoom MCP tool use in this plugin. Do not rely on Server-to-Server OAuth as a supported MCP auth model here. **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 the main Zoom MCP server are: - `ai_companion:read:search` — Search across Zoom Meeting, Zoom Chat, and Zoom Doc, returning the most relevant results based on the query - `meeting:read:search` — Search and view meetings - `meeting:read:assets` — View a meeting's assets - `cloud_recording:read:list_user_recordings` — Lists all cloud recordings for a user. - `cloud_recording:read:content` — read recording content scope - `docs:write:import` — Create a new file by import - `docs:read:export` — Read file content in Markdown format For Zoom Docs MCP specifically, the official docs page shows these granular scopes for the documented tools: - `docs:write:import` — Create a new file by import - `docs:read:export` — Read file content in Markdown format **3. 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](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](../rest-api/SKILL.md). ## Server Endpoints | Transport | URL | |-----------|-----| | Streamable HTTP (recommended) | `https://mcp-us.zoom.us/mcp/zoom/streamable` | | SSE (fallback) | `https://mcp-us.zoom.us/mcp/zoom/sse` | Dedicated Docs MCP server: | Transport | URL | |-----------|-----| | Streamable HTTP (recommended) | `https://mcp.zoom.us/mcp/docs/streamable` | | SSE (fallback) | `https://mcp.zoom.us/mcp/docs/sse` | Dedicated Whiteboard MCP skill: - [whiteboard/SKILL.md](whiteboard/SKILL.md) ## Search and Retrieval Model `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: - **Recap-oriented results**: AI summary, meeting-linked documents, recordings, and related assets - **Recording-oriented results**: cloud recording references and transcript-capable resources Use [examples/transcript-retrieval.md](examples/transcript-retrieval.md) for the main retrieval workflow. ## Tool Catalog | Tool | Key Parameters | Required Scope | |------|---------------|----------------| | `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](references/tools.md) ## Key Workflows **Search meeting content, then retrieve assets:** ```text 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:** ```text 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 or fetch a Zoom Doc:** - use the dedicated `zoom-docs-mcp` server rather than the main `zoom-mcp` server - official documented tools on the Zoom Docs MCP page are: - `create_file_with_content` - `get_file_content` ## Error Reference | Code | Meaning | Fix | |------|---------|-----| | `401 Unauthorized` | Missing or rejected bearer token at the endpoint | Set `ZOOM_MCP_ACCESS_TOKEN`, then restart Claude or re-enable the plugin | | `-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](references/error-codes.md) ## Documentation ### Concepts - [concepts/mcp-architecture.md](concepts/mcp-architecture.md) — MCP protocol, hosted endpoints, discovery, and capability model - [concepts/oauth-setup.md](concepts/oauth-setup.md) — OAuth app creation, MCP-specific scopes, AI Companion prerequisites, token lifecycle ### Examples - [examples/transcript-retrieval.md](examples/transcript-retrieval.md) — Search/assets and recording-resource workflows - [examples/create-zoom-doc.md](examples/create-zoom-doc.md) — Verified Zoom Docs creation flow - [examples/search-and-act.md](examples/search-and-act.md) — Search, inspect assets, and hand off CRUD work to REST when needed - [examples/meeting-lifecycle.md](examples/meeting-lifecycle.md) — Why meeting CRUD belongs in REST, plus the MCP-to-REST handoff pattern ### References - [references/tools.md](references/tools.md) — Current Zoom MCP tool reference - [references/error-codes.md](references/error-codes.md) — MCP and Zoom API errors with fixes - [whiteboard/SKILL.md](whiteboard/SKILL.md) — Dedicated Whiteboard MCP skill ### Troubleshooting - [troubleshooting/common-errors.md](troubleshooting/common-errors.md) — Scope failures, endpoint mixups, search/recording issues ### Operations - [RUNBOOK.md](RUNBOOK.md) — 5-minute preflight and debugging checklist ## Related Skills - [zoom-rest-api](../rest-api/SKILL.md) — Deterministic REST API access, including meeting CRUD - [zoom-oauth](../oauth/SKILL.md) — OAuth implementation patterns - [zoom-webhooks](../webhooks/SKILL.md) — Event-driven recording and meeting workflows - [zoom-rtms](../rtms/SKILL.md) — Live media and transcript streams during active meetings
More from anthropics/knowledge-work-plugins
- accessibility-reviewRun a WCAG 2.1 AA accessibility audit on a design or page. Trigger with "audit accessibility", "check a11y", "is this accessible?", or when reviewing a design for color contrast, keyboard navigation, touch target size, or screen reader behavior before handoff.
- account-research"Research a company using Common Room data. Triggers on 'research [company]', 'tell me about [domain]', 'pull up signals for [account]', 'what's going on with [company]', or any account-level question."
- analyzeAnswer data questions -- from quick lookups to full analyses. Use when looking up a single metric, investigating what's driving a trend or drop, comparing segments over time, or preparing a formal data report for stakeholders.
- architectureCreate or evaluate an architecture decision record (ADR). Use when choosing between technologies (e.g., Kafka vs SQS), documenting a design decision with trade-offs and consequences, reviewing a system design proposal, or designing a new component from requirements and constraints.
- audit-supportSupport SOX 404 compliance with control testing methodology, sample selection, and documentation standards. Use when generating testing workpapers, selecting audit samples, classifying control deficiencies, or preparing for internal or external audits.
- brand-reviewReview content against your brand voice, style guide, and messaging pillars, flagging deviations by severity with specific before/after fixes. Use when checking a draft before it ships, when auditing copy for voice consistency and terminology, or when screening for unsubstantiated claims, missing disclaimers, and other legal flags.
- brand-voice-enforcement>
- briefGenerate contextual briefings for legal work — daily summary, topic research, or incident response. Use when starting your day and need a scan of legal-relevant items across email, calendar, and contracts, when researching a specific legal question across internal sources, or when a developing situation (data breach, litigation threat, regulatory inquiry) needs rapid context.
- build-dashboardBuild an interactive HTML dashboard with charts, filters, and tables. Use when creating an executive overview with KPI cards, turning query results into a shareable self-contained report, building a team monitoring snapshot, or needing multiple charts with filters in one browser-openable file.
- build-zoom-botBuild a Zoom meeting bot, recorder, or real-time media workflow. Use when joining meetings programmatically, processing live media or transcripts, or combining Meeting SDK, RTMS, and backend services.