article
README
🚀 G2N MCP 谷歌日历 SSE 服务器
G2N MCP 谷歌日历 SSE 服务器基于 Model Context Protocol (MCP) 实现,借助 Server-Sent Events (SSE) 达成与谷歌日历的集成。它将谷歌日历功能作为工具提供给 AI 模型以及 Cursor、Claude 和 n8n 等应用程序,方便它们与谷歌日历进行交互,提升工作效率。
🌍 此 README 支持多种语言:
- 🇺🇸 English
- 🇧🇷 Portuguese
🚀 快速开始
G2N MCP 谷歌日历 SSE 服务器是一款实用的工具,能让你的应用程序轻松与谷歌日历进行交互。在使用前,你需要完成一些准备工作。
先决条件
- 安装 Docker 和 Docker Compose。
- 在谷歌云项目中启用日历 API。
- 获取谷歌 OAuth 2.0 客户端 ID 和客户端密钥。
环境变量
服务器使用的环境变量如下:
PORT=3001 # 服务器端口(默认:3001)
PUBLIC_URL=https://your-domain.com # 公共 URL,用于 OAuth 回调
GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID} # 谷歌 OAuth 客户端 ID
GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET} # 谷歌 OAuth 客户端密钥
OAUTH_REDIRECT_PATH=/oauth/callback # OAuth 回调路径(默认:/oauth/callback)
⚠️ 重要提示
- 使用 Traefik 时,请确保配置其指向
PORT环境变量指定的端口。- 这对于成功接收谷歌刷新令牌至关重要。
PUBLIC_URL必须可以上网,以使 OAuth 回调正常工作。
语言支持
默认支持两种语言:
- 中文 (zh-CN)
- 英文 (en-US)
✨ 主要特性
此服务器为谷歌日历管理提供了丰富的 MCP 工具:
list-calendars:列出所有可用的日历。get-calendar:获取特定日历的详细信息。list-events:按过滤选项从日历中列出事件。get-event:获取特定事件的详细信息。create-event:创建新的日历事件。update-event:更新现有日历事件。delete-event:删除日历事件。list-colors:列出事件和日历可用的颜色。
v1.1.0 新增功能
- 全面的日志系统,支持配置日志级别。
- 请求/响应日志中间件以实现更好的监控。
- SSE 心跳机制以保持连接稳定。
- 增强的错误处理和调试能力。
- 改进的 Docker 配置,带有适当的数据目录权限。
- 增强的 OAuth 流程和更优的令牌管理。
- 代码重构以提高维护性。
v1.0.1 新增功能
- 第一个稳定版本发布。
- 生产就绪,支持 Docker 和 Docker Swarm 部署。
- 改进的环境变量配置。
- 提升不同部署场景下的连接 URL 性能。
- 更好的 n8n 集成文档。
- Traefik 配置指南。
- 多平台 Docker 映像(amd64、arm64、arm/v7)。
📦 安装指南
安装步骤
- 克隆仓库
git clone https://github.com/your-repository.git
cd G2N-MCP-GoogleCalendar-SSE-Server
- 安装依赖
npm install
- 配置环境变量
- 创建
.env文件并添加以下内容:PORT=3001 PUBLIC_URL=https://your-domain.com GOOGLE_CLIENT_ID=你的谷歌客户端ID GOOGLE_CLIENT_SECRET=你的谷歌客户端密钥
- 创建
- 启动服务器
npm start
💻 使用示例
基础用法
启动服务器后,可以通过以下端点访问服务:
GET /api/list-calendars:列出所有日历。GET /api/get-calendar?calendarId=your_calendar_id:获取特定日历的详细信息。GET /api/list-events?calendarId=your_calendar_id:按过滤选项列出事件。
示例请求
curl http://localhost:3001/api/list-calendars
📄 许可证
此项目根据 MIT License 发布,详情请参见 LICENSE 文件。
关于 G2NTech
此项目由 Gabriel Augusto 在 G2NTech 开发和维护。
支持项目 💜
如果你发现该项目对你有帮助,请考虑通过PIX支持我们:
- PIX Key:
gabriel@g2ngroup.com
扫码联系在线客服