G2n Mcp Gcal Sse

G2n Mcp Gcal Sse

🚀 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)。

📦 安装指南

安装步骤

  1. 克隆仓库
git clone https://github.com/your-repository.git
cd G2N-MCP-GoogleCalendar-SSE-Server
  1. 安装依赖
npm install
  1. 配置环境变量
    • 创建 .env 文件并添加以下内容:
      PORT=3001
      PUBLIC_URL=https://your-domain.com
      GOOGLE_CLIENT_ID=你的谷歌客户端ID
      GOOGLE_CLIENT_SECRET=你的谷歌客户端密钥
      
  2. 启动服务器
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
  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-29 05:51

相似服务问题