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
ManyMeet
Webinar intelligence for Zoom Meeting-based webinars: Query funnels, registrations, transcripts, and email engagement with 16 tools via OAuth 2.1
FastIntercom
A high-performance MCP server for analyzing Intercom conversations with fast, local access via caching and background sync.
Aura Backend - Advanced AI Companion
An advanced AI companion with emotional intelligence and vector database integration.
Twitter NoAuth
Provides Twitter API access without requiring local credential setup. Credentials must be provided at runtime.
Twitter MCP
Interact with Twitter to post and search for tweets.
Bark MCP Server
Send iOS push notifications using the Bark app.
VOICEROID Daemon
A text-to-speech server for VOICEROID2 via the voiceroid_daemon.
ElevenLabs
The official ElevenLabs MCP server
CData Email Server
A read-only MCP server for querying live email data using the CData JDBC Driver.
Slack MCP Server
An MCP server for interacting with Slack workspaces using user tokens, without requiring bots or special permissions.