Each transcript is written as a .vtt under a YYYY-MM folder with a metadata JSON beside it, carrying the topic, start time, duration and the participants pulled out of the transcript itself. Search then runs locally over what you have already downloaded, so the searchable corpus is exactly the set of meetings you chose to keep.
An MCP server for Zoom Cloud Recording transcripts. It lists meetings, downloads their transcripts into a dated folder structure and searches what you have downloaded.
- List meetings that have recordings, filtered by date range or participant — list_meetings
- Download a transcript by meeting ID or UUID — download_transcript
- Grab the last few meetings in one call — get_recent_transcripts
- Search across everything you have downloaded — search_transcripts
- Storage organized by month, with a metadata JSON beside each .vtt holding topic, start time, duration and participants
Node.js v16 or higher and a Zoom Server-to-Server OAuth app: ZOOM_ACCOUNT_ID, ZOOM_CLIENT_ID and ZOOM_CLIENT_SECRET, with the cloud_recording read scopes granted. TRANSCRIPTS_DIR sets where files land, defaulting to ./transcripts.
