使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 应用提供与 Google 日历集成的能力。通过此服务器,LLM 可以创建、管理 Google 日历事件,从而扩展 LLM 在日程管理和自动化方面的应用场景。

主要功能点

  • 创建日历事件: 支持创建包含标题、描述、开始/结束时间、地点、参与者和提醒设置的 Google 日历事件。
  • OAuth2 认证: 使用 OAuth2 协议安全地访问 Google Calendar API。
  • MCP 协议: 完整实现了 MCP 协议,可以与任何兼容 MCP 协议的 LLM 客户端进行通信。
  • 详细日志: 提供详细的调试日志,方便问题排查和功能验证。

安装步骤

  1. 安装 Node.js: 确保已安装 Node.js v18 或更高版本。
  2. 配置 Google Cloud 项目:
    • 在 Google Cloud Console 中创建一个项目。
    • 启用 Google Calendar API。
    • 创建 OAuth2 客户端 ID 和客户端密钥,并下载 JSON 配置文件。
  3. 获取 OAuth2 凭据: 您需要配置 OAuth2 凭据,包括客户端 ID、客户端密钥和刷新令牌。 刷新令牌需要您先使用客户端ID和密钥进行OAuth授权流程获取。
  4. 安装依赖: 无需手动安装,服务器将作为 MCP 客户端的子进程启动,客户端会自动处理依赖安装。

服务器配置

MCP 客户端需要配置服务器的启动命令才能连接到 Google 日历 MCP 服务器。以下是一个示例 'claude_desktop_config.json' 配置,适用于 Claude 等 LLM 客户端。您需要根据实际情况替换占位符。

{
  "mcpServers": {
    "gcalendar": {
      "command": "npx",
      "args": [
        "-y",
        "@tobedoit/google-calendar-mcp"
      ],
      "env": {
        "GOOGLE_CLIENT_ID": "您的 Google 客户端 ID",  //  请替换为您的 Google Cloud 项目的客户端 ID
        "GOOGLE_CLIENT_SECRET": "您的 Google 客户端密钥", // 请替换为您的 Google Cloud 项目的客户端密钥
        "GOOGLE_REFRESH_TOKEN": "您的 Google 刷新令牌"   //  请替换为您通过 OAuth 授权流程获取的刷新令牌
      }
    }
  }
}

配置参数说明:

  • 'server name': 服务器名称,例如 "gcalendar",客户端通过此名称引用服务器。
  • 'command': 启动服务器的命令,这里使用 'npx' 直接运行 npm 包。
  • 'args': 传递给 'command' 的参数,'-y' 表示自动确认安装 npm 包 '@tobedoit/google-calendar-mcp'。
  • 'env': 环境变量配置,用于向服务器传递必要的凭据信息:
    • 'GOOGLE_CLIENT_ID': 您的 Google Cloud 项目的客户端 ID。
    • 'GOOGLE_CLIENT_SECRET': 您的 Google Cloud 项目的客户端密钥。
    • 'GOOGLE_REFRESH_TOKEN': 通过 OAuth 授权流程获取的刷新令牌。

注意: 请务必将 'GOOGLE_CLIENT_ID', 'GOOGLE_CLIENT_SECRET', 和 'GOOGLE_REFRESH_TOKEN' 替换为您的实际凭据。 刷新令牌的获取过程较为复杂,通常需要通过 OAuth 授权流程手动获取一次。

基本使用方法

配置完成后,LLM 客户端 (如 Claude) 即可通过 MCP 协议与此服务器通信。LLM 可以调用服务器提供的 'create_event' 工具来创建 Google 日历事件。 具体的工具调用方式取决于 LLM 客户端的实现,通常 LLM 会根据工具的描述和参数要求,生成相应的请求并发送给 MCP 服务器。

例如,用户可以指示 LLM "明天上午十点安排一个与团队讨论项目进展的会议,地点在会议室A,邀请同事张三和李四参加"。 LLM 客户端解析用户指令后,可以调用 'create_event' 工具,并传递会议主题、时间、地点、参与者等参数给 Google 日历 MCP 服务器,服务器将会在用户的 Google 日历上创建相应的事件。

信息

分类

生产力应用