使用说明
项目简介
Google Calendar MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它为 AI 助手和应用程序提供了一种标准化的方式来访问和操作用户的 Google 日历数据。通过此服务器,AI 应用可以方便地集成日历功能,例如日程查询、事件创建、提醒设置等。
主要功能点
- 全面的日历操作:支持 Google 日历事件的创建、读取、更新和删除 (CRUD) 操作。
- 循环事件支持:可以处理和管理循环发生的日历事件及其例外情况。
- 批量操作:允许在一个请求中执行多个日历操作,提高效率。
- 事件提醒和通知:支持事件提醒功能,并通过 Webhook 实时通知日历变更。
- 高级搜索和过滤:提供丰富的搜索和过滤选项,方便查找特定事件。
- Webhook 集成:通过 Webhook 技术,实时推送日历更新通知到指定地址。
- 数据持久化:使用数据库持久化存储用户授权令牌和 Webhook 配置信息,确保服务稳定运行。
安装步骤
-
创建 Google Cloud 项目并启用 Google Calendar API
- 访问 Google Cloud Console 并创建一个新的项目。
- 在项目中启用 Google Calendar API。
- 创建 OAuth 2.0 凭据,获取 Client ID 和 Client Secret,并配置 OAuth 同意屏幕。
-
安装依赖 在项目根目录下,运行以下命令安装所需的 Node.js 依赖包:
npm install -
配置环境变量 复制 '.env.example' 文件并重命名为 '.env',然后根据步骤1中获取的 Google API 凭据,修改以下环境变量:
GOOGLE_CLIENT_ID=你的_Client_ID GOOGLE_CLIENT_SECRET=你的_Client_Secret GOOGLE_REDIRECT_URI=http://localhost:3000/auth/google/callback -
启动服务器 运行以下命令启动 MCP 服务器:
npm start服务器默认会在 'http://localhost:3000' 启动。
-
授权应用 在浏览器中打开 'http://localhost:3000',按照页面提示使用 Google 账户完成授权。首次授权后,服务器会保存访问令牌,后续使用无需再次手动授权。
服务器配置
MCP 客户端需要配置以下 JSON 格式信息以连接到此 MCP 服务器。请注意将 'command' 字段中的路径替换为实际的 'start-mcp.sh' 脚本路径。
{ "mcpServers": { "googleCalendar": { "name": "Google Calendar MCP", "version": "1.0.0", "command": "/path/to/your/mcp-google-calendar/start-mcp.sh", "description": "Google Calendar MCP 服务器,用于访问和操作日历数据", "url": "http://localhost:3000", "mcpProtocolVersion": "0.1" } } }
- 'name': MCP 服务器的名称,可以自定义设置,用于在客户端中标识该服务器。
- 'version': MCP 服务器的版本号,表明服务器实现的版本。
- 'command': 重要,MCP 服务器的启动命令。需要指向仓库中 'start-mcp.sh' 脚本的绝对路径。请根据实际脚本存放位置修改 '/path/to/your/mcp-google-calendar/start-mcp.sh'。
- 'description': 对 MCP 服务器的简要描述,说明其功能和用途。
- 'url': MCP 服务器的 URL 地址,客户端通过此地址与服务器建立连接,默认为 'http://localhost:3000'。
- 'mcpProtocolVersion': 声明服务器遵循的 MCP 协议版本。
注意:'args' 字段在此配置中通常不需要额外设置,启动脚本已经包含了服务器运行所需的参数。
基本使用方法
- 启动 MCP 服务器后,客户端(如 Claude)可以通过配置的 'url' 向服务器发送符合 MCP 协议的 JSON-RPC 请求。
- 客户端可以通过访问 '/mcp/definition' 端点获取服务器支持的所有操作 (actions) 及其详细参数定义。
- 具体的 API 请求格式和参数说明,请参考仓库 README.md 文件中的 "MCP Endpoints" 和 "Supported Actions" 部分,以及 "Example Usage" 中的请求示例。
信息
分类
生产力应用