Skip to main content
This page covers questions that come up frequently when setting up and using Zoom MCP Server. If your question isn’t answered here, check the other troubleshooting pages or open an issue on GitHub.
The primary supported platforms are macOS and Linux. Windows has not been tested and is likely to have issues because the server relies on shell scripts (.sh files) for token management and Claude Desktop interaction. Running it on Windows would require a Unix-like environment such as WSL.
Your Zoom credentials (ZOOM_CLIENT_ID, ZOOM_CLIENT_SECRET, ZOOM_ACCOUNT_ID, and ZOOM_ACCESS_TOKEN) stay in your local .env file and are never sent to Anthropic.When you ask Claude a question about your meetings, here’s what happens:
  1. Claude sends the request to the MCP server running locally on your machine.
  2. The MCP server calls the Zoom API directly from your machine using your stored token.
  3. The Zoom API response (meeting data, participant lists, etc.) is returned to Claude so it can display results to you.
Meeting data does pass through Claude to render the response. This is governed by Anthropic’s privacy policy.
The Zoom access token must be written into Claude Desktop’s MCP configuration file at ~/Library/Application Support/Claude/claude_desktop_config.json. Claude Desktop only reads this file at startup, so it must be restarted to pick up the updated token.This restart happens automatically when the MCP server detects that the token is about to expire (within 5 minutes by default). You don’t need to do anything — the server handles the full refresh cycle, including updating the config file and relaunching Claude Desktop.
Look for this message in the terminal where you ran ./run.sh:
✅ Zoom MCP Server is running on stdio
The server also prints a token status update every 60 seconds:
🔑 Token Status: ✅ Expires in 57m 29s (at 1:51:23 PM)
If you’re using the Electron macOS app, the log window inside the app shows the same server status messages in real time.
Press Ctrl+C in the terminal where ./run.sh is running. This stops the MCP server process.Claude Desktop will continue running after you stop the server, but it won’t be able to access Zoom until you restart the server with ./run.sh.
The current setup supports one Zoom account at a time. The server reads a single set of credentials (ZOOM_CLIENT_ID, ZOOM_CLIENT_SECRET, ZOOM_ACCOUNT_ID) from your .env file.To switch accounts, update those values in .env and run ./scripts/get_zoom_token.sh -f to force a new token for the new account.
By default, the server looks for the Claude Desktop config at the standard macOS location:
~/Library/Application Support/Claude/claude_desktop_config.json
To use a different path, set CLAUDE_CONFIG_FILE in your .env file:
CLAUDE_CONFIG_FILE=/path/to/your/config.json
This is an intentional convenience feature. When the server starts, it opens your Zoom upcoming meetings page in your default browser so you can quickly verify that you’re signed in to the correct Zoom account.You can close the browser tab immediately — it has no effect on whether the server runs. If you prefer to skip this step, use ./run-mcp.sh instead of ./run.sh. It runs the same startup checks but without the browser step or the startup banner.