项目简介

这是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在让AI助手(如Claude)能够通过调用工具,在Google日历中创建和管理日程事件。

主要功能点

  • 创建带有标题、描述、开始时间和结束时间的日历事件。
  • 支持添加事件参与者。
  • 使用 OAuth2 认证访问 Google Calendar API。
  • 实现了完整的 MCP 协议,可以通过 MCP 客户端进行交互。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/MCP-Mirror/markelaugust74_mcp-google-calendar.git
    cd markelaugust74_mcp-google-calendar
  2. 安装依赖:
    npm install
  3. 配置环境变量:
    • 复制 '.env.example' 文件为 '.env'。
    • 在 '.env' 文件中填入你的 Google OAuth2 客户端 ID ('GOOGLE_CLIENT_ID') 和客户端密钥 ('GOOGLE_CLIENT_SECRET')。 你需要先在Google Cloud Console中创建一个项目并启用 Calendar API,然后创建 OAuth 2.0 客户端 ID。
  4. 获取 Refresh Token:
    • 运行 'npm run auth'。
    • 按照终端提示访问链接并进行Google账号授权。
    • 复制授权码并粘贴到终端,等待脚本输出 Refresh Token。
  5. 更新 'index.js' 文件:
    • 打开 'index.js' 文件。
    • 找到 'oauth2Client.setCredentials' 部分,将其中的 '"YOUR_REFRESH_TOKEN"' 替换为你刚刚获取的 Refresh Token。

服务器配置

以下 JSON 配置信息用于 MCP 客户端连接此服务器:

{
  "serverName": "mcp_calendar",
  "command": "node",
  "args": ["index.js"]
}
  • 'serverName': 服务器名称,必须与 'index.js' 中 'Server' 构造函数的 'name' 字段 '"mcp_calendar"' 一致。
  • 'command': 启动服务器的命令,这里使用 'node' 命令来运行 JavaScript 文件。
  • 'args': 启动命令的参数,这里指定了 'index.js' 文件作为服务器的入口文件。

基本使用方法

  1. 启动服务器:在仓库目录下运行 'npm start' 命令。
  2. 使用 MCP 客户端:
    • 配置 MCP 客户端,添加上述服务器配置信息以连接到该服务器。
    • 客户端连接成功后,可以调用 'listTools' 方法获取服务器提供的工具列表。你应该能看到名为 'create_event' 的工具。
    • 使用 'callTool' 方法调用 'create_event' 工具来创建日历事件。'create_event' 工具接受以下参数:
      • 'summary' (string, 必填): 事件标题。
      • 'start_time' (string, 必填): 事件开始时间,ISO 格式,例如 '2024-07-20T10:00:00-04:00'。
      • 'end_time' (string, 必填): 事件结束时间,ISO 格式,例如 '2024-07-20T11:00:00-04:00'。
      • 'description' (string, 可选): 事件描述。
      • 'attendees' (array of string, 可选): 参与者邮箱列表。
    • 客户端会发送 JSON-RPC 请求到服务器,服务器调用 Google Calendar API 创建事件,并将结果返回给客户端。

注意: 首次运行 'npm start' 前,请务必完成配置环境变量、获取 Refresh Token 并更新 'index.js' 文件中的 Refresh Token。

信息

分类

生产力应用