Zoom MCP Server
Enables interaction with the Zoom API to manage meetings, retrieve cloud recording transcripts, and access team chat messages. The server supports listing account users and participants, featuring a configurable read-only mode for secure tool access.
README
@kindflow/zoom-mcp-server
MCP server that gives Claude Code native tool access to the Zoom API. Supports meetings, transcripts, users, and team chat.
Features
- Meeting Transcripts — Fetch and parse cloud recording transcripts into clean, readable text
- Meetings — List, create, update, and delete meetings; view past meeting participants
- Users — List and inspect account users
- Team Chat — List channels, read messages, and send messages
- Read-Only Mode — Safe by default; write tools only available when explicitly enabled
Prerequisites
You need a Zoom Server-to-Server OAuth app. Create one at marketplace.zoom.us:
- Go to Develop > Build App > Server-to-Server OAuth
- Add the required scopes for the APIs you want to use:
cloud_recording:read:admin— for transcripts and recordingsmeeting:read:admin,meeting:write:admin— for meetingsuser:read:admin— for userschat_message:read:admin,chat_message:write:admin— for team chatchat_channel:read:admin— for listing channels
- Note your Account ID, Client ID, and Client Secret
Setup with Claude Code
Quick setup (CLI)
claude mcp add zoom -- npx @kindflow/zoom-mcp-server
Then set your environment variables in ~/.claude/settings.json under the zoom server entry.
Manual setup
Add to ~/.claude/settings.json:
{
"mcpServers": {
"zoom": {
"command": "npx",
"args": ["@kindflow/zoom-mcp-server"],
"env": {
"ZOOM_ACCOUNT_ID": "your-account-id",
"ZOOM_CLIENT_ID": "your-client-id",
"ZOOM_CLIENT_SECRET": "your-client-secret",
"ZOOM_MODE": "readonly"
}
}
}
}
Set ZOOM_MODE to readwrite to enable creating meetings, sending chat messages, etc.
Available Tools
Transcripts (Read)
| Tool | Description |
|---|---|
zoom_list_recordings |
List cloud recordings for a user within a date range |
zoom_get_meeting_transcript |
Download and parse a meeting transcript into clean text |
zoom_get_meeting_summary |
Get AI-generated meeting summary (requires Zoom AI Companion) |
Meetings (Read)
| Tool | Description |
|---|---|
zoom_list_meetings |
List scheduled, live, upcoming, or previous meetings |
zoom_get_meeting |
Get meeting details including settings and join URL |
zoom_list_past_meeting_participants |
List who attended a past meeting |
Meetings (Write — requires readwrite mode)
| Tool | Description |
|---|---|
zoom_create_meeting |
Create a new meeting |
zoom_update_meeting |
Update an existing meeting |
zoom_delete_meeting |
Delete a meeting |
Users (Read)
| Tool | Description |
|---|---|
zoom_list_users |
List all users in the account |
zoom_get_user |
Get a specific user's details |
Team Chat (Read)
| Tool | Description |
|---|---|
zoom_list_channels |
List chat channels |
zoom_list_chat_messages |
List messages in a channel |
Team Chat (Write — requires readwrite mode)
| Tool | Description |
|---|---|
zoom_send_chat_message |
Send a message to a channel or user |
Environment Variables
| Variable | Required | Description |
|---|---|---|
ZOOM_ACCOUNT_ID |
Yes | Zoom Server-to-Server OAuth account ID |
ZOOM_CLIENT_ID |
Yes | Zoom app client ID |
ZOOM_CLIENT_SECRET |
Yes | Zoom app client secret |
ZOOM_MODE |
No | readonly (default) or readwrite |
Troubleshooting
sh: zoom-mcp-server: command not found when using npx
This happens with asdf version manager. Use one of these alternatives:
Install globally, then reference directly:
npm install -g @kindflow/zoom-mcp-server
{
"zoom": {
"command": "zoom-mcp-server",
"env": { ... }
}
}
Or point to the installed file with node:
{
"zoom": {
"command": "node",
"args": ["node_modules/@kindflow/zoom-mcp-server/dist/index.js"],
"env": { ... }
}
}
Development
git clone https://github.com/surajpratap/zoom-mcp-server.git
cd zoom-mcp-server
npm install
npm test # Run tests
npm run build # Compile TypeScript
npm run dev # Run with tsx (no build needed)
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.