> zoom-mcp

Official Zoom MCP Server guidance for AI-agent access to semantic meeting search, meeting assets, recording resources, and Zoom Docs creation over MCP. Use when the request is about Zoom tools/list or tools/call against Zoom's hosted MCP endpoints, AI Companion retrieval, recording-content access, or Zoom Docs creation via MCP. Route Whiteboard-specific MCP requests to zoom-mcp/whiteboard.

fetch
$curl "https://skillshub.wtf/zoom/skills/zoom-mcp?format=md"
SKILL.mdzoom-mcp

Zoom MCP Server

Zoom hosts an MCP server at mcp-us.zoom.us for AI-agent access to:

  • semantic meeting search
  • meeting-linked asset retrieval
  • recording resource retrieval
  • Zoom Docs creation from Markdown

Current tool names from the Zoom MCP server:

  • create_new_file_with_markdown
  • 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.

Whiteboard-specific MCP work is split into the child skill whiteboard/SKILL.md.

Quick Start

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:

  • Confirm the client can see recordings_list, search_meetings, get_meeting_assets, get_recording_resource, and create_new_file_with_markdown.
  • If the client exposes raw protocol inspection, tools/list is the authoritative discovery source.
  • The current catalog is documented in references/tools.md.

3. Run the first useful call:

recordings_list
  userId: "me"
  from: "2026-03-01"
  to: "2026-03-06"
  page_size: 10

Critical Notes

1. User OAuth is the recommended execution path

A Server-to-Server OAuth token can:

  • initialize against the MCP gateway
  • complete tools/list
  • open SSE sessions

Use 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:search
  • meeting:read:assets
  • cloud_recording:read:list_user_recordings
  • cloud_recording:read:content
  • docs:write:import for Zoom Docs creation

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.

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.

Server Endpoints

TransportURL
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 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 for the main retrieval workflow.

Tool Catalog

ToolKey ParametersRequired Scope
create_new_file_with_markdowncontent*, file_name, parent_iddocs:write:import
get_meeting_assetsmeetingId*meeting:read:assets
search_meetingsq, from, to, page_size, next_page_tokenmeeting:read:search
get_recording_resourcemeetingId*, types, clip_num, play_time, raw_passcode, encode_passcodecloud_recording:read:content
recordings_listuserId*, from, to, meeting_id, trash, trash_type, page_size, next_page_tokencloud_recording:read:list_user_recordings

* Required parameter

Full parameter and output guidance: references/tools.md

Key Workflows

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- ..."

Error Reference

CodeMeaningFix
401 UnauthorizedMissing or rejected bearer token at the endpointRe-register the MCP server with a valid bearer token
-32001 Invalid access tokenToken expired, malformed, or missing required scopesRefresh OAuth token and verify the MCP-specific scopes
-32602 Can not found toolRequested tool name is not exposed by the active MCP serverRe-run tools/list and use the current tool names for that endpoint
404Possible downstream resource-not-found responseRe-discover the target with search_meetings or recordings_list

Full error reference: references/error-codes.md

Documentation

Concepts

Examples

References

Troubleshooting

Operations

  • RUNBOOK.md — 5-minute preflight and debugging checklist

Related Skills

  • zoom-rest-api — Deterministic REST API access, including meeting CRUD
  • zoom-oauth — OAuth implementation patterns
  • zoom-webhooks — Event-driven recording and meeting workflows
  • zoom-rtms — Live media and transcript streams during active meetings

┌ stats

installs/wk0
░░░░░░░░░░
github stars13
███░░░░░░░
first seenMar 17, 2026
└────────────

┌ repo

zoom/skills
by zoom
└────────────

┌ tags

└────────────