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
EMQX MCP Server
Interact with an EMQX MQTT broker via a Model Context Protocol (MCP) server.
Brevo API
Integrate with the Brevo email marketing platform via its API.
Reddit MCP Server
A server for fetching and creating content on Reddit using its API.
RocketMQ
A server for interacting with Apache RocketMQ, a distributed messaging and streaming platform, requiring environment variables for configuration.
Feishu/Lark OpenAPI MCP
Connects AI agents to the Feishu/Lark platform via its OpenAPI to automate tasks like document processing, conversation management, and calendar scheduling.
Claude Assist MCP
Enables communication between Claude Code and Claude Desktop for code reviews.
BlueSky
Access the BlueSky social network data via its official API.
MCP IDE Bridge
An open-source messaging server for client-to-client communication using MCP HTTP Streamable messaging.
LnExchange MCP Node Service
A Node.js service for interacting with the LnExchange API for spot trading.
Zoom MCP Server
Schedule and manage Zoom meetings with AI assistance. Requires Zoom API credentials for configuration.