使用说明
项目简介
本项目是一个基于 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 作为传输协议,简化服务器部署和配置。
安装步骤
- 克隆仓库
git clone https://github.com/jkf87/mcp-google-calendar.git cd mcp-google-calendar - 安装依赖
npm install - 配置 Google Cloud 项目
- 访问 Google Cloud Console 并创建一个新的项目。
- 在项目中启用 Google Calendar API。
- 创建 OAuth 客户端 ID,应用类型选择“Web 应用”,并将 授权重定向 URI 设置为 'http://localhost:3030/oauth2callback'。
- 下载或复制客户端 ID 和客户端密钥。
- 配置环境变量
- 在项目根目录下创建 '.env' 文件,并填入以下内容,替换为您在 Google Cloud Console 中获取的客户端 ID 和密钥:
CLIENT_ID=您的_客户端_ID CLIENT_SECRET=您的_客户端_密钥 REDIRECT_URI=http://localhost:3030/oauth2callback PORT=3030 MCP_SERVER_URL=http://localhost:3030
- 在项目根目录下创建 '.env' 文件,并填入以下内容,替换为您在 Google Cloud Console 中获取的客户端 ID 和密钥:
- 获取 Refresh Token
- 运行 'node auth.js' 命令。
- 访问终端输出的 URL,完成 Google 授权。
- 复制重定向 URL 中 'code=' 参数后的值,粘贴回终端并回车。
- 终端将输出 Refresh Token,请务必复制并妥善保管。
- 配置 index.js
- 打开 'index.js' 文件,找到 'refresh_token: "YOUR_REFRESH_TOKEN_HERE"' 这一行。
- 将 'YOUR_REFRESH_TOKEN_HERE' 替换为您在上一步获取的 Refresh Token。
- (可选) 配置时区
- 如果需要修改日历事件的时区,可以编辑 '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"': 启动命令的参数,本例中无需额外参数,保持为空数组 '[]' 即可。
基本使用方法
- 确保 MCP 服务器已成功启动(运行 'node index.js')。
- 重启 Claude 桌面应用。
- 在 Claude 中,您可以发送指令来创建 Google 日历事件,例如:
Claude 将通过配置的 MCP 服务器调用 'create_event' 工具,在您的 Google 日历中创建相应的日程事件。明天下午3点到4点安排一个团队会议到我的日历
信息
分类
生产力应用