Zoom Transcript
An MCP server for interacting with transcripts from Zoom Cloud Recordings.
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
Prerequisites
- Node.js (v16 or higher)
- Zoom Account with Cloud Recording enabled
- Zoom OAuth App credentials (Account ID, Client ID, Client Secret)
Installation
-
Clone this repository:
git clone https://github.com/yourusername/zoom_transcript_mcp.git cd zoom_transcript_mcp -
Install dependencies:
npm install -
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
- Go to the Zoom App Marketplace and sign in
- Click "Develop" > "Build App"
- Choose "Server-to-Server OAuth" app type
- Fill in the required information
- Under "Scopes", add the following permissions:
cloud_recording:read:list_account_recordings:admincloud_recording:read:recording:admincloud_recording:read:list_user_recordings:admin
- Save and activate your app
- 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 Servers
Qiye Wechat MCP
Enables AI assistants to send messages to Enterprise WeChat (Qiye Wechat) groups via webhooks.
Gemini Email Subject Generator MCP
Generates engaging email subjects and detailed thinking processes using Google's Gemini AI model.
MCP LinkedIn
Interact with LinkedIn using an unofficial API, requiring email and password for authentication.
Telephony MCP Server
Make voice calls and send SMS messages using the Vonage API.
MCP Email Service
A service for managing multiple email accounts from various providers like 163, Gmail, QQ, and Outlook.
Hatena Blog
An MCP server for interacting with the Hatena Blog service.
interactive-mcp
Enables interactive LLM workflows by adding local user prompts and chat capabilities directly into the MCP loop.
A2A MCP Server
A bridge server connecting Model Context Protocol (MCP) with Agent-to-Agent (A2A) protocol.
Gmail AutoAuth MCP Server
Enables AI assistants to manage Gmail through natural language interactions.
Gmail
Tools for common Gmail operations, such as sending emails.