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
Voice Mode
A server for natural voice conversations with AI assistants like Claude and ChatGPT.
Slack
Interact with Slack workspaces, enabling message sending, channel management, and user interactions.
MCP Email Service
A service for managing emails across multiple providers.
MCP IDE Bridge
An open-source messaging server for client-to-client communication using MCP HTTP Streamable messaging.
X (Twitter)
An MCP server for interacting with the X (Twitter) API, requiring developer credentials.
FastMail
Interact with FastMail's email, calendar, and contacts via its JMAP API.
Nostr MCP Server
An MCP server that provides Nostr capabilities to LLMs, enabling interaction with the decentralized social network protocol.
Windows Notification Server
Allows AI assistants to send native Windows system notifications.
WeChat Public Account Article Saver
Saves and publishes articles to WeChat Public Accounts.
Instantly
Manage email campaigns and leads using the Instantly.ai v2 API.