Skip to main content
Glama
Zoom Transcript MCP Server

Zoom Transcript MCP Server

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.

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

Related MCP server: Zoom API MCP Server

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

Available Tools

6 tools
check_local_transcriptsC

Check what transcripts are already downloaded and available locally

Inputs: dateRange.

download_transcriptA

Download a specific Zoom meeting transcript from the cloud to local storage

Inputs: meetingId (required).

extract_action_itemsC

Identify and extract action items, tasks and commitments from meeting transcripts

Inputs: meetingId (required), participant.

get_recent_transcriptsC

Get and download transcripts from recent Zoom meetings. This tool will access the Zoom cloud API to fetch and download recent meeting transcripts.

Inputs: count.

list_meetingsC

List available Zoom meetings with recordings that exist in the cloud

Inputs: dateRange, participant.

search_transcriptsB

Search across Zoom meeting transcripts for specific content. This tool will search through locally stored transcripts first.

Inputs: query (required), dateRange.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no ambiguity: checking local transcripts, downloading from cloud, extracting action items, getting recent transcripts, listing meetings, and searching transcripts. The descriptions clearly differentiate their functions, such as distinguishing between local vs. cloud operations and specific tasks like extraction vs. searching.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case, such as check_local_transcripts, download_transcript, and extract_action_items. The naming is predictable and readable throughout, with no deviations in style or convention.

    Tool Count5/5

    With 6 tools, the server is well-scoped for managing Zoom transcripts, covering core operations like listing, downloading, extracting, and searching. Each tool earns its place by addressing a specific need in the workflow, avoiding bloat or thin coverage.

    Completeness4/5

    The tool set provides strong coverage for the transcript management domain, including listing, downloading, extracting, and searching. A minor gap exists in update or delete operations for transcripts, but agents can work around this, and the core workflows are well-supported.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      An MCP Server that enables interaction with Zoom's API through the Multi-Agent Conversation Protocol, allowing users to access and control Zoom's functionality via natural language commands.
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      An MCP (Multi-Agent Conversation Protocol) Server that enables interaction with the Zoom API through natural language, auto-generated using AG2's MCP builder.
      -