Skill 寫法圖鑑

zoom-mcp

Anthropic | 雲端與基礎設施 | 原文 | Apache-2.0

內建 Zoom MCP connector 的工具、驗證與限制指引

中文翻譯

---
name: zoom-mcp
description: 內建 Zoom MCP connector 的使用指引。在已經導向 MCP 工作流之後,用來規劃或排查「透過工具存取會議、錄影、會議資產或逐字稿」的問題。Zoom Docs 的需求請導向專用的 Docs MCP server,Whiteboard 相關需求請導向 `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

這是這個 Claude plugin 內建 Zoom MCP connector 的使用指引。建議先走 `design-mcp-workflow` 或 [setup-zoom-mcp](../setup-zoom-mcp/SKILL.md),再回到這裡查工具介面細節、驗證方式和 MCP 專屬的限制。

# Zoom MCP Server

這個 plugin 內建 Zoom 託管的 MCP server(`mcp-us.zoom.us`),讓 AI agent 可以存取:

- 語意式會議搜尋
- 跟會議綁定的資產取得
- 錄影資源取得

Zoom Docs 由另一個內建的 server 提供:

- `zoom-docs-mcp`,位於 `mcp.zoom.us`
- 專門用來建立和取得 Zoom Docs

主要 Zoom MCP server 目前的工具名稱:

- `get_meeting_assets`
- `search_meetings`
- `get_recording_resource`
- `recordings_list`

有些 MCP client 會在介面上幫 server 工具加命名空間,例如 `zoom-mcp:recordings_list`。
以上面列的原始工具名稱為準。

Zoom Docs 相關的 MCP 工作請用專用的 `zoom-docs-mcp` server。

Whiteboard 相關的 MCP 工作由專用 skill 負責:
[whiteboard/SKILL.md](whiteboard/SKILL.md)。

## Quick Start

**1. 匯出內建 connector 需要的 token:**

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

**2. 啟用或重啟 plugin,讓 Claude 重新啟動內建的 MCP server 定義。**

**3. 驗證工具探索:**
- 確認 client 看得到 `recordings_list`、`search_meetings`、`get_meeting_assets`
  和 `get_recording_resource`。
- 如果 client 能看原始協定內容,`tools/list` 就是探索工具的權威來源。
- 目前的完整工具目錄寫在 [references/tools.md](references/tools.md)。

**4. 跑第一個有用的呼叫:**
```text
recordings_list
  userId: "me"
  from: "2026-03-01"
  to: "2026-03-06"
  page_size: 10
```

## Critical Notes

**1. 文件記載的執行路徑是 User OAuth**

要在這個 plugin 裡使用 Zoom MCP 工具,執行路徑請用 **General app** 搭配 **user-level OAuth**。
不要把 Server-to-Server OAuth 當成這裡支援的 MCP 驗證方式。

**2. Zoom MCP 使用 MCP 專屬的細粒度 scope**

Zoom MCP 的 scope 集合跟舊版的廣泛 REST scope 不一樣。
主要 Zoom MCP server 的關鍵 scope 如下:
- `ai_companion:read:search` — 跨 Zoom Meeting、Zoom Chat、Zoom Doc 搜尋,依查詢內容回傳最相關的結果
- `meeting:read:search` — 搜尋並檢視會議
- `meeting:read:assets` — 檢視會議的資產
- `cloud_recording:read:list_user_recordings` — 列出使用者的所有雲端錄影
- `cloud_recording:read:content` — 讀取錄影內容的 scope
- `docs:write:import` — 用匯入方式建立新檔案
- `docs:read:export` — 以 Markdown 格式讀取檔案內容

Zoom Docs MCP 方面,官方文件頁面針對有文件記載的工具列出這些細粒度 scope:
- `docs:write:import` — 用匯入方式建立新檔案
- `docs:read:export` — 以 Markdown 格式讀取檔案內容

**3. AI Companion 功能是前置條件,不能取代 scope**

語意式會議搜尋、會議資產和錄影內容取得,要有 **Smart Recording** 和 **Meeting Summary** 這類帳號功能,結果才有用。
這些功能設定不能取代必要的 OAuth scope。

**4. Whiteboard 是獨立的 MCP 介面**

Zoom MCP endpoint 和 Whiteboard MCP endpoint 是分開的。Whiteboard 相關需求請導向
[whiteboard/SKILL.md](whiteboard/SKILL.md)。

**5. 確定性的會議 CRUD 用 REST**

目前 Zoom MCP 的工具介面沒有提供確定性的會議建立、更新或刪除工具。
如果使用者需要明確的會議 CRUD 操作,請導向
[../rest-api/SKILL.md](../rest-api/SKILL.md)。

## Server Endpoints

| Transport | URL |
|-----------|-----|
| Streamable HTTP(建議) | `https://mcp-us.zoom.us/mcp/zoom/streamable` |
| SSE(備援) | `https://mcp-us.zoom.us/mcp/zoom/sse` |

專用的 Docs MCP server:

| Transport | URL |
|-----------|-----|
| Streamable HTTP(建議) | `https://mcp.zoom.us/mcp/docs/streamable` |
| SSE(備援) | `https://mcp.zoom.us/mcp/docs/sse` |

專用的 Whiteboard MCP skill:
- [whiteboard/SKILL.md](whiteboard/SKILL.md)

## Search and Retrieval Model

`search_meetings` 用的是 AI Companion 檢索,不是單純的 metadata 過濾。實際使用時,
回應 schema 和 scope 行為以線上的 MCP server 為準。

最重要的兩類結果:

- **以 recap 為主的結果**:AI 摘要、跟會議綁定的文件、錄影和相關資產
- **以錄影為主的結果**:雲端錄影的參照,以及可取得逐字稿的資源

主要的檢索流程請看 [examples/transcript-retrieval.md](examples/transcript-retrieval.md)。

## 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` |

\* 必填參數

完整的參數和輸出說明:[references/tools.md](references/tools.md)

## Key Workflows

**搜尋會議內容,再取得資產:**
```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"
```

**列出錄影,再取得錄影資源:**
```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"
```

**建立或取得 Zoom Doc:**
- 用專用的 `zoom-docs-mcp` server,不要用主要的 `zoom-mcp` server
- Zoom Docs MCP 頁面上有文件記載的官方工具是:
  - `create_file_with_content`
  - `get_file_content`

## Error Reference

| Code | Meaning | Fix |
|------|---------|-----|
| `401 Unauthorized` | endpoint 缺少 bearer token,或 token 被拒絕 | 設定 `ZOOM_MCP_ACCESS_TOKEN`,然後重啟 Claude 或重新啟用 plugin |
| `-32001 Invalid access token` | Token 過期、格式錯誤,或缺少必要的 scope | 更新 OAuth token,並確認 MCP 專屬的 scope |
| `-32602 Can not found tool` | 目前的 MCP server 沒有提供你要求的工具名稱 | 重新跑 `tools/list`,使用該 endpoint 目前的工具名稱 |
| `404` | 可能是下游資源找不到的回應 | 用 `search_meetings` 或 `recordings_list` 重新找目標 |

完整的錯誤參考:[references/error-codes.md](references/error-codes.md)

## Documentation

### Concepts
- [concepts/mcp-architecture.md](concepts/mcp-architecture.md) — MCP 協定、託管 endpoint、工具探索和能力模型
- [concepts/oauth-setup.md](concepts/oauth-setup.md) — 建立 OAuth app、MCP 專屬 scope、AI Companion 前置條件、token 生命週期

### Examples
- [examples/transcript-retrieval.md](examples/transcript-retrieval.md) — 搜尋/資產和錄影資源的工作流
- [examples/create-zoom-doc.md](examples/create-zoom-doc.md) — 已驗證的 Zoom Docs 建立流程
- [examples/search-and-act.md](examples/search-and-act.md) — 搜尋、檢視資產,必要時把 CRUD 工作交給 REST
- [examples/meeting-lifecycle.md](examples/meeting-lifecycle.md) — 為什麼會議 CRUD 該放在 REST,以及 MCP 轉交 REST 的模式

### References
- [references/tools.md](references/tools.md) — 目前的 Zoom MCP 工具參考
- [references/error-codes.md](references/error-codes.md) — MCP 和 Zoom API 的錯誤與解法
- [whiteboard/SKILL.md](whiteboard/SKILL.md) — 專用的 Whiteboard MCP skill

### Troubleshooting
- [troubleshooting/common-errors.md](troubleshooting/common-errors.md) — scope 失敗、endpoint 搞混、搜尋/錄影問題

### Operations
- [RUNBOOK.md](RUNBOOK.md) — 5 分鐘的 preflight 與除錯清單

## Related Skills

- [zoom-rest-api](../rest-api/SKILL.md) — 確定性的 REST API 存取,包含會議 CRUD
- [zoom-oauth](../oauth/SKILL.md) — OAuth 實作模式
- [zoom-webhooks](../webhooks/SKILL.md) — 事件驅動的錄影與會議工作流
- [zoom-rtms](../rtms/SKILL.md) — 會議進行中的即時媒體與逐字稿串流

英文原文

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