JSPM

@iflow-mcp/zoom-transcripts-server

1.0.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 5
    • Score
      100M100P100Q43659F
    • License ISC

    MCP server for managing Zoom Cloud Recording transcripts

    Package Exports

    • @iflow-mcp/zoom-transcripts-server
    • @iflow-mcp/zoom-transcripts-server/build/index.js

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@iflow-mcp/zoom-transcripts-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    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