使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在将 Claude 桌面应用与 Google Calendar 连接起来。通过此服务器,Claude 可以调用工具在您的 Google 日历中创建新的日程事件。

主要功能点

  • 创建 Google 日历事件: 通过 'create_event' 工具,允许 Claude 在您的 Google 日历中创建新的日程事件。
  • OAuth 2.0 认证: 使用 Google OAuth 2.0 进行身份验证,安全访问您的 Google 日历。
  • MCP 协议支持: 基于 '@modelcontextprotocol/sdk' 构建,完全兼容 MCP 协议,能够与 MCP 客户端(如 Claude)进行通信。
  • Stdio 传输: 使用 Stdio 作为传输协议,简化服务器部署和配置。

安装步骤

  1. 克隆仓库
    git clone https://github.com/jkf87/mcp-google-calendar.git
    cd mcp-google-calendar
  2. 安装依赖
    npm install
  3. 配置 Google Cloud 项目
    • 访问 Google Cloud Console 并创建一个新的项目。
    • 在项目中启用 Google Calendar API
    • 创建 OAuth 客户端 ID,应用类型选择“Web 应用”,并将 授权重定向 URI 设置为 'http://localhost:3030/oauth2callback'。
    • 下载或复制客户端 ID 和客户端密钥。
  4. 配置环境变量
    • 在项目根目录下创建 '.env' 文件,并填入以下内容,替换为您在 Google Cloud Console 中获取的客户端 ID 和密钥:
      CLIENT_ID=您的_客户端_ID
      CLIENT_SECRET=您的_客户端_密钥
      REDIRECT_URI=http://localhost:3030/oauth2callback
      PORT=3030
      MCP_SERVER_URL=http://localhost:3030
  5. 获取 Refresh Token
    • 运行 'node auth.js' 命令。
    • 访问终端输出的 URL,完成 Google 授权。
    • 复制重定向 URL 中 'code=' 参数后的值,粘贴回终端并回车。
    • 终端将输出 Refresh Token,请务必复制并妥善保管。
  6. 配置 index.js
    • 打开 'index.js' 文件,找到 'refresh_token: "YOUR_REFRESH_TOKEN_HERE"' 这一行。
    • 将 'YOUR_REFRESH_TOKEN_HERE' 替换为您在上一步获取的 Refresh Token
  7. (可选) 配置时区
    • 如果需要修改日历事件的时区,可以编辑 'index.js' 文件中 'createCalendarEvent' 函数内 'timeZone' 参数,默认为 'Asia/Seoul'。

服务器配置 (MCP 客户端 Claude)

Claude 桌面应用需要配置 MCP 服务器的启动信息才能连接。请根据您的操作系统,编辑 Claude 的配置文件 'claude_desktop_config.json'。

macOS/Linux: '~/Library/Application Support/Claude/claude_desktop_config.json'

{
  "mcpServers": {
    "google-calendar": {
      "command": "bash",
      "args": [
        "-c",
        "cd /绝对/路径/mcp-google-calendar && node index.js"
      ]
    }
  }
}

Windows: '%APPDATA%\Claude\claude_desktop_config.json' (通常为 'C:\Users\用户名\AppData\Roaming\Claude\claude_desktop_config.json')

创建 'run-calendar.bat' 文件在项目目录下:

@echo off
cd /d D:\path\to\mcp-google-calendar
node index.js
{
  "mcpServers": {
    "google-calendar": {
      "command": "D:\\path\\to\\mcp-google-calendar\\run-calendar.bat",
      "args": []
    }
  }
}

配置说明:

  • '"google-calendar"': 服务器名称,在 Claude 中用于标识和调用。
  • '"command"': 启动 MCP 服务器的命令。
    • macOS/Linux: 使用 'bash -c' 执行复合命令,先切换到项目目录,再运行 'node index.js'。请将 '/绝对/路径/mcp-google-calendar' 替换为您的实际项目路径。
    • Windows: 指向 'run-calendar.bat' 批处理文件的路径。请将 'D:\path\to\mcp-google-calendar' 替换为您的实际项目路径,并注意路径中的反斜杠需要转义为双反斜杠。
  • '"args"': 启动命令的参数,本例中无需额外参数,保持为空数组 '[]' 即可。

基本使用方法

  1. 确保 MCP 服务器已成功启动(运行 'node index.js')。
  2. 重启 Claude 桌面应用。
  3. 在 Claude 中,您可以发送指令来创建 Google 日历事件,例如:
    明天下午3点到4点安排一个团队会议到我的日历
    Claude 将通过配置的 MCP 服务器调用 'create_event' 工具,在您的 Google 日历中创建相应的日程事件。

信息

分类

生产力应用