MCP Hub
Back to servers

mcp-zoom-recordings

An MCP server that enables Claude to list and retrieve detailed cloud recording metadata, including download URLs for video and transcripts, from a Zoom account using Server-to-Server OAuth.

Tools
2
Updated
Jan 20, 2026

MCP Zoom Recordings

An MCP (Model Context Protocol) server that enables Claude to access and manage your Zoom cloud recordings.

Features

  • list_recordings - List cloud recordings with date filtering (default: last 7 days)
  • get_recording - Get recording details and download URLs for a specific meeting

Prerequisites

  • Bun runtime
  • Zoom account with cloud recording enabled
  • Zoom Server-to-Server OAuth app

Setup

1. Create a Zoom Server-to-Server OAuth App

  1. Go to Zoom App Marketplace
  2. Click Develop > Build App
  3. Select Server-to-Server OAuth app type
  4. Fill in the required information and create the app
  5. Note down:
    • Account ID (from App Credentials)
    • Client ID (from App Credentials)
    • Client Secret (from App Credentials)

2. Add Required Scopes

In your Zoom app settings, add these scopes:

  • cloud_recording:read:list_user_recordings:admin
  • cloud_recording:read:list_recording_files:admin

3. Activate the App

Click Activate your app to enable it.

4. Install Dependencies

bun install

5. Build the Server

bun run build

Configuration

Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "zoom-recordings": {
      "command": "node",
      "args": ["/path/to/mcp-zoom-recordings/dist/index.js"],
      "env": {
        "ZOOM_API_KEY": "your-client-id",
        "ZOOM_API_SECRET": "your-client-secret",
        "ZOOM_ACCOUNT_ID": "your-account-id"
      }
    }
  }
}

Replace /path/to/mcp-zoom-recordings with the actual path to this project.

Claude Code CLI

claude mcp add zoom-recordings -e ZOOM_API_KEY=your-client-id -e ZOOM_API_SECRET=your-client-secret -e ZOOM_ACCOUNT_ID=your-account-id -- node /path/to/mcp-zoom-recordings/dist/index.js

Environment Variables

VariableDescription
ZOOM_API_KEYServer-to-Server OAuth Client ID
ZOOM_API_SECRETServer-to-Server OAuth Client Secret
ZOOM_ACCOUNT_IDYour Zoom Account ID

Usage

Once configured, you can ask Claude to interact with your Zoom recordings:

List Recent Recordings

"Show me my Zoom recordings from the past week"

"List all recordings from January 2024"

Get Recording Details

"Get the download links for meeting abc123"

"Show me the details of my last recorded meeting"

MCP Tools Reference

list_recordings

List Zoom cloud recordings for the authenticated account.

Parameters:

ParameterTypeRequiredDescription
fromstringNoStart date (YYYY-MM-DD). Default: 7 days ago
tostringNoEnd date (YYYY-MM-DD). Default: today
page_sizenumberNoResults per page (1-300). Default: 30
next_page_tokenstringNoToken for pagination

Returns: List of meetings with recording counts and metadata.

get_recording

Get detailed information and download URLs for a specific meeting's recordings.

Parameters:

ParameterTypeRequiredDescription
meeting_idstringYesMeeting UUID or meeting ID from list_recordings

Returns: Recording details including download URLs for video, audio, transcripts, and chat logs.

Development

# Run with hot reload
bun run dev

# Build for production
bun run build

# Run linter
bun run lint

# Fix lint issues
bun run lint:fix

# Type check
bun run typecheck

# Run tests
bun test

Project Structure

src/
├── index.ts              # MCP server entry point
├── auth/                 # Zoom Server-to-Server OAuth
│   ├── config.ts         # Environment variable loading
│   └── zoom-auth.ts      # Token management
├── clients/
│   └── zoom-client.ts    # Zoom API wrapper
├── tools/
│   └── recordings/       # Recording tools
│       ├── list.ts       # list_recordings
│       └── get.ts        # get_recording
└── types/
    └── recordings.ts     # Type definitions

License

MIT

Reviews

No reviews yet

Sign in to write a review