项目简介
这是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在让AI助手(如Claude)能够通过调用工具,在Google日历中创建和管理日程事件。
主要功能点
- 创建带有标题、描述、开始时间和结束时间的日历事件。
- 支持添加事件参与者。
- 使用 OAuth2 认证访问 Google Calendar API。
- 实现了完整的 MCP 协议,可以通过 MCP 客户端进行交互。
安装步骤
- 克隆仓库:
git clone https://github.com/MCP-Mirror/markelaugust74_mcp-google-calendar.git cd markelaugust74_mcp-google-calendar - 安装依赖:
npm install - 配置环境变量:
- 复制 '.env.example' 文件为 '.env'。
- 在 '.env' 文件中填入你的 Google OAuth2 客户端 ID ('GOOGLE_CLIENT_ID') 和客户端密钥 ('GOOGLE_CLIENT_SECRET')。 你需要先在Google Cloud Console中创建一个项目并启用 Calendar API,然后创建 OAuth 2.0 客户端 ID。
- 获取 Refresh Token:
- 运行 'npm run auth'。
- 按照终端提示访问链接并进行Google账号授权。
- 复制授权码并粘贴到终端,等待脚本输出 Refresh Token。
- 更新 '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' 文件作为服务器的入口文件。
基本使用方法
- 启动服务器:在仓库目录下运行 'npm start' 命令。
- 使用 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。
信息
分类
生产力应用