Navigation
Zoom Transcript MCP Server: Search & Parse, Boredom-Busting Minutes - MCP Implementation

Zoom Transcript MCP Server: Search & Parse, Boredom-Busting Minutes

Domesticating Zoom’s cloud transcripts? Meet your MCP server: search, parse, and prank-call the boredom out of meeting minutes. Because even AI needs a highlight reel." )

Research And Data
4.1(75 reviews)
112 saves
52 comments

91% of users reported increased productivity after just one week

About Zoom Transcript MCP Server

好的,我现在需要处理用户的请求,生成一个符合要求的HTML页面。首先,我得仔细理解用户的需求。用户希望以直接的语气,作为行业内部人士,直接进入主题,使用口语化表达和强调词,并且保留思考的痕迹。同时,要根据提供的原始文本生成新的HTML代码,主题要从原始内容中分析总结出几个特定的H2标题,比如“What is...”,“How to use...”,“Key Features...”等,并且每个部分要有详细内容,不能直接复制原始内容。此外,所有外链的a标签必须加上nofollow属性,不需要页头页尾,直接返回HTML代码。 首先,我需要分析原始文本的结构和内容。原始文本主要介绍了Zoom Transcript MCP Server的功能、安装步骤、配置方法、使用示例、存储结构、开发信息和许可证。用户要求将这些内容重新组织成几个H2标题下的新主题。 接下来,我需要确定每个H2标题对应的内容: 1. **What is Zoom Transcript MCP Server...**:需要简要介绍这个服务器是什么,它的主要用途,可能涉及MCP协议和Zoom云录制的整合。 2. **How to use...**:步骤性的使用指南,包括安装、配置、工具使用示例等。 3. **Key Features**:列出主要功能,如列表会议、下载转录、搜索等,但要用更简洁的表达方式。 4. **Use cases**:需要想出几个实际应用场景,比如团队协作、合规审查、培训材料等,这些在原始文本中可能没有直接提到,但可以合理推断。 5. **FAQ**:需要根据常见问题生成,比如安装问题、权限问题、存储路径等,可能基于原始文本中的配置和先决条件部分。 然后,我需要确保不直接复制原始内容,而是重新组织语言,使其更符合技术写作人员的风格。同时,注意使用口语化表达和强调词,比如“关键点在于”、“需要注意的是”等,但不过于随意。 关于HTML结构,用户要求不要页头页尾,直接是主体内容。每个H2标题下要有对应的段落或列表,使用适当的HTML标签如

  • 等。所有外部链接必须添加nofollow属性,比如原始中的那个图片链接需要检查是否在HTML中存在,并添加rel="nofollow"。原始文本中的链接是图片,所以需要处理那个a标签。 现在,我需要将每个部分内容转换为HTML: - 对于“What is...”,用简洁的语言解释,可能包括MCP协议的作用和服务器的核心功能。 - “How to use”部分需要分步骤,可能包括安装、配置、使用工具示例,但不需要太详细的代码步骤,而是流程性的说明。 - Key Features要以项目列表的形式,每个功能点用短语概括,如“轻松浏览会议记录列表”等。 - Use cases需要列出几个实际应用场景,比如团队快速回顾会议、合规性审查、培训材料整理等。 - FAQ则需要常见的问题和答案,比如安装依赖问题、权限问题、存储路径自定义等。 同时,注意原始文本中的图片链接需要处理,添加nofollow。例如,原来的a标签包裹图片,需要修改为标签,并在a标签中添加rel="nofollow",但用户可能希望保留图片链接,所以可能需要调整结构,比如直接用而不用a包裹,或者将a标签的rel属性加上。 最后,检查是否所有外部链接都添加了nofollow,确保没有遗漏。例如,原始文本中的示例代码中的链接可能没有,但用户提供的链接只有那个图片,所以需要处理那个。 现在开始编写HTML代码,确保结构正确,标签闭合,没有多余的内容。可能的结构大致如下:

    What is...

    解释部分...

    How to use...

      步骤列表...

Zoom Transcript MCP Server Features

Key Features...

    功能列表...

Use cases...

    Zoom Transcript MCP Server FAQ

    FAQ...

      问答列表...
    在每个部分中,确保内容不直接复制,而是重新组织。例如,Key Features部分将原始的Features部分用更简洁的点列出。Use cases需要自己发挥,基于功能推导出的应用场景。 需要注意的是,用户要求文本应该像专业技术写作人员撰写,而非AI生成,所以需要避免机械化的结构,适当使用连接词和自然表达。同时,避免任何解释性内容,只返回HTML代码。 现在,开始编写具体内容,确保每个H2标题和内容符合要求,并正确添加nofollow属性到所有外链。例如,原始中的图片链接: 图片,需要改为: ... 或者如果必须用a,那么: 但原始文本中的a标签可能只是包裹图片,所以可能需要调整结构。 检查原始文本中的a标签: 原始文本中的一个链接是: 图片 在生成的HTML中,可能需要将图片直接使用标签,并确保a标签如果有,则加上nofollow。假设用户示例中的图片链接需要处理,比如: 在原始文本中有一个例子: Example Image 那么在生成的HTML中,应该改为: Example Image 但根据用户提供的原始文本中的例子,可能那个图片链接在“Transcript Storage”部分中的结构需要处理,不过用户提供的原始文本中的图片可能是在示例代码中,比如: 原始中的代码块可能没有链接,但用户提到的a标签外链需要加nofollow。可能在原始文本中的a标签是那个图片的链接: 例如,原始文本中有一个段落:

    Example of transcript storage structure

    那么在生成的HTML中,需要将其改为: Example of transcript storage structure 但根据用户提供的原始文本,可能那个图片链接是在示例代码中的某个地方,我需要回顾原始文本。 回顾原始文本,用户提供的原始文本中有一个a标签: 在原始文本中,有一个段落:

    例如,一个典型的存储结构如下:查看示意图

    这种情况下,需要添加nofollow。但在用户提供的原始文本中,可能那个图片链接是示例中的,所以需要正确处理。 不过根据用户提供的原始文本,可能实际的链接是在第一个段落中: 原始文本开始部分: 以原始文本为例,用户提供的原始文本中的第一个链接是在: 例如,原始文本中有:

    a标签外链链接要加上nofollow标识。

    比如,原始文本中的代码块可能有: ... 或者原来的链接: 原始中的代码中有: Example Link

    Content

    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
    
    1. Install dependencies:

      npm install

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

    Related MCP Servers & Clients