项目简介
MCP Google Calendar Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 Claude 等 AI 助手提供与 Google 日历集成的能力。通过此服务器,AI 助手可以理解用户的自然语言指令,并安全、便捷地访问和操作用户的 Google 日历,实现日程管理自动化。
主要功能点
- 查看日历事件: 查询未来、今天、本周、本月的日历事件,或根据关键词、时间范围搜索事件。
- 创建日历事件: 根据自然语言指令创建新的日历事件,包括设置时间、地点、参与者等详细信息。
- 更新日历事件: 修改已有的日历事件,例如更改时间、地点、描述等。
- 删除日历事件: 删除不再需要的日历事件。
- 查询空闲时间: 查询指定时间段内的空闲时间,方便用户安排会议或活动。
- 列出可用日历: 获取用户 Google 账户中所有可用的日历列表。
安装步骤
- 安装 Node.js 和 npm: 确保您的系统已安装 Node.js (>= 16.x) 和 npm。
- 全局安装 MCP Google Calendar Server: 打开终端,运行以下命令进行全局安装:
npm install -g @takumi0706/mcp-google-calendar
服务器配置
为了让 MCP 客户端(如 Claude Desktop)连接到 MCP Google Calendar Server,您需要在客户端的配置文件中添加服务器配置信息。以下是 Claude Desktop 的配置示例,通常位于 '~/.config/claude-desktop/config.json':
{ "mcpServers": { "googleCalendar": { // 服务器名称,可以自定义 "command": "node", // 启动服务器的命令,这里使用 node "args": [ // 命令参数 "-e", // 执行 JavaScript 代码 "require('child_process').spawn('node', [require.resolve('@takumi0706/mcp-google-calendar/claude_desktop_launcher.js')], {stdio: 'inherit', env: process.env}).on('exit', (code) => process.exit(code || 0));" // 启动 MCP Google Calendar Server 的 JavaScript 代码,无需修改 ], "env": { // 环境变量 "GOOGLE_CLIENT_ID": "<YOUR_CLIENT_ID>", // 替换为您的 Google Cloud 项目的客户端 ID "GOOGLE_CLIENT_SECRET": "<YOUR_CLIENT_SECRET>", // 替换为您的 Google Cloud 项目的客户端密钥 "MCP_PORT": "3000" // MCP 服务器端口,默认为 3000,可以根据需要修改 } } } }
配置 Google API 凭据:
- 创建 Google Cloud 项目并启用 Google Calendar API:访问 Google Cloud Console,创建一个新的项目,并在项目中启用 Google Calendar API。
- 创建 OAuth 2.0 客户端 ID:在 Google Cloud Console 中,为您的项目创建 OAuth 2.0 客户端 ID。选择“Web 应用程序”类型,并设置授权重定向 URI 为 'http://localhost:3000/oauth2callback' (如果使用默认端口)。下载客户端凭据 JSON 文件,并从中获取 'GOOGLE_CLIENT_ID' 和 'GOOGLE_CLIENT_SECRET' 填入上述 'config.json' 配置文件中。
配置环境变量:
您也可以选择将 'GOOGLE_CLIENT_ID'、'GOOGLE_CLIENT_SECRET' 和 'MCP_PORT' 等配置信息设置为系统环境变量,或者创建 '.env' 文件进行配置。
基本使用方法
- 启动 MCP 服务器: MCP 服务器通常会在您启动 MCP 客户端(如 Claude Desktop)时自动启动。您也可以手动运行安装目录下的启动命令来启动服务器。
- 连接到 MCP 客户端: 配置完成后,MCP 客户端应该能够自动检测并连接到 MCP Google Calendar Server。
- 通过 MCP 客户端与 Google 日历互动: 使用 MCP 客户端提供的界面或自然语言指令,即可开始与您的 Google 日历进行互动,例如:
- 在 Claude 中提问:“今天有什么日程?”
- 指示 Claude:“明天下午 3 点安排一个与 John 的 1 小时会议”
首次运行时,服务器会自动打开浏览器进行 OAuth 授权,请按照提示完成授权流程。授权成功后,您就可以通过 MCP 客户端管理您的 Google 日历了。
信息
分类
生产力应用