Back to MCP directory
publicPublicdnsLocal runtime

zoom_transcript_mcp

一个MCP服务器,它通过结构化的界面 enables 用户列出、下载、搜索和管理Zoom会议记录。

article

README

Zoom Transcript MCP Server

An MCP (Model Context Protocol) server for interacting with Zoom Cloud Recording transcripts. This server allows you to list, download, search, and manage your Zoom meeting transcripts through a structured interface.

Zoom Transcript Server MCP server

Features

  • List Meetings: View all available Zoom meetings with recordings
  • Download Transcripts: Download transcripts from specific meetings by ID or UUID
  • Get Recent Transcripts: Automatically download transcripts from recent meetings
  • Search Transcripts: Search across all downloaded transcripts for specific content
  • Organized Storage: Transcripts are stored in a structured file system by month

Prerequisites

  • Node.js (v16 or higher)
  • Zoom Account with Cloud Recording enabled
  • Zoom OAuth App credentials (Account ID, Client ID, Client Secret)

Installation

  1. Clone this repository:

    git clone https://github.com/yourusername/zoom_transcript_mcp.git
    cd zoom_transcript_mcp
    
  2. Install dependencies:

    npm install
    
  3. Build the project:

    npm run build
    

Configuration

Create a .env file in the root directory with the following variables:

ZOOM_ACCOUNT_ID=your_zoom_account_id
ZOOM_CLIENT_ID=your_zoom_client_id
ZOOM_CLIENT_SECRET=your_zoom_client_secret
TRANSCRIPTS_DIR=/path/to/transcripts/directory  # Optional, defaults to ./transcripts

Alternatively, you can configure the server through your MCP settings file:

{
  "mcpServers": {
    "zoom-transcripts": {
      "command": "node",
      "args": ["/path/to/zoom-transcripts-server/build/index.js"],
      "env": {
        "ZOOM_ACCOUNT_ID": "your_zoom_account_id",
        "ZOOM_CLIENT_ID": "your_zoom_client_id",
        "ZOOM_CLIENT_SECRET": "your_zoom_client_secret",
        "TRANSCRIPTS_DIR": "/path/to/transcripts/directory"  // Optional
      }
    }
  }
}

Obtaining Zoom Credentials

  1. Go to the Zoom App Marketplace and sign in
  2. Click "Develop" > "Build App"
  3. Choose "Server-to-Server OAuth" app type
  4. Fill in the required information
  5. Under "Scopes", add the following permissions:
    • cloud_recording:read:list_account_recordings:admin
    • cloud_recording:read:recording:admin
    • cloud_recording:read:list_user_recordings:admin
  6. Save and activate your app
  7. Note your Account ID, Client ID, and Client Secret

Usage

Available Tools

1. list_meetings

Lists available Zoom meetings with recordings.

{
  "dateRange": {
    "from": "2025-01-01",
    "to": "2025-03-31"
  },
  "participant": "John Doe"  // Optional
}

2. download_transcript

Downloads a transcript for a specific meeting.

{
  "meetingId": "123456789"  // Meeting ID or UUID
}

3. get_recent_transcripts

Downloads transcripts from recent meetings.

{
  "count": 5  // Number of recent meetings to fetch (default: 5)
}

4. search_transcripts

Searches across downloaded transcripts for specific content.

{
  "query": "AI discussion",
  "dateRange": {  // Optional
    "from": "2025-01-01",
    "to": "2025-03-31"
  }
}

Example Usage with Claude

<use_mcp_tool>
<server_name>zoom-transcripts</server_name>
<tool_name>search_transcripts</tool_name>
<arguments>
{
  "query": "project timeline"
}
</arguments>
</use_mcp_tool>

Transcript Storage

Transcripts are stored in the following structure:

transcripts/
├── YYYY-MM/
│   ├── YYYY-MM-DD_HH-MM-SS_Meeting-Topic_MeetingID.vtt
│   └── metadata/
│       └── YYYY-MM-DD_HH-MM-SS_Meeting-Topic_MeetingID.json

Each transcript has a corresponding metadata JSON file containing:

  • Meeting ID and UUID
  • Topic
  • Start time and duration
  • Participants (extracted from the transcript)
  • File path to the transcript

Development

Project Structure

zoom_transcript_mcp/
├── src/
│   └── index.ts
├── package.json
├── tsconfig.json
├── .gitignore
├── README.md
└── .env.example

Building

npm run build

Running Locally

node build/index.js

License

MIT

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client