Model Context Protocol

Zoom meets
MCP AI

Manage meetings, tokens, and users through natural language. A full MCP server with a native macOS desktop app.

"Show my meetings for today" · "Create a team standup at 10am" · "Who attended yesterday's call?"

View Architecture macOS App 📑 Presentation
⎇ main ⎇ feature/macos-app ⎇ feature/openai
Tech Stack

Built With

The technologies powering Zoom MCP — from runtime to distribution.

Runtime
Node.js 18+
🔌
Protocol
MCP Server
🎥
API
Zoom API v2
🔄
Transport
HTTP & stdio
🍎
Desktop
macOS App
📄
License
MIT
How It Works

System Architecture

A secure bridge connecting Claude Desktop to the Zoom API via the Model Context Protocol.

🖥️
Claude Desktop
AI Interface
stdio / MCP
⚙️
MCP Server
index.js
HTTPS / OAuth
📹
Zoom API
REST v2
manages
🔑
Token Manager
shell scripts

🔑

Smart Token Management

Validates before fetching. Only requests a new token when the current one is expired or within 5 minutes of expiry. Atomic writes for iCloud Drive safety.

🔄

Auto Token Refresh

Background monitor refreshes tokens automatically. Anti-loop protection with 30s cooldown and max 3 failure limit before disabling to prevent restart loops.

🚀

Claude Desktop Integration

Multi-method startup verification with up to 15 retries. Auto-reopens Claude if it closes while the server is running.

🛡️

iCloud-Safe Launcher

launch-mcp.js avoids shell execution restrictions when running from Claude on macOS paths with spaces or iCloud Drive.

📊

Live Status Monitoring

Token expiry countdown updates every 60 seconds with color-coded indicators: ✅ fresh, 📊 expiring soon, ⚠️ critical.

🍎

Native macOS App

Electron app with real-time logs, one-click server controls, token panel, and Claude restart — no terminal required.

macOS Desktop

Native Electron App

A polished desktop interface to run and manage Zoom MCP without touching the terminal.

Zoom MCP · macOS App
Server Online
🖥️
Claude Desktop
✅ Running
🔑
Token Expires
57m 12s
MCP Server
✅ Active
▶ Start Server
■ Stop Server
🔍 Check Token
🔄 Refresh Token
🔁 Restart Claude
Zoom MCP Server Logs
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Claude Desktop is running
✅ Zoom token is still valid. No refresh needed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 Zoom MCP Server is running on stdio
🔄 Token monitoring active — updates every 60s
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔑 Token Status: ✅ Expires in 57m 12s (at 3:44:00 PM)

▶️

One-Click Server Control

Start and stop the MCP server instantly. Server state is reflected in real time across the status dashboard and badge.

📋

Live Log Viewer

Terminal-style log panel streams server stdout/stderr in real time with color-coded output: green for status, blue for token info, yellow for warnings.

🔐

Token Panel

Displays the current Zoom access token with source attribution (.env or Claude config). Check and refresh from the app without opening the terminal.

🔁

Restart Claude

Restart Claude Desktop directly from the app with the purple gradient button — useful after token refreshes that require Claude to reload its config.


⚙️
Configure
Add Zoom creds to .env
🔨
Build
./build-app.sh
📦
Package
dist/ .app + .dmg
🚀
Launch
Open Zoom MCP.app
Done
Claude can see Zoom
MCP Tools

9 Zoom API Tools

Everything Claude needs to manage your Zoom account through natural language.

📋
list_meetings
Scheduled, live, upcoming, previous
🔍
get_meeting
Full details for a meeting ID
create_meeting
Topic, time, duration, settings
✏️
update_meeting
Edit time, agenda, settings
🗑️
delete_meeting
Cancel a meeting by ID
👥
list_users
Active, inactive, pending users
👤
get_user
User by ID or email
🙋
get_meeting_participants
Participant list for past meetings
🎬
get_meeting_recordings
Cloud recording links & metadata
Setup

Claude Desktop Configuration

Add Zoom MCP to your Claude Desktop config file to enable natural language Zoom control.

claude_desktop_config.json
JSON
{ "mcpServers": { "zoom": { "command": "node", "args": ["/absolute/path/to/zoommcp/launch-mcp.js"] } } }
Config file location · macOS
path
~/Library/Application Support/Claude/claude_desktop_config.json

1️⃣

Clone & Install

git clone the repo, run npm install, copy .env.example to .env and add your Zoom credentials.

2️⃣

Edit Config

Open Claude Desktop config JSON and add the zoom entry pointing to the absolute path of launch-mcp.js.

3️⃣

Restart Claude

Quit and reopen Claude Desktop. The Zoom MCP server will be detected and connected automatically. Look for the 🔌 icon.

4️⃣

Talk to Claude

Ask Claude: "Show my upcoming Zoom meetings" — and Claude will call the Zoom API on your behalf using natural language.

📑 Project Documentation & Presentations

Full guides, executive summary, speaker notes, and a visual presentation in the docs folder.