使用说明

项目简介

Google Calendar MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它为 AI 助手和应用程序提供了一种标准化的方式来访问和操作用户的 Google 日历数据。通过此服务器,AI 应用可以方便地集成日历功能,例如日程查询、事件创建、提醒设置等。

主要功能点

  • 全面的日历操作:支持 Google 日历事件的创建、读取、更新和删除 (CRUD) 操作。
  • 循环事件支持:可以处理和管理循环发生的日历事件及其例外情况。
  • 批量操作:允许在一个请求中执行多个日历操作,提高效率。
  • 事件提醒和通知:支持事件提醒功能,并通过 Webhook 实时通知日历变更。
  • 高级搜索和过滤:提供丰富的搜索和过滤选项,方便查找特定事件。
  • Webhook 集成:通过 Webhook 技术,实时推送日历更新通知到指定地址。
  • 数据持久化:使用数据库持久化存储用户授权令牌和 Webhook 配置信息,确保服务稳定运行。

安装步骤

  1. 创建 Google Cloud 项目并启用 Google Calendar API

    • 访问 Google Cloud Console 并创建一个新的项目。
    • 在项目中启用 Google Calendar API。
    • 创建 OAuth 2.0 凭据,获取 Client ID 和 Client Secret,并配置 OAuth 同意屏幕。
  2. 安装依赖 在项目根目录下,运行以下命令安装所需的 Node.js 依赖包:

    npm install
  3. 配置环境变量 复制 '.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
  4. 启动服务器 运行以下命令启动 MCP 服务器:

    npm start

    服务器默认会在 'http://localhost:3000' 启动。

  5. 授权应用 在浏览器中打开 '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" 中的请求示例。

信息

分类

生产力应用