partner-built/zoom-plugin/skills/zoom-mcp/SKILL.md
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`.
npx skillsauth add anthropics/knowledge-work-plugins zoom-mcpInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Guidance for the bundled Zoom MCP connector in this Claude plugin. Prefer design-mcp-workflow or setup-zoom-mcp first, then route here for tool-surface details, auth expectations, and MCP-specific constraints.
This plugin bundles Zoom's hosted MCP server at mcp-us.zoom.us for AI-agent access to:
Zoom Docs are exposed through a separate bundled server:
zoom-docs-mcp at mcp.zoom.usCurrent tool names from the main Zoom MCP server:
get_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.
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.
1. Export the token expected by the bundled connector:
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:
recordings_list, search_meetings, get_meeting_assets,
and get_recording_resource.tools/list is the authoritative discovery source.4. 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 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 querymeeting:read:search — Search and view meetingsmeeting:read:assets — View a meeting's assetscloud_recording:read:list_user_recordings — Lists all cloud recordings for a user.cloud_recording:read:content — read recording content scopedocs:write:import — Create a new file by importdocs:read:export — Read file content in Markdown formatFor Zoom Docs MCP specifically, the official docs page shows these granular scopes for the documented tools:
docs:write:import — Create a new file by importdocs:read:export — Read file content in Markdown format3. 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 |
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:
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 |
|------|---------------|----------------|
| 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 or fetch a Zoom Doc:
zoom-docs-mcp server rather than the main zoom-mcp servercreate_file_with_contentget_file_content| 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
testing
Reads a forwarded customer email or ticket, pulls order/refund status from PayPal and account history from HubSpot, drafts a tone-matched reply in the owner's writing voice, and can issue a PayPal refund with explicit owner approval. Use when the user says "draft a response," "answer this customer," "where's my order," or "I want a refund."
development
Prepares tax-season materials for small business owners — framed as deliverables for their accountant, not tax advice. Two modes: (1) quarterly estimated tax calculation — pulls YTD net income from QuickBooks and calculates the federal income tax + self-employment tax liability and quarterly payment due; (2) year-end 1099 prep — scans QuickBooks, PayPal, and Stripe for contractors paid over $600, builds a 1099-NEC candidate list with missing W-9 flags, and produces a plain-English summary a CPA can work from directly. Trigger this skill whenever the user mentions: quarterly taxes, estimated tax payment, how much to set aside for taxes, 1099s, 1099-NEC, year-end tax prep, contractor payments, W-9s, or any phrase suggesting they are preparing for a tax deadline or handing materials to an accountant. Also trigger proactively when a user asks about net profit or YTD income in a context that suggests they are worried about their tax bill.
tools
Prepares tax-season materials — quarterly estimated tax calculation or year-end 1099 prep — and produces an accountant handoff packet. Accepts optional mode and year arguments.
tools
The front door to the Small Business plugin. Listens to what the owner needs right now — vague or specific — and routes them to the best skill or slash command for the moment. Also serves as a guide: explains what's available, suggests what to try next, and adapts recommendations based on stored business context. Trigger whenever the owner asks "what can you do," "help me with my business," "what should I focus on," "I don't know where to start," or any open-ended business request that doesn't clearly match a single skill.