Before you begin, make sure you have everything listed on the prerequisites page: Node.js 18+, a Zoom Server-to-Server OAuth app with the required scopes, Claude Desktop, and python3.
Clone the repository and install dependencies
Clone the project to your local machine and install its Node.js dependencies.
Configure your Zoom credentials
Copy the example environment file and fill in your Zoom OAuth credentials.Open You can find these values in your Server-to-Server OAuth app on the Zoom Marketplace. The
.env in a text editor and set the three required values:ZOOM_ACCESS_TOKEN field is populated automatically by the server — you do not need to set it manually.Configure Claude Desktop
Add the Zoom MCP Server entry to your Claude Desktop configuration file.The configuration file is located at:Add the following Restart Claude Desktop after saving the config file so it picks up the new server entry.
mcpServers block. If the file already contains other MCP servers, add the "zoom" entry inside the existing mcpServers object.The path in
args must be an absolute path to launch-mcp.js on your machine — for example, /Users/yourname/projects/zoommcp/launch-mcp.js. Claude Desktop does not resolve relative paths or ~ shortcuts. Using launch-mcp.js as the entry point avoids shell execution issues that can occur in Claude’s MCP environment on macOS and iCloud Drive paths.Make scripts executable and start the server
Before running for the first time, make all shell scripts executable:Then start the server:You should see the startup banner followed by confirmation that the server is running:The server is now running and listening for requests from Claude Desktop over stdio.
Run options
./run.sh accepts a couple of flags for different startup scenarios:
| Flag | Behavior |
|---|---|
| (none) | Start normally — refreshes token only if expired |
-f / --force | Force a new token fetch before starting, even if the current token is still valid |
-h / --help | Show help message |