项目简介

本项目 'zoom-mcp-server' 是一个基于 Model Context Protocol (MCP) 构建的服务器,它将 Zoom 会议的功能通过标准化的 MCP 协议暴露给 LLM 客户端。借助此服务器,LLM 可以方便地调用 Zoom API 来创建和管理会议,例如安排新的 Zoom 会议或查询已有的会议列表。

主要功能点

  • 创建会议 (create_meeting): 允许 LLM 客户端通过调用 'create_meeting' 工具,根据提供的参数(如会议主题、议程、开始时间等)在 Zoom 上创建一个新的会议。
  • 列出会议 (list_meetings): 允许 LLM 客户端通过调用 'list_meetings' 工具,查询并获取 Zoom 账户下已安排的会议列表。

安装步骤

  1. 下载仓库: 使用 Git 克隆仓库到本地:
    git clone https://github.com/JavaProgrammerLB/zoom-mcp-server
    cd zoom-mcp-server
  2. 获取 Zoom API 凭证:
    • 访问 Zoom Marketplace 并登录。
    • 创建应用并选择 Server to Server OAuth App 类型。
    • 在应用权限配置中,添加 Meeting 类别下的所有权限。
    • 激活你的应用。
    • 在应用的 App Credentials 页面,获取 Account IDClient IDClient Secret
  3. 配置环境变量:
    • 你需要设置以下环境变量,以便服务器能够连接到 Zoom API。你可以通过多种方式设置环境变量,例如在终端中 export,或者在运行服务器的脚本中设置。
      • 'ZOOM_ACCOUNT_ID': 你的 Zoom Account ID
      • 'ZOOM_CLIENT_ID': 你的 Zoom Client ID
      • 'ZOOM_CLIENT_SECRET': 你的 Zoom Client Secret

服务器配置

MCP 客户端需要配置 MCP 服务器的启动信息,才能与之建立连接并调用其提供的工具。以下是一个典型的 MCP 服务器配置示例,你需要将其添加到你的 MCP 客户端的配置文件中。

{
  "mcpServers": {
    "zoom-mcp-server": {
      "command": "npx",
      "args": [
        "/PATH/TO/zoom-mcp-server/index.ts"  //  请替换为 zoom-mcp-server 仓库中 index.ts 文件的绝对路径
      ],
      "env": {
        "ZOOM_ACCOUNT_ID": "<你的 ZOOM_ACCOUNT_ID>",    //  请替换为你的 Zoom Account ID
        "ZOOM_CLIENT_ID": "<你的 ZOOM_CLIENT_ID>",      //  请替换为你的 Zoom Client ID
        "ZOOM_CLIENT_SECRET": "<你的 ZOOM_CLIENT_SECRET>" //  请替换为你的 Zoom Client Secret
      }
    }
  }
}

配置参数说明:

  • '"zoom-mcp-server"': 服务器名称,用于在 MCP 客户端中唯一标识此服务器。
  • '"command": "npx"': 指定用于启动服务器的命令为 'npx',它通常用于执行 Node.js 包。
  • '"args": [...]"': 命令参数列表,这里指定了 'index.ts' 文件的路径,npx 将会执行这个文件来启动服务器。 请务必将 '/PATH/TO/zoom-mcp-server/index.ts' 替换为你实际的 'index.ts' 文件路径。
  • '"env": {...}': 环境变量配置,用于传递 Zoom API 的凭证信息给服务器。
    • '"ZOOM_ACCOUNT_ID"', '"ZOOM_CLIENT_ID"', '"ZOOM_CLIENT_SECRET"': 分别对应你在 Zoom Marketplace 获取的 Account ID, Client ID 和 Client Secret。 请将 '<你的 ...>' 占位符替换为实际的凭证信息。

注意: 请确保你的 MCP 客户端能够正确读取和解析以上 JSON 格式的服务器配置信息。

基本使用方法

  1. 启动 MCP 服务器: 在 'zoom-mcp-server' 仓库目录下,打开终端并执行以下命令启动服务器:

    npm install  # 安装依赖 (如果尚未安装)
    npx ts-node index.ts

    如果一切正常,你会在终端看到 'zoom mcp server running on stdio' 的提示信息,表明服务器已成功启动并在标准输入/输出 (stdio) 上监听 MCP 客户端的请求。

  2. 配置并连接 MCP 客户端: 在你的 MCP 客户端中,按照客户端的配置方法,添加上面提供的服务器配置信息。确保客户端能够连接到此 MCP 服务器。

  3. 通过 MCP 客户端调用工具: 一旦 MCP 客户端成功连接到 'zoom-mcp-server',你就可以通过客户端提供的界面或 API,调用服务器提供的 'create_meeting' 和 'list_meetings' 工具,来实现创建和查询 Zoom 会议的功能。 具体的工具调用方法请参考你的 MCP 客户端的使用说明。 例如,你可能会在客户端中看到名为 "create_meeting" 和 "list_meetings" 的工具,并可以填写相应的参数来调用它们。

示例 - 使用 'create_meeting' 工具:

假设你使用的 MCP 客户端允许你以 JSON 格式调用工具。 你可以构造如下的 JSON-RPC 请求来调用 'create_meeting' 工具:

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "name": "create_meeting",
    "arguments": {
      "topic": "与 AI 助手约会的会议",
      "agenda": "讨论如何使用 AI 助手更高效地安排 Zoom 会议",
      "start_time": "2024-08-20T10:00:00",
      "timezone": "Asia/Shanghai"
    }
  },
  "id": 1
}

服务器会处理这个请求,调用 Zoom API 创建会议,并将会议信息作为 JSON-RPC 响应返回给客户端。

示例 - 使用 'list_meetings' 工具:

调用 'list_meetings' 工具的 JSON-RPC 请求示例如下:

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "name": "list_meetings",
    "arguments": {} // list_meetings 工具目前没有参数
  },
  "id": 2
}

服务器会返回包含会议列表的 JSON-RPC 响应。

请根据你的 MCP 客户端的具体使用方式,参考以上示例进行工具调用。

信息

分类

生产力应用