The Zoom MCP Server supports multiple startup modes so you can choose the one that fits your workflow. Whether you prefer running it from a terminal, having Claude Desktop launch it automatically, or using a packaged macOS app, there is an option for each scenario. Each mode runs the same underlying MCP server — they differ in how the server is started and what extra steps happen around it.
For most users, ./run.sh is the recommended starting point. It handles token validation, opens your Zoom meetings page, and ensures Claude Desktop is running — all in one command.
Interactive (./run.sh)
Force refresh (./run.sh -f)
Engine-only (./run-mcp.sh)
Claude MCP config (node launch-mcp.js)
Native macOS app
The interactive mode is the main user-facing entry point. It is best for daily use from the terminal.When you run this command, the server will:Open Zoom in your browser
Your Zoom upcoming meetings page opens automatically in your default browser.
Display the startup banner
A startup banner appears in the terminal showing the current mode (normal or force).
Validate your token
The server checks whether your current Zoom token is still valid. It only fetches a new token if the existing one has expired.
Ensure Claude Desktop is running
The server verifies that Claude Desktop is open, launching it if needed, before starting the MCP process.
Start the MCP server
The server starts with periodic token and Claude status monitoring active.
Options| Flag | Description |
|---|
-f | Force a new token fetch even if the current one is still valid |
-h | Show the help message |
Force refresh mode runs the same interactive startup but always fetches a new token, even if the current one has not expired yet.Use this when:
- Your token seems stuck or is not working as expected
- You want a clean start with a freshly issued token
All other startup steps — banner, browser, Claude Desktop check — happen the same way as the standard interactive mode. The engine-only mode runs the same startup logic as ./run.sh but skips the banner display and does not open the browser. It is best for scripted or automated startup scenarios where you do not want the interactive UX elements.This mode still:
- Checks and refreshes the token if expired
- Ensures Claude Desktop is running
- Starts the MCP server with token monitoring
This mode is used when Claude Desktop launches the server automatically via its MCP configuration. It avoids macOS shell execution restrictions that can occur when Claude runs scripts from paths on iCloud Drive or non-standard locations.Add the following to your claude_desktop_config.json:{
"mcpServers": {
"zoom": {
"command": "node",
"args": ["/absolute/path/to/zoommcp/launch-mcp.js"]
}
}
}
Default config location on macOS:~/Library/Application Support/Claude/claude_desktop_config.json
launch-mcp.js loads your token values from .env and the Claude config, then starts index.js directly — no shell script execution involved. This is the best choice for fully automatic startup without a terminal. The native app is a packaged Electron application with a graphical interface showing real-time server logs. It is best for users who prefer working outside the terminal.Run in development mode:Or open the built app directly:open "dist/mac-arm64/Zoom MCP.app"
The app features:
- Real-time log display in the app window
- Start/stop controls for the MCP server
- Menu bar integration
- Automatic MCP startup when the app launches
MCP auto-start is enabled by default. To disable it, set ZOOM_APP_AUTOSTART=0 in your environment before launching the app.