Claude
Skills
Sign in
Back

zoom-mcp

Included with Lifetime
$97 forever

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, transcripts, Zoom-wide search, or Zoom Docs. Route Whiteboard-specific requests to `zoom-mcp/whiteboard` and write-capable Team Chat MCP requests to `zoom-mcp/team-chat`.

AI Agents

What this skill does


# 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.zoom.us` for AI-agent access to:

- semantic meeting search
- cross-Zoom search over Team Chat messages, Zoom Docs, and My Notes
- meeting-linked asset retrieval
- recording resource retrieval
- Zoom Docs creation from Markdown and Markdown content export

Zoom Docs are also 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, verified by `tools/list`:

- `create_new_file_with_markdown`
- `get_file_content`
- `get_meeting_assets`
- `search_meetings`
- `search_zoom`
- `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 can use either the main `zoom-mcp` server or the dedicated
`zoom-docs-mcp` server; use the exact tool names exposed by the active server.

Whiteboard-specific MCP work is covered by the dedicated skill
[whiteboard/SKILL.md](whiteboard/SKILL.md).

Write-capable Team Chat MCP work is covered by the optional child skill
[team-chat/SKILL.md](team-chat/SKILL.md). This plugin does not register the Team Chat MCP
server in `.mcp.json` by default.

## Quick Start

**1. Use the right auth path for your Claude product**

- **Claude Cowork**: use the published Zoom connector in Claude's connector directory and complete OAuth there.
- **Claude Code**: do not use the built-in `Authenticate` button for this server; complete Zoom user-level OAuth yourself and provide the token through `ZOOM_MCP_ACCESS_TOKEN`.

**2. Export the token expected by the bundled connector:**

```bash
export ZOOM_MCP_ACCESS_TOKEN="your_zoom_user_oauth_access_token"
```

**3. Enable or restart the plugin so Claude restarts the bundled MCP server definition.**

**4. Verify discovery:**
- Confirm the client can see 7 default Zoom MCP tools: `search_meetings`,
  `create_new_file_with_markdown`, `search_zoom`, `get_meeting_assets`,
  `get_recording_resource`, `get_file_content`, and `recordings_list`.
- 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).

**5. In Claude Code, use `/setup-zoom-mcp` to continue the setup and workflow design.**

**6. 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 at `https://mcp.zoom.us/mcp/zoom/streamable`,
accurate as of 10 Apr 2026, 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

Other Zoom MCP servers use different scope sets. Use the published Zoom MCP server docs as the source of truth for those surfaces.

**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. 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](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](../rest-api/SKILL.md).

## Server Endpoints

| Transport | URL |
|-----------|-----|
| Streamable HTTP (recommended) | `https://mcp.zoom.us/mcp/zoom/streamable` |
| SSE (fallback) | `https://mcp.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)

Optional Team Chat MCP skill:
- [team-chat/SKILL.md](team-chat/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.

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.

## Tool Catalog

| 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` |
| `search_meetings` | `q`, `from`, `to`, `page_size`, `next_page_token` | `meeting:read:search` |
| `search_zoom` | `search_entities`*, `query`, `page_size` | `ai_companion: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"
→ ch
Files: 17
Size: 73.6 KB
Complexity: 68/100
Category: AI Agents

Related in AI Agents